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