qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] seabios: correct setting of datalow_base for large


From: Jason Baron
Subject: [Qemu-devel] [PATCH] seabios: correct setting of datalow_base for large rom images
Date: Tue, 5 Jun 2012 12:09:18 -0400

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 <address@hidden>
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.

Signed-off-by: Jason Baron <address@hidden>
---
 tools/layoutrom.py |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/layoutrom.py b/tools/layoutrom.py
index 74b410f..01f9bed 100755
--- a/tools/layoutrom.py
+++ b/tools/layoutrom.py
@@ -219,10 +219,10 @@ def doLayout(sections, genreloc):
     li.sections32low = getSectionsCategory(sections, '32low')
     if genreloc:
         sec32low_top = li.sec32init_start
-        datalow_base = min(BUILD_BIOS_ADDR, li.sec32flat_start) - 64*1024
+        datalow_base = min(BUILD_BIOS_ADDR, li.sec32flat_start) - 128*1024
     else:
         sec32low_top = min(BUILD_BIOS_ADDR, li.sec32init_start)
-        datalow_base = sec32low_top - 64*1024
+        datalow_base = sec32low_top - 128*1024
     li.datalow_base = max(BUILD_ROM_START, alignpos(datalow_base, 2*1024))
     li.sec32low_start, li.sec32low_align = setSectionsStart(
         li.sections32low, sec32low_top, 16, segoffset=li.datalow_base)
-- 
1.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]