From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59686) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b1eeW-0001Zo-Ur for qemu-devel@nongnu.org; Sat, 14 May 2016 14:51:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b1eeP-0007bT-Lo for qemu-devel@nongnu.org; Sat, 14 May 2016 14:51:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49667) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b1eeP-0007bI-GV for qemu-devel@nongnu.org; Sat, 14 May 2016 14:50:57 -0400 From: "Richard W.M. Jones" Date: Sat, 14 May 2016 19:50:51 +0100 Message-Id: <1463251851-21675-2-git-send-email-rjones@redhat.com> In-Reply-To: <1463251851-21675-1-git-send-email-rjones@redhat.com> References: <1463251851-21675-1-git-send-email-rjones@redhat.com> Subject: [Qemu-devel] [PATCH v4 REPOST] bios: Add fast variant of SeaBIOS for use with -kernel on x86. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: stefanha@gmail.com, kraxel@redhat.com, pbonzini@redhat.com This commit adds a fast variant of SeaBIOS called 'bios-fast.bin'. It's designed to be the fastest (also the smallest, but that's not the main aim) SeaBIOS that is just enough to boot a Linux kernel using the -kernel option on i686 and x86_64. This commit does not modify the -kernel option to use this. You have to specify it by doing something like this: -kernel vmlinuz -bios bios-fast.bin Signed-off-by: Richard W.M. Jones Acked-by: Stefan Hajnoczi --- Makefile | 3 ++- roms/Makefile | 4 +++- roms/config.seabios-fast | 27 +++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 roms/config.seabios-fast diff --git a/Makefile b/Makefile index 1d076a9..c4e939d 100644 --- a/Makefile +++ b/Makefile @@ -389,7 +389,8 @@ common de-ch es fo fr-ca hu ja mk nl-be pt sl tr \ bepo cz ifdef INSTALL_BLOBS -BLOBS=bios.bin bios-256k.bin sgabios.bin vgabios.bin vgabios-cirrus.bin \ +BLOBS=bios.bin bios-256k.bin bios-fast.bin \ +sgabios.bin vgabios.bin vgabios-cirrus.bin \ vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin vgabios-virtio.bin \ acpi-dsdt.aml \ ppc_rom.bin openbios-sparc32 openbios-sparc64 openbios-ppc QEMU,tcx.bin QEMU,cgthree.bin \ diff --git a/roms/Makefile b/roms/Makefile index 7bd1252..26b0586 100644 --- a/roms/Makefile +++ b/roms/Makefile @@ -61,9 +61,11 @@ default: @echo " slof -- update slof.bin" @echo " u-boot.e500 -- update u-boot.e500" -bios: build-seabios-config-seabios-128k build-seabios-config-seabios-256k +bios: build-seabios-config-seabios-128k build-seabios-config-seabios-256k \ + build-seabios-config-seabios-fast cp seabios/builds/seabios-128k/bios.bin ../pc-bios/bios.bin cp seabios/builds/seabios-256k/bios.bin ../pc-bios/bios-256k.bin + cp seabios/builds/seabios-fast/bios.bin ../pc-bios/bios-fast.bin seavgabios: $(patsubst %,seavgabios-%,$(vgabios_variants)) diff --git a/roms/config.seabios-fast b/roms/config.seabios-fast new file mode 100644 index 0000000..045693e --- /dev/null +++ b/roms/config.seabios-fast @@ -0,0 +1,27 @@ +# The fastest SeaBIOS that can boot Linux using -kernel. +# NB: Since we are using -kernel, we don't need SeaBIOS itself +# to do any boot drive detection, boot ordering, etc. + +# general stuff +CONFIG_QEMU=y +CONFIG_ROM_SIZE=0 +CONFIG_WRITABLE_UPPERMEMORY=y +CONFIG_RELOCATE_INIT=n + +# no input, no boot menu +CONFIG_MOUSE=n +CONFIG_KEYBOARD=n +CONFIG_BOOTMENU=n +CONFIG_BOOTSPLASH=n +CONFIG_BOOTORDER=n + +# hardware support we don't need +CONFIG_LPT=n +CONFIG_SERIAL=n +CONFIG_USB=n +CONFIG_DRIVES=n +CONFIG_TCGBIOS=n +CONFIG_VGAHOOKS=n + +# no logging +CONFIG_DEBUG_LEVEL=0 -- 2.5.5