MCTP over PCI on AST2500
andrew at aj.id.au
Mon Jan 13 10:38:09 AEDT 2020
On Sat, 11 Jan 2020, at 02:08, Michael Richardson wrote:
> Andrew Jeffery <andrew at aj.id.au> wrote:
> > The distro feature is opt-in as it has impacts beyond simply
> disabling the backdoors
> > (there are some unfortunate side-effects to enforcing
> confidentiality of the BMC's
> > address space.
> okay, so the bridge gets turned off, and it has some other effects.
> What are the side effects? I'm guessing by the inclusion of the VGA defines
> in that board init that they are video related.
We have a slightly more detailed description here:
With respect to PCIe, disabling the P2A causes the host kernel to fail probing
the AST DRM driver on kernels before 4.12 (from memory). This impacts
POWER more than other host architectures due to invalid accesses triggering
With respect to LPC, the issue is largely that the bit in the LPC controller to
disable the iLPC2AHB bridge only disables write access, the host can still
continue to issues arbitrary reads of the BMC address space. To prevent
arbitrary reads the BMC must disable the entire SuperIO controller, which
knocks out the ability to configure UARTs, GPIOs, and the LPC mailbox
among other functionality. On some platforms disabling SuperIO is feasible
(POWER based), but others may require some of this functionality be
> I can see that doing this in uboot is the earliest possible;
It's actually possible to disable the backdoors before the first instruction is
run on the ARM core with the firmware strapping feature, but it's likely the
result becomes platform-specific and integrating the configuration
into the flash image can be a bit fiddly (you could implement it with a
custom u-boot linker script).
> but in most
> cases the main CPU has no power until the BMC boots, so it can't attack until
> the BMC is running. Are there some situations in which the BMC (or the P2A
> bridge) could get reset without the host CPU also being reset?
See the discussion of the watchdog reset modes in the link above.
More information about the openbmc