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@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@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