[SeaBIOS] [PATCH] acpi: hide 64-bit PCI hole for Windows XP
Igor Mammedov
imammedo at redhat.com
Tue Jul 30 09:00:38 CEST 2013
Windows XP (32 and 64 bit) crashes if 64-bit PCI hole is present.
Use _OSI ACPI method to blacklist it and hide 64-bit PCI hole.
_OSI strings reported by XP are taken from here:
http://msdn.microsoft.com/library/windows/hardware/gg463275
Signed-off-by: Igor Mammedov <imammedo at redhat.com>
---
src/acpi-dsdt.dsl | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl
index 158f6b4..7b55636 100644
--- a/src/acpi-dsdt.dsl
+++ b/src/acpi-dsdt.dsl
@@ -33,6 +33,31 @@ DefinitionBlock (
/****************************************************************
+ * OS detection
+ ****************************************************************/
+
+ Scope(\_SB) {
+ External(\P1V, IntObj)
+
+ Method(_INI) {
+ If (CondRefOf (\_OSI, Local0)) {
+ /* disable 64-bit PCI window for Windows XP and its variants */
+ If (\_OSI ("Windows 2001")) {
+ Store (Zero, P1V)
+ }
+
+ If (\_OSI ("Windows 2001 SP1")) {
+ Store (Zero, P1V)
+ }
+
+ If (\_OSI ("Windows 2001 SP2")) {
+ Store (Zero, P1V)
+ }
+ }
+ }
+ }
+
+/****************************************************************
* PCI Bus definition
****************************************************************/
--
1.7.1
More information about the SeaBIOS
mailing list