[SeaBIOS] [Qemu-devel] [PATCH] seabios: correct setting of datalow_base for large rom images
Jason Baron
jbaron at redhat.com
Thu Jun 7 15:46:43 CEST 2012
On Tue, Jun 05, 2012 at 08:09:21PM -0400, Kevin O'Connor wrote:
> On Tue, Jun 05, 2012 at 12:09:18PM -0400, Jason Baron wrote:
> > I've been creating 256kb rom images with larger acpi tables for second level
> > buses. After a recent re-base, my rom images no longer built. Bisected to:
> >
> > commit 46b82624c95b951e8825fab117d9352faeae0ec8
> > Author: Kevin O'Connor <kevin at koconnor.net>
> > Date: Sun May 13 12:10:30 2012 -0400
> >
> > Add mechanism to declare variables as "low mem" and use for extra stack.
> >
> >
> > Where sec32low_top is greater than datalow_base. Currently, datalow_base is
> > calculated by subtracting a 64kb offset. Updating it to 128kb, resolved this
> > issue for me, while still continuing to create smaller rom images as expected.
>
> Thanks. The problem causing the build to fail is that negative
> numbers aren't encoded properly. That's easy to fix, but it quickly
> uncovers a problem with relocations. Some of the 16bit code has 16bit
> relocations and those wont be handled right if the integer wraps. I
> put together a fix (see below) but it's a bit ugly.
>
ok, yes I can confirm that the patch fixes this issue for me.
Thanks,
-Jason
More information about the SeaBIOS
mailing list