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); }
tom 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 and 11 won't see it, though I didn't test 11, It would most likely do it since all Linux versions I tried did the same.
Signed-off-by: Christopher Lentocha christopherericlentocha@gmail.com --- src/boot.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/src/boot.c b/src/boot.c index 1effd80..0844268 100644 --- a/src/boot.c +++ b/src/boot.c @@ -871,6 +871,18 @@ 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 + // and 11 won't see it, though I didn't test 11, It would most + // likely do it since all Linux versions I tried did the same. + 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); }
Hi Christopher,
christopherericlentocha@gmail.com wrote:
tom 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 and 11 won't see it, though I didn't test 11, It would most likely do it since all Linux versions I tried did the same.
I'm merely a community member here but neither your commit message nor the comments you add to source files explain to me what is being done and why - only what the outcome is and that actually this problem is much larger than your patch addresses and that your patch is only applicable in certain circumstances (and harmful in others?).
That will likely not be accepted into the codebase.
It's completely okay to post the patch on this list anyway.
But if you want the problem you experience to actually be fixed correctly/thoroughly then I think this issue needs much more work.
Is that your ambition?
Thanks and kind regards
//Peter
Agreed, this patch makes no sense at all.
If someone is building from my coreboot tree, then they can simply revert the patch there which was made to accommodate edk2 payload, and no change is needed to SeaBIOS.
On Tue, Feb 14, 2023 at 5:14 AM Peter Stuge peter@stuge.se wrote:
Hi Christopher,
christopherericlentocha@gmail.com wrote:
tom 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 and 11 won't see it, though I didn't test 11, It would most likely do it since all Linux versions I tried did the same.
I'm merely a community member here but neither your commit message nor the comments you add to source files explain to me what is being done and why - only what the outcome is and that actually this problem is much larger than your patch addresses and that your patch is only applicable in certain circumstances (and harmful in others?).
That will likely not be accepted into the codebase.
It's completely okay to post the patch on this list anyway.
But if you want the problem you experience to actually be fixed correctly/thoroughly then I think this issue needs much more work.
Is that your ambition?
Thanks and kind regards
//Peter _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org
DO NOT MERGE
Reason: This is more of a dirty "hack" than anything else that even he said he needs to fix it in EDK2. He also said you can put this patch under payloads/external/SeaBIOS/patches/x.patch in his coreboot repo, since we both want to still use latest repos as much as we can, we can just do this instead. Plus, all the needed seabios patches for chromebooks only should go there anyways.
On Sun, Feb 12, 2023 at 10:28 PM christopherericlentocha@gmail.com wrote:
tom 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 and 11 won't see it, though I didn't test 11, It would most likely do it since all Linux versions I tried did the same.
Signed-off-by: Christopher Lentocha christopherericlentocha@gmail.com
src/boot.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/src/boot.c b/src/boot.c index 1effd80..0844268 100644 --- a/src/boot.c +++ b/src/boot.c @@ -871,6 +871,18 @@ 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
- // and 11 won't see it, though I didn't test 11, It would most
- // likely do it since all Linux versions I tried did the same.
- 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); }
-- 2.35.1
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); }