qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [COMMIT ef2039f] Regenerate BIOS and add patches for -boo


From: Anthony Liguori
Subject: [Qemu-commits] [COMMIT ef2039f] Regenerate BIOS and add patches for -boot option
Date: Thu, 16 Jul 2009 13:31:30 -0000

From: Anthony Liguori <address@hidden>

Signed-off-by: Anthony Liguori <address@hidden>

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 <address@hidden>
+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 <address@hidden>
+Signed-off-by: Anthony Liguori <address@hidden>
+---
+ 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 <address@hidden>
+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 <address@hidden>
+Signed-off-by: Anthony Liguori <address@hidden>
+---
+ 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 6c8bc9f..8c016aa 100644
Binary files a/pc-bios/bios.bin and b/pc-bios/bios.bin differ




reply via email to

[Prev in Thread] Current Thread [Next in Thread]