on MrChromebox's Custom Firmware
while using the SeaBios payload
with MrChromebox's SMM variable in coreboot.
This is required even if we are booting off of a USB,
since it will give MMC errors in Linux and Windows 10
won't see it.
See comments and code in ./src/boot.c for more information.
Signed-off-by: Christopher Lentocha christopherericlentocha@gmail.com --- src/boot.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/src/boot.c b/src/boot.c index 1effd80..8433f51 100644 --- a/src/boot.c +++ b/src/boot.c @@ -871,6 +871,21 @@ call_boot_entry(struct segoff_s bootsegip, u8 bootdrv) // Set the magic number in ax and the boot drive in dl. br.dl = bootdrv; br.ax = 0xaa55; + // Fix Bay Trail Chromebook Bootup + // on MrChromebox's Custom Firmware + // while using the SeaBios payload + // with MrChromebox's SMM variable in coreboot. + // This is required even if we are booting off of a USB, + // since it will give MMC errors in Linux and Windows 10 + // won't see it. + outb(0xcd, 0xb2); + // Don't Add the line above this comment to CBFS booting, + // because EDK2 as 2nd payload breaks, + // since its already being applied there too, + // and we should expect all CBFS payloads in ROM to do + // what we are doing here. + // The same bug is also in EDK2, so this line would need to be + // added in a similar way for EDK2 code. farcall16(&br); }