[SeaBIOS] [PATCH 13/20] acpi: move \_SB.PCI0._CRS to separate file

Gerd Hoffmann kraxel at redhat.com
Tue Nov 27 10:21:04 CET 2012


Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
---
 src/acpi-dsdt-pci-crs.dsl |  104 +++++++++++++++++++++++++++++++++++++++++++++
 src/acpi-dsdt.dsl         |  104 +--------------------------------------------
 2 files changed, 105 insertions(+), 103 deletions(-)
 create mode 100644 src/acpi-dsdt-pci-crs.dsl

diff --git a/src/acpi-dsdt-pci-crs.dsl b/src/acpi-dsdt-pci-crs.dsl
new file mode 100644
index 0000000..3590034
--- /dev/null
+++ b/src/acpi-dsdt-pci-crs.dsl
@@ -0,0 +1,104 @@
+            Name (CRES, ResourceTemplate ()
+            {
+                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
+                    0x0000,             // Address Space Granularity
+                    0x0000,             // Address Range Minimum
+                    0x00FF,             // Address Range Maximum
+                    0x0000,             // Address Translation Offset
+                    0x0100,             // Address Length
+                    ,, )
+                IO (Decode16,
+                    0x0CF8,             // Address Range Minimum
+                    0x0CF8,             // Address Range Maximum
+                    0x01,               // Address Alignment
+                    0x08,               // Address Length
+                    )
+                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
+                    0x0000,             // Address Space Granularity
+                    0x0000,             // Address Range Minimum
+                    0x0CF7,             // Address Range Maximum
+                    0x0000,             // Address Translation Offset
+                    0x0CF8,             // Address Length
+                    ,, , TypeStatic)
+                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
+                    0x0000,             // Address Space Granularity
+                    0x0D00,             // Address Range Minimum
+                    0xFFFF,             // Address Range Maximum
+                    0x0000,             // Address Translation Offset
+                    0xF300,             // Address Length
+                    ,, , TypeStatic)
+                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+                    0x00000000,         // Address Space Granularity
+                    0x000A0000,         // Address Range Minimum
+                    0x000BFFFF,         // Address Range Maximum
+                    0x00000000,         // Address Translation Offset
+                    0x00020000,         // Address Length
+                    ,, , AddressRangeMemory, TypeStatic)
+                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
+                    0x00000000,         // Address Space Granularity
+                    0xE0000000,         // Address Range Minimum
+                    0xFEBFFFFF,         // Address Range Maximum
+                    0x00000000,         // Address Translation Offset
+                    0x1EC00000,         // Address Length
+                    ,, PW32, AddressRangeMemory, TypeStatic)
+            })
+            Name (CR64, ResourceTemplate ()
+            {
+                QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+                    0x00000000,          // Address Space Granularity
+                    0x8000000000,        // Address Range Minimum
+                    0xFFFFFFFFFF,        // Address Range Maximum
+                    0x00000000,          // Address Translation Offset
+                    0x8000000000,        // Address Length
+                    ,, PW64, AddressRangeMemory, TypeStatic)
+            })
+            Method (_CRS, 0)
+            {
+		/* see see acpi.h, struct bfld */
+		External (BDAT, OpRegionObj)
+		Field(BDAT, QWordAcc, NoLock, Preserve) {
+                    P0S, 64,
+                    P0E, 64,
+                    P0L, 64,
+                    P1S, 64,
+                    P1E, 64,
+                    P1L, 64,
+		}
+		Field(BDAT, DWordAcc, NoLock, Preserve) {
+                    P0SL, 32,
+                    P0SH, 32,
+                    P0EL, 32,
+                    P0EH, 32,
+                    P0LL, 32,
+                    P0LH, 32,
+                    P1SL, 32,
+                    P1SH, 32,
+                    P1EL, 32,
+                    P1EH, 32,
+                    P1LL, 32,
+                    P1LH, 32,
+		}
+
+                /* fixup 32bit pci io window */
+		CreateDWordField (CRES,\_SB.PCI0.PW32._MIN, PS32)
+		CreateDWordField (CRES,\_SB.PCI0.PW32._MAX, PE32)
+		CreateDWordField (CRES,\_SB.PCI0.PW32._LEN, PL32)
+		Store (P0SL, PS32)
+		Store (P0EL, PE32)
+		Store (P0LL, PL32)
+
+		If (LAnd(LEqual(P1SL, 0x00), LEqual(P1SH, 0x00))) {
+		    Return (CRES)
+		} Else {
+		    /* fixup 64bit pci io window */
+		    CreateQWordField (CR64,\_SB.PCI0.PW64._MIN, PS64)
+		    CreateQWordField (CR64,\_SB.PCI0.PW64._MAX, PE64)
+		    CreateQWordField (CR64,\_SB.PCI0.PW64._LEN, PL64)
+		    Store (P1S, PS64)
+		    Store (P1E, PE64)
+		    Store (P1L, PL64)
+		    /* add window and return result */
+		    ConcatenateResTemplate (CRES, CR64, Local0)
+		    Return (Local0)
+		}
+            }
diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl
index 9b223c3..c104b42 100644
--- a/src/acpi-dsdt.dsl
+++ b/src/acpi-dsdt.dsl
@@ -106,110 +106,8 @@ DefinitionBlock (
                 B0EJ, 32,
             }
 
