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]}
--
2.31.1
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org
Dear Gerd,
Am 31.05.21 um 07:55 schrieb Gerd Hoffmann:
Small nit for the commit message summary: Increa*s*e.
> 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.
Do you have an example command how to reproduce this with QEMU?
> 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]}
Rest looks good.
Kind regards,
Paul
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org
On Mon, May 31, 2021 at 08:02:52AM +0200, Paul Menzel wrote:
> Dear Gerd,
>
>
> Am 31.05.21 um 07:55 schrieb Gerd Hoffmann:
>
> Small nit for the commit message summary: Increa*s*e.
>
> > 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.
>
> Do you have an example command how to reproduce this with QEMU?
Just create a guest with lots of disks. Easiest is using
virtio-scsi-pci because you can plug tons of disks ("-device scsi-hd")
into a single host adapter then.
take care,
Gerd
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org
© 2016 - 2025 Red Hat, Inc.