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,3 +14,5 @@ | ||
14 | 0014_add-srat-acpi-table-support.patch | 14 | 0014_add-srat-acpi-table-support.patch |
15 | 0015_enable-power-button-even-generation.patch | 15 | 0015_enable-power-button-even-generation.patch |
16 | 0016-use-correct-mask-to-size-pci-option-rom-bar.patch | 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