[SeaBIOS] [PATCH 1/2] Add config option to move PORT_ACPI_PM_BASE out of the way

Gerd Hoffmann kraxel at redhat.com
Mon Feb 3 10:04:37 CET 2014


Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
---
 src/Kconfig       | 7 +++++++
 src/fw/paravirt.h | 9 +++++++--
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/Kconfig b/src/Kconfig
index cce3ad8..df3512d 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -309,6 +309,13 @@ menu "Hardware support"
         default y
         help
             Initialize the Memory Type Range Registers (on emulators).
+    config PMBASE_LOW
+        depends on QEMU
+        bool "Map ACPI PM below 0x1000"
+        default n
+        help
+            Map ACPI PM bar below 0x1000.  This makes room in the io address
+            space for PCI bridges, but requires qemu 1.4+ to work correctly.
     config PMTIMER
         bool "Use ACPI timer"
         default y
diff --git a/src/fw/paravirt.h b/src/fw/paravirt.h
index 69d7248..64fe4c6 100644
--- a/src/fw/paravirt.h
+++ b/src/fw/paravirt.h
@@ -29,8 +29,13 @@ static inline int runningOnKVM(void) {
 #define PORT_SMI_STATUS        0x00b3
 #define PORT_QEMU_CFG_CTL      0x0510
 #define PORT_QEMU_CFG_DATA     0x0511
-#define PORT_ACPI_PM_BASE      0xb000
-#define PORT_SMB_BASE          0xb100
+#ifdef CONFIG_PMBASE_LOW
+# define PORT_ACPI_PM_BASE     0x0600
+# define PORT_SMB_BASE         0x0700
+#else
+# define PORT_ACPI_PM_BASE     0xb000
+# define PORT_SMB_BASE         0xb100
+#endif
 #define PORT_BIOS_APM          0x8900
 
 void qemu_preinit(void);
-- 
1.8.3.1




More information about the SeaBIOS mailing list