Commit ef2039f17d3e2226b8650b4d7692e5f458a37573
1 parent
2221dde5
Regenerate BIOS and add patches for -boot option
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Showing
4 changed files
with
129 additions
and
0 deletions
pc-bios/bios-pq/0017-bochs-bios-Move-QEMU_CFG-constants-to-rombios.h.patch
0 → 100644
| 1 | +From f371c480cb93f3516f34af5e3a4524ee6ba43c24 Mon Sep 17 00:00:00 2001 | |
| 2 | +From: Jan Kiszka <jan.kiszka@web.de> | |
| 3 | +Date: Thu, 2 Jul 2009 00:11:38 +0200 | |
| 4 | +Subject: [PATCH 1/2] bochs-bios: Move QEMU_CFG constants to rombios.h | |
| 5 | + | |
| 6 | +We will need them outside of rombios32.c. | |
| 7 | + | |
| 8 | +Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> | |
| 9 | +Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> | |
| 10 | +--- | |
| 11 | + bios/rombios.h | 10 ++++++++++ | |
| 12 | + bios/rombios32.c | 10 ---------- | |
| 13 | + 2 files changed, 10 insertions(+), 10 deletions(-) | |
| 14 | + | |
| 15 | +diff --git a/bios/rombios.h b/bios/rombios.h | |
| 16 | +index 6f9cbb1..59ce19d 100644 | |
| 17 | +--- a/bios/rombios.h | |
| 18 | ++++ b/bios/rombios.h | |
| 19 | +@@ -58,6 +58,16 @@ | |
| 20 | + #define SMB_IO_BASE 0xb100 | |
| 21 | + #define SMP_MSR_ADDR 0x0510 | |
| 22 | + | |
| 23 | ++#define QEMU_CFG_CTL_PORT 0x510 | |
| 24 | ++#define QEMU_CFG_DATA_PORT 0x511 | |
| 25 | ++#define QEMU_CFG_SIGNATURE 0x00 | |
| 26 | ++#define QEMU_CFG_ID 0x01 | |
| 27 | ++#define QEMU_CFG_UUID 0x02 | |
| 28 | ++#define QEMU_CFG_NUMA 0x0d | |
| 29 | ++#define QEMU_CFG_ARCH_LOCAL 0x8000 | |
| 30 | ++#define QEMU_CFG_ACPI_TABLES (QEMU_CFG_ARCH_LOCAL + 0) | |
| 31 | ++#define QEMU_CFG_SMBIOS_ENTRIES (QEMU_CFG_ARCH_LOCAL + 1) | |
| 32 | ++ | |
| 33 | + // Define the application NAME | |
| 34 | + #if defined(BX_QEMU) | |
| 35 | + # define BX_APPNAME "QEMU" | |
| 36 | +diff --git a/bios/rombios32.c b/bios/rombios32.c | |
| 37 | +index f861f81..3fe4e48 100644 | |
| 38 | +--- a/bios/rombios32.c | |
| 39 | ++++ b/bios/rombios32.c | |
| 40 | +@@ -468,16 +468,6 @@ void wrmsr_smp(uint32_t index, uint64_t val) | |
| 41 | + } | |
| 42 | + | |
| 43 | + #ifdef BX_QEMU | |
| 44 | +-#define QEMU_CFG_CTL_PORT 0x510 | |
| 45 | +-#define QEMU_CFG_DATA_PORT 0x511 | |
| 46 | +-#define QEMU_CFG_SIGNATURE 0x00 | |
| 47 | +-#define QEMU_CFG_ID 0x01 | |
| 48 | +-#define QEMU_CFG_UUID 0x02 | |
| 49 | +-#define QEMU_CFG_NUMA 0x0D | |
| 50 | +-#define QEMU_CFG_ARCH_LOCAL 0x8000 | |
| 51 | +-#define QEMU_CFG_ACPI_TABLES (QEMU_CFG_ARCH_LOCAL + 0) | |
| 52 | +-#define QEMU_CFG_SMBIOS_ENTRIES (QEMU_CFG_ARCH_LOCAL + 1) | |
| 53 | +- | |
| 54 | + int qemu_cfg_port; | |
| 55 | + | |
| 56 | + void qemu_cfg_select(int f) | |
| 57 | +-- | |
| 58 | +1.6.2.5 | |
| 59 | + | ... | ... |
pc-bios/bios-pq/0018-bochs-bios-Make-boot-prompt-optional.patch
0 → 100644
| 1 | +From fff8ffe1c92474ee58ebd6da82fede0ab7929214 Mon Sep 17 00:00:00 2001 | |
| 2 | +From: Jan Kiszka <jan.kiszka@web.de> | |
| 3 | +Date: Thu, 2 Jul 2009 00:11:44 +0200 | |
| 4 | +Subject: [PATCH 2/2] bochs-bios: Make boot prompt optional | |
| 5 | + | |
| 6 | +Check via QEMU's firmware configuration interface if the boot prompt | |
| 7 | +should be given. This allows to disable the prompt with its several | |
| 8 | +seconds long delay, speeding up the common boot case. | |
| 9 | + | |
| 10 | +Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> | |
| 11 | +Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> | |
| 12 | +--- | |
| 13 | + bios/rombios.c | 19 +++++++++++++++++++ | |
| 14 | + bios/rombios.h | 1 + | |
| 15 | + 2 files changed, 20 insertions(+), 0 deletions(-) | |
| 16 | + | |
| 17 | +diff --git a/bios/rombios.c b/bios/rombios.c | |
| 18 | +index 0f13b53..560e6d5 100644 | |
| 19 | +--- a/bios/rombios.c | |
| 20 | ++++ b/bios/rombios.c | |
| 21 | +@@ -2015,6 +2015,21 @@ Bit16u i; ipl_entry_t *e; | |
| 22 | + } | |
| 23 | + | |
| 24 | + #if BX_ELTORITO_BOOT | |
| 25 | ++#ifdef BX_QEMU | |
| 26 | ++int | |
| 27 | ++qemu_cfg_probe_bootkey() | |
| 28 | ++{ | |
| 29 | ++ outw(QEMU_CFG_CTL_PORT, QEMU_CFG_SIGNATURE); | |
| 30 | ++ if (inb(QEMU_CFG_DATA_PORT) != 'Q' || | |
| 31 | ++ inb(QEMU_CFG_DATA_PORT) != 'E' || | |
| 32 | ++ inb(QEMU_CFG_DATA_PORT) != 'M' || | |
| 33 | ++ inb(QEMU_CFG_DATA_PORT) != 'U') return 1; | |
| 34 | ++ | |
| 35 | ++ outw(QEMU_CFG_CTL_PORT, QEMU_CFG_BOOT_MENU); | |
| 36 | ++ return inb(QEMU_CFG_DATA_PORT); | |
| 37 | ++} | |
| 38 | ++#endif // BX_QEMU | |
| 39 | ++ | |
| 40 | + void | |
| 41 | + interactive_bootkey() | |
| 42 | + { | |
| 43 | +@@ -2026,6 +2041,10 @@ interactive_bootkey() | |
| 44 | + Bit16u ss = get_SS(); | |
| 45 | + Bit16u valid_choice = 0; | |
| 46 | + | |
| 47 | ++#ifdef BX_QEMU | |
| 48 | ++ if (!qemu_cfg_probe_bootkey()) return; | |
| 49 | ++#endif | |
| 50 | ++ | |
| 51 | + while (check_for_keystroke()) | |
| 52 | + get_keystroke(); | |
| 53 | + | |
| 54 | +diff --git a/bios/rombios.h b/bios/rombios.h | |
| 55 | +index 59ce19d..8ece2ee 100644 | |
| 56 | +--- a/bios/rombios.h | |
| 57 | ++++ b/bios/rombios.h | |
| 58 | +@@ -64,6 +64,7 @@ | |
| 59 | + #define QEMU_CFG_ID 0x01 | |
| 60 | + #define QEMU_CFG_UUID 0x02 | |
| 61 | + #define QEMU_CFG_NUMA 0x0d | |
| 62 | ++#define QEMU_CFG_BOOT_MENU 0x0e | |
| 63 | + #define QEMU_CFG_ARCH_LOCAL 0x8000 | |
| 64 | + #define QEMU_CFG_ACPI_TABLES (QEMU_CFG_ARCH_LOCAL + 0) | |
| 65 | + #define QEMU_CFG_SMBIOS_ENTRIES (QEMU_CFG_ARCH_LOCAL + 1) | |
| 66 | +-- | |
| 67 | +1.6.2.5 | |
| 68 | + | ... | ... |
pc-bios/bios-pq/series
| ... | ... | @@ -14,3 +14,5 @@ |
| 14 | 14 | 0014_add-srat-acpi-table-support.patch |
| 15 | 15 | 0015_enable-power-button-even-generation.patch |
| 16 | 16 | 0016-use-correct-mask-to-size-pci-option-rom-bar.patch |
| 17 | +0017-bochs-bios-Move-QEMU_CFG-constants-to-rombios.h.patch | |
| 18 | +0018-bochs-bios-Make-boot-prompt-optional.patch | ... | ... |
pc-bios/bios.bin
No preview for this file type