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@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