On Thu, May 27, 2021 at 10:52:27AM +0200, Gerd Hoffmann wrote: > 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 adds an config option for BUILD_MIN_BIOSTABLE so the size of > the reservation can be configured at build time. Default is 8k for bios > images being 256k or larger in size (32bit code is moved off then so we > have more room in the f-segment), 2k (current value) otherwise.
I'm not sure it is a good idea to make this a user configurable value. I'm concerned that it's too easy to set it to a value that breaks things. Is there any harm in setting it to 8K unconditionally? > > Signed-off-by: Gerd Hoffmann <kra...@redhat.com> > --- > Makefile | 2 +- > scripts/layoutrom.py | 3 ++- > src/Kconfig | 7 +++++++ > 3 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/Makefile b/Makefile > index 3d8943ef5f25..ddcd1dff399d 100644 > --- a/Makefile > +++ b/Makefile > @@ -172,7 +172,7 @@ $(OUT)romlayout16.lds: $(OUT)ccode32flat.o > $(OUT)code32seg.o $(OUT)ccode16.o $(O > $(Q)$(OBJDUMP) -thr $(OUT)code32flat.o > $(OUT)code32flat.o.objdump > $(Q)$(OBJDUMP) -thr $(OUT)code32seg.o > $(OUT)code32seg.o.objdump > $(Q)$(OBJDUMP) -thr $(OUT)code16.o > $(OUT)code16.o.objdump > - $(Q)$(PYTHON) ./scripts/layoutrom.py $(OUT)code16.o.objdump > $(OUT)code32seg.o.objdump $(OUT)code32flat.o.objdump > $(OUT)$(KCONFIG_AUTOHEADER) $(OUT)romlayout16.lds $(OUT)romlayout32seg.lds > $(OUT)romlayout32flat.lds > + $(Q)$(PYTHON) ./scripts/layoutrom.py $(OUT)code16.o.objdump > $(OUT)code32seg.o.objdump $(OUT)code32flat.o.objdump > $(OUT)$(KCONFIG_AUTOHEADER) $(OUT)romlayout16.lds $(OUT)romlayout32seg.lds > $(OUT)romlayout32flat.lds $(CONFIG_MIN_BIOSTABLE) > > # These are actually built by scripts/layoutrom.py above, but by pulling them > # into an extra rule we prevent make -j from spawning layoutrom.py 4 times. > diff --git a/scripts/layoutrom.py b/scripts/layoutrom.py > index 6616721d1b58..94deca9fcc85 100755 > --- a/scripts/layoutrom.py > +++ b/scripts/layoutrom.py > @@ -636,7 +636,8 @@ def scanconfig(file): > > def main(): > # Get output name > - in16, in32seg, in32flat, cfgfile, out16, out32seg, out32flat = > sys.argv[1:] > + in16, in32seg, in32flat, cfgfile, out16, out32seg, out32flat, biostable > = sys.argv[1:] > + BUILD_MIN_BIOSTABLE = biostable * 1024 FYI, the layoutrom.py script reads in the Kconfig file explicitly a few lines down. If we do want to have a setting in Kconfig, I think it should be taken directly from Kconfig instead of passed from the command-line. Cheers, -Kevin > # Read in the objdump information > infile16 = open(in16, 'r') > diff --git a/src/Kconfig b/src/Kconfig > index 3a8ffa15fded..95519fc50fa3 100644 > --- a/src/Kconfig > +++ b/src/Kconfig > @@ -140,6 +140,13 @@ endchoice > it into 128 KB (which was big enouth for a long time) you'll > probably have to disable some featues such as xhci support. > > + config MIN_BIOSTABLE > + int "biostable size (in KB)" > + default 8 if ROM_SIZE >= 256 > + default 2 > + help > + Memory space for BIOS tables in f-segment. > + > endmenu > > menu "Hardware support" > -- > 2.31.1 > > _______________________________________________ > SeaBIOS mailing list -- seabios@seabios.org > To unsubscribe send an email to seabios-le...@seabios.org _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-le...@seabios.org