]> xenbits.xensource.com Git - osstest/seabios.git/commitdiff
Increase BUILD_MIN_BIOSTABLE for large roms
authorGerd Hoffmann <kraxel@redhat.com>
Fri, 16 Apr 2021 06:57:02 +0000 (08:57 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Fri, 4 Jun 2021 06:05:08 +0000 (08:05 +0200)
BUILD_MIN_BIOSTABLE reserves space in the f-segment.  Some data
structures -- for example disk drives known to seabios -- must be
stored there, so the space available here limits the number of
devices seabios is able to manage.

This patch sets BUILD_MIN_BIOSTABLE to 8k for bios images being 256k or
larger in size.  32bit code is moved off in that case, so we have more
room in the f-segment then.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
scripts/layoutrom.py

index 6616721d1b584892074491b292bac669c33ef104..abebf0211fa9627cec31cce76b8d55e688445b45 100755 (executable)
@@ -651,6 +651,10 @@ def main():
     # Read kconfig config file
     config = scanconfig(cfgfile)
 
+    # larger roms have more room in the f-segment due to moving out 32bit code
+    if config.get('CONFIG_ROM_SIZE') >= 256:
+        BUILD_MIN_BIOSTABLE = 8192
+
     # Figure out which sections to keep.
     allsections = info16[0] + info32seg[0] + info32flat[0]
     symbols = {'16': info16[1], '32seg': info32seg[1], '32flat': info32flat[1]}