[SeaBIOS] [PATCH v3] Increate BUILD_MIN_BIOSTABLE for large roms

Gerd Hoffmann posted 1 patch 3 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/seabios tags/patchew/20210531055528.2607485-1-kraxel@redhat.com
scripts/layoutrom.py | 4 ++++
1 file changed, 4 insertions(+)

[SeaBIOS] [PATCH v3] Increate BUILD_MIN_BIOSTABLE for large roms

Posted by Gerd Hoffmann 3 months, 3 weeks ago
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

[SeaBIOS] Re: [PATCH v3] Increate BUILD_MIN_BIOSTABLE for large roms

Posted by Paul Menzel 3 months, 3 weeks ago
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

[SeaBIOS] Re: [PATCH v3] Increate BUILD_MIN_BIOSTABLE for large roms

Posted by Gerd Hoffmann 3 months, 3 weeks ago
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