-            Name (CRES, ResourceTemplate ()
-            {
-                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
-                    0x0000,             // Address Space Granularity
-                    0x0000,             // Address Range Minimum
-                    0x00FF,             // Address Range Maximum
-                    0x0000,             // Address Translation Offset
-                    0x0100,             // Address Length
-                    ,, )
-                IO (Decode16,
-                    0x0CF8,             // Address Range Minimum
-                    0x0CF8,             // Address Range Maximum
-                    0x01,               // Address Alignment
-                    0x08,               // Address Length
-                    )
-                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
-                    0x0000,             // Address Space Granularity
-                    0x0000,             // Address Range Minimum
-                    0x0CF7,             // Address Range Maximum
-                    0x0000,             // Address Translation Offset
-                    0x0CF8,             // Address Length
-                    ,, , TypeStatic)
-                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
-                    0x0000,             // Address Space Granularity
-                    0x0D00,             // Address Range Minimum
-                    0xFFFF,             // Address Range Maximum
-                    0x0000,             // Address Translation Offset
-                    0xF300,             // Address Length
-                    ,, , TypeStatic)
-                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
-                    0x00000000,         // Address Space Granularity
-                    0x000A0000,         // Address Range Minimum
-                    0x000BFFFF,         // Address Range Maximum
-                    0x00000000,         // Address Translation Offset
-                    0x00020000,         // Address Length
-                    ,, , AddressRangeMemory, TypeStatic)
-                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
-                    0x00000000,         // Address Space Granularity
-                    0xE0000000,         // Address Range Minimum
-                    0xFEBFFFFF,         // Address Range Maximum
-                    0x00000000,         // Address Translation Offset
-                    0x1EC00000,         // Address Length
-                    ,, PW32, AddressRangeMemory, TypeStatic)
-            })
-            Name (CR64, ResourceTemplate ()
-            {
-                QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
-                    0x00000000,          // Address Space Granularity
-                    0x8000000000,        // Address Range Minimum
-                    0xFFFFFFFFFF,        // Address Range Maximum
-                    0x00000000,          // Address Translation Offset
-                    0x8000000000,        // Address Length
-                    ,, PW64, AddressRangeMemory, TypeStatic)
-            })
-            Method (_CRS, 0)
-            {
-		/* see see acpi.h, struct bfld */
-		External (BDAT, OpRegionObj)
-		Field(BDAT, QWordAcc, NoLock, Preserve) {
-                    P0S, 64,
-                    P0E, 64,
-                    P0L, 64,
-                    P1S, 64,
-                    P1E, 64,
-                    P1L, 64,
-		}
-		Field(BDAT, DWordAcc, NoLock, Preserve) {
-                    P0SL, 32,
-                    P0SH, 32,
-                    P0EL, 32,
-                    P0EH, 32,
-                    P0LL, 32,
-                    P0LH, 32,
-                    P1SL, 32,
-                    P1SH, 32,
-                    P1EL, 32,
-                    P1EH, 32,
-                    P1LL, 32,
-                    P1LH, 32,
-		}
+#include "acpi-dsdt-pci-crs.dsl"
 
-                /* fixup 32bit pci io window */
-		CreateDWordField (CRES,\_SB.PCI0.PW32._MIN, PS32)
-		CreateDWordField (CRES,\_SB.PCI0.PW32._MAX, PE32)
-		CreateDWordField (CRES,\_SB.PCI0.PW32._LEN, PL32)
-		Store (P0SL, PS32)
-		Store (P0EL, PE32)
-		Store (P0LL, PL32)
-
-		If (LAnd(LEqual(P1SL, 0x00), LEqual(P1SH, 0x00))) {
-		    Return (CRES)
-		} Else {
-		    /* fixup 64bit pci io window */
-		    CreateQWordField (CR64,\_SB.PCI0.PW64._MIN, PS64)
-		    CreateQWordField (CR64,\_SB.PCI0.PW64._MAX, PE64)
-		    CreateQWordField (CR64,\_SB.PCI0.PW64._LEN, PL64)
-		    Store (P1S, PS64)
-		    Store (P1E, PE64)
-		    Store (P1L, PL64)
-		    /* add window and return result */
-		    ConcatenateResTemplate (CRES, CR64, Local0)
-		    Return (Local0)
-		}
-            }
         }
     }
 
-- 
1.7.1




More information about the SeaBIOS mailing list