[SeaBIOS] [PATCH] Fix Bay Trail Chromebook Bootup

Christopher Lentocha posted 1 patch 1 year, 3 months ago
Failed in applying to current master (apply log)
src/boot.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
[SeaBIOS] [PATCH] Fix Bay Trail Chromebook Bootup
Posted by Christopher Lentocha 1 year, 3 months ago

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);
}

-- 
2.35.1


_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org
[SeaBIOS] Re: [PATCH] Fix Bay Trail Chromebook Bootup on MrChromebox's Cus...
Posted by christopherericlentocha@gmail.com 1 year, 2 months ago

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);
> }
>
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org
[SeaBIOS] Re: [PATCH] Fix Bay Trail Chromebook Bootup on MrChromebox's Cus...
Posted by ChrisEric1 CECL 1 year, 2 months ago
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);
> > }
> >
>
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org
[SeaBIOS] Re: [PATCH] Fix Bay Trail Chromebook Bootup on MrChromebox's Cus...
Posted by Peter Stuge 1 year, 2 months ago
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
[SeaBIOS] Re: [PATCH] Fix Bay Trail Chromebook Bootup on MrChromebox's Cus...
Posted by Matt DeVillier 1 year, 2 months ago
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
>
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org