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 | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/scripts/layoutrom.py b/scripts/layoutrom.py index 6616721d1b58..abebf0211fa9 100755 --- a/scripts/layoutrom.py +++ b/scripts/layoutrom.py @@ -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]}