From ef2039f17d3e2226b8650b4d7692e5f458a37573 Mon Sep 17 00:00:00 2001 From: Anthony Liguori Date: Fri, 10 Jul 2009 11:56:35 -0500 Subject: [PATCH] Regenerate BIOS and add patches for -boot option Signed-off-by: Anthony Liguori --- ...bios-Move-QEMU_CFG-constants-to-rombios.h.patch | 59 ++++++++++++++++++ ...0018-bochs-bios-Make-boot-prompt-optional.patch | 68 +++++++++++++++++++++ pc-bios/bios-pq/series | 2 + pc-bios/bios.bin | Bin 131072 -> 131072 bytes 4 files changed, 129 insertions(+) create mode 100644 pc-bios/bios-pq/0017-bochs-bios-Move-QEMU_CFG-constants-to-rombios.h.patch create mode 100644 pc-bios/bios-pq/0018-bochs-bios-Make-boot-prompt-optional.patch diff --git a/pc-bios/bios-pq/0017-bochs-bios-Move-QEMU_CFG-constants-to-rombios.h.patch b/pc-bios/bios-pq/0017-bochs-bios-Move-QEMU_CFG-constants-to-rombios.h.patch new file mode 100644 index 0000000..f6a1788 --- /dev/null +++ b/pc-bios/bios-pq/0017-bochs-bios-Move-QEMU_CFG-constants-to-rombios.h.patch @@ -0,0 +1,59 @@ +From f371c480cb93f3516f34af5e3a4524ee6ba43c24 Mon Sep 17 00:00:00 2001 +From: Jan Kiszka +Date: Thu, 2 Jul 2009 00:11:38 +0200 +Subject: [PATCH 1/2] bochs-bios: Move QEMU_CFG constants to rombios.h + +We will need them outside of rombios32.c. + +Signed-off-by: Jan Kiszka +Signed-off-by: Anthony Liguori +--- + bios/rombios.h | 10 ++++++++++ + bios/rombios32.c | 10 ---------- + 2 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/bios/rombios.h b/bios/rombios.h +index 6f9cbb1..59ce19d 100644 +--- a/bios/rombios.h ++++ b/bios/rombios.h +@@ -58,6 +58,16 @@ + #define SMB_IO_BASE 0xb100 + #define SMP_MSR_ADDR 0x0510 + ++#define QEMU_CFG_CTL_PORT 0x510 ++#define QEMU_CFG_DATA_PORT 0x511 ++#define QEMU_CFG_SIGNATURE 0x00 ++#define QEMU_CFG_ID 0x01 ++#define QEMU_CFG_UUID 0x02 ++#define QEMU_CFG_NUMA 0x0d ++#define QEMU_CFG_ARCH_LOCAL 0x8000 ++#define QEMU_CFG_ACPI_TABLES (QEMU_CFG_ARCH_LOCAL + 0) ++#define QEMU_CFG_SMBIOS_ENTRIES (QEMU_CFG_ARCH_LOCAL + 1) ++ + // Define the application NAME + #if defined(BX_QEMU) + # define BX_APPNAME "QEMU" +diff --git a/bios/rombios32.c b/bios/rombios32.c +index f861f81..3fe4e48 100644 +--- a/bios/rombios32.c ++++ b/bios/rombios32.c +@@ -468,16 +468,6 @@ void wrmsr_smp(uint32_t index, uint64_t val) + } + + #ifdef BX_QEMU +-#define QEMU_CFG_CTL_PORT 0x510 +-#define QEMU_CFG_DATA_PORT 0x511 +-#define QEMU_CFG_SIGNATURE 0x00 +-#define QEMU_CFG_ID 0x01 +-#define QEMU_CFG_UUID 0x02 +-#define QEMU_CFG_NUMA 0x0D +-#define QEMU_CFG_ARCH_LOCAL 0x8000 +-#define QEMU_CFG_ACPI_TABLES (QEMU_CFG_ARCH_LOCAL + 0) +-#define QEMU_CFG_SMBIOS_ENTRIES (QEMU_CFG_ARCH_LOCAL + 1) +- + int qemu_cfg_port; + + void qemu_cfg_select(int f) +-- +1.6.2.5 + diff --git a/pc-bios/bios-pq/0018-bochs-bios-Make-boot-prompt-optional.patch b/pc-bios/bios-pq/0018-bochs-bios-Make-boot-prompt-optional.patch new file mode 100644 index 0000000..cda9757 --- /dev/null +++ b/pc-bios/bios-pq/0018-bochs-bios-Make-boot-prompt-optional.patch @@ -0,0 +1,68 @@ +From fff8ffe1c92474ee58ebd6da82fede0ab7929214 Mon Sep 17 00:00:00 2001 +From: Jan Kiszka +Date: Thu, 2 Jul 2009 00:11:44 +0200 +Subject: [PATCH 2/2] bochs-bios: Make boot prompt optional + +Check via QEMU's firmware configuration interface if the boot prompt +should be given. This allows to disable the prompt with its several +seconds long delay, speeding up the common boot case. + +Signed-off-by: Jan Kiszka +Signed-off-by: Anthony Liguori +--- + bios/rombios.c | 19 +++++++++++++++++++ + bios/rombios.h | 1 + + 2 files changed, 20 insertions(+), 0 deletions(-) + +diff --git a/bios/rombios.c b/bios/rombios.c +index 0f13b53..560e6d5 100644 +--- a/bios/rombios.c ++++ b/bios/rombios.c +@@ -2015,6 +2015,21 @@ Bit16u i; ipl_entry_t *e; + } + + #if BX_ELTORITO_BOOT ++#ifdef BX_QEMU ++int ++qemu_cfg_probe_bootkey() ++{ ++ outw(QEMU_CFG_CTL_PORT, QEMU_CFG_SIGNATURE); ++ if (inb(QEMU_CFG_DATA_PORT) != 'Q' || ++ inb(QEMU_CFG_DATA_PORT) != 'E' || ++ inb(QEMU_CFG_DATA_PORT) != 'M' || ++ inb(QEMU_CFG_DATA_PORT) != 'U') return 1; ++ ++ outw(QEMU_CFG_CTL_PORT, QEMU_CFG_BOOT_MENU); ++ return inb(QEMU_CFG_DATA_PORT); ++} ++#endif // BX_QEMU ++ + void + interactive_bootkey() + { +@@ -2026,6 +2041,10 @@ interactive_bootkey() + Bit16u ss = get_SS(); + Bit16u valid_choice = 0; + ++#ifdef BX_QEMU ++ if (!qemu_cfg_probe_bootkey()) return; ++#endif ++ + while (check_for_keystroke()) + get_keystroke(); + +diff --git a/bios/rombios.h b/bios/rombios.h +index 59ce19d..8ece2ee 100644 +--- a/bios/rombios.h ++++ b/bios/rombios.h +@@ -64,6 +64,7 @@ + #define QEMU_CFG_ID 0x01 + #define QEMU_CFG_UUID 0x02 + #define QEMU_CFG_NUMA 0x0d ++#define QEMU_CFG_BOOT_MENU 0x0e + #define QEMU_CFG_ARCH_LOCAL 0x8000 + #define QEMU_CFG_ACPI_TABLES (QEMU_CFG_ARCH_LOCAL + 0) + #define QEMU_CFG_SMBIOS_ENTRIES (QEMU_CFG_ARCH_LOCAL + 1) +-- +1.6.2.5 + diff --git a/pc-bios/bios-pq/series b/pc-bios/bios-pq/series index c7c7f67..9e909de 100644 --- a/pc-bios/bios-pq/series +++ b/pc-bios/bios-pq/series @@ -14,3 +14,5 @@ 0014_add-srat-acpi-table-support.patch 0015_enable-power-button-even-generation.patch 0016-use-correct-mask-to-size-pci-option-rom-bar.patch +0017-bochs-bios-Move-QEMU_CFG-constants-to-rombios.h.patch +0018-bochs-bios-Make-boot-prompt-optional.patch diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin index 6c8bc9f6ce04633b5dabff292c07d15c2fb527e7..8c016aa56a3735d0847efc25434fb8ddf3d7b128 100644 GIT binary patch delta 19297 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 delta 19139 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 -- 2.7.4