[SeaBIOS] [PATCH v4 4/5] acpi: load and link tables through romfile loader

Michael S. Tsirkin mst at redhat.com
Wed Sep 25 11:27:53 CEST 2013


On Wed, Sep 25, 2013 at 10:40:49AM +0200, Gerd Hoffmann wrote:
> On Mi, 2013-09-25 at 11:17 +0300, Michael S. Tsirkin wrote:
> > On Wed, Sep 25, 2013 at 09:52:53AM +0200, Gerd Hoffmann wrote:
> > >   Hi,
> > > 
> > > > I think we want an option to generate small bios
> > > > for QEMU 1.6 and back.
> > > 
> > > Isn't disabling xhci enougth to bring it below 128k?
> > > 
> > > cheers,
> > >   Gerd
> > > 
> > 
> > For now yes, but we'll add more code in the future.
> > So I propose a new flag QEMU_LEGACY that disables all new features
> > automatically.
> > When it's off, this will also let us drop some legacy code thinkably.
> 
> I'd rather deal with that in qemu, i.e. fill the needed stuff into
> roms/config.seabios-128k and roms/config.seabios-256k.  We'll need those
> anyway, and instead of placing CONFIG_QEMU_LEGACY={y,n} there we can
> equally well set the options directly.
> 
> cheers,
>   Gerd
> 

Imagine you have QEMU 1.7. You want to update bios,
so you pull latest source.
Of course roms/config.seabios-128k does not know which
flags to set :(

How about explicit targets?
QEMU_128K, QEMU_256K ...



commit 79dad487c4beb270d4c84f70f085464e90d00466
Author: Michael S. Tsirkin <mst at redhat.com>
Date:   Wed Sep 25 12:18:58 2013 +0300

    Kconfig: add explicit QEMU 128/QEMU 256 targets
    
    Older QEMU versions need a small bios <128K, and don't
    need lots of modern features (no hardware for them).
    Add an option you can use for that, so that
    QEMU developers don't need to go hunting:
    what's required and what's not.
    
    Signed-off-by: Michael S. Tsirkin <mst at redhat.com>

diff --git a/src/Kconfig b/src/Kconfig
index 07b2e6f..5980512 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -6,18 +6,32 @@ menu "General Features"
 
 choice
     prompt "Build Target"
-    default QEMU
+    default QEMU_256K
 
     config COREBOOT
         bool "Build for coreboot"
         help
             Configure as a coreboot payload.
 
-    config QEMU
-        bool "Build for QEMU/Xen/KVM/Bochs"
+    config QEMU_128K
+        bool "Build 128K binary for legacy QEMU/Xen/KVM/Bochs"
+        select QEMU
+        select QEMU_HARDWARE
+        help
+            Configure for an emulated machine (QEMU, Xen, KVM, or Bochs).
+            Select this option to generate smaller BIOS, disabling
+            some features to fit within 128Kbyte memory buffer used
+            by QEMU 1.6 and earlier.
+
+    config QEMU_256K
+        bool "Build 256K binary for QEMU/Xen/KVM/Bochs"
+        select QEMU
         select QEMU_HARDWARE
         help
             Configure for an emulated machine (QEMU, Xen, KVM, or Bochs).
+            Select this option to generate a bigger (up to 256Kbyte), more
+            full-featured BIOS, enabling more features useful for QEMU 1.7 and
+            newer.
 
     config CSM
        bool "Build as Compatibilty Support Module for EFI BIOS"
@@ -27,6 +41,10 @@ choice
 
 endchoice
 
+    config QEMU
+        bool
+        default n
+
     config QEMU_HARDWARE
         bool "Support hardware found on emulators (QEMU/Xen/KVM/Bochs)" if !QEMU
         default n



More information about the SeaBIOS mailing list