[SeaBIOS] [PATCH 18/20] acpi: move isa devices to separate file

Gerd Hoffmann kraxel at redhat.com
Wed Nov 28 10:17:47 CET 2012


Stuff them parameterized into #defines, so we can (a) reuse them for
q35 and (b) don't duplicate the serial line.

Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
---
 src/acpi-dsdt-isa.dsl |  134 +++++++++++++++++++++++++++++++++++++
 src/acpi-dsdt.dsl     |  176 +------------------------------------------------
 2 files changed, 136 insertions(+), 174 deletions(-)
 create mode 100644 src/acpi-dsdt-isa.dsl

diff --git a/src/acpi-dsdt-isa.dsl b/src/acpi-dsdt-isa.dsl
new file mode 100644
index 0000000..9adc9de
--- /dev/null
+++ b/src/acpi-dsdt-isa.dsl
@@ -0,0 +1,134 @@
+    Scope(\_SB.PCI0.ISA) {
+
+            Device (RTC)
+            {
+                Name (_HID, EisaId ("PNP0B00"))
+                Name (_CRS, ResourceTemplate ()
+                {
+                    IO (Decode16, 0x0070, 0x0070, 0x10, 0x02)
+                    IRQNoFlags () {8}
+                    IO (Decode16, 0x0072, 0x0072, 0x02, 0x06)
+                })
+            }
+        
+            Device (KBD)
+            {
+                Name (_HID, EisaId ("PNP0303"))
+                Method (_STA, 0, NotSerialized)
+                {
+                    Return (0x0f)
+                }
+                Name (_CRS, ResourceTemplate ()
+                {
+                    IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
+                    IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
+                    IRQNoFlags () { 1 }
+                })
+            }
+        
+            Device (MOU)
+            {
+                Name (_HID, EisaId ("PNP0F13"))
+                Method (_STA, 0, NotSerialized)
+                {
+                    Return (0x0f)
+                }
+                Name (_CRS, ResourceTemplate ()
+                {
+                    IRQNoFlags () {12}
+                })
+            }
+        
+            Device (FDC0)
+            {
+                Name (_HID, EisaId ("PNP0700"))
+                Method (_STA, 0, NotSerialized)
+                {
+                    Store (FDEN, Local0)
+                    If (LEqual (Local0, 0))
+                    {
+                        Return (0x00)
+                    }
+                    Else
+                    {
+                        Return (0x0F)
+                    }
+                }
+                Name (_CRS, ResourceTemplate ()
+                {
+                    IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
+                    IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
+                    IRQNoFlags () {6}
+                    DMA (Compatibility, NotBusMaster, Transfer8) {2}
+                })
+            }
+        
+            Device (LPT)
+            {
+                Name (_HID, EisaId ("PNP0400"))
+                Method (_STA, 0, NotSerialized)
+                {
+                    Store (LPEN, Local0)
+                    If (LEqual (Local0, 0))
+                    {
+                        Return (0x00)
+                    }
+                    Else
+                    {
+                        Return (0x0F)
+                    }
+                }
+                Name (_CRS, ResourceTemplate ()
+                {
+                    IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
+                    IRQNoFlags () { 7 }
+                })
+            }
+        
+            Device (COM1)
+            {
+                Name (_HID, EisaId ("PNP0501"))
+                Name (_UID, 0x01)
+                Method (_STA, 0, NotSerialized)
+                {
+                    Store (CAEN, Local0)
+                    If (LEqual (Local0, 0))
+                    {
+                        Return (0x00)
+                    }
+                    Else
+                    {
+                        Return (0x0F)
+                    }
+                }
+                Name (_CRS, ResourceTemplate ()
+                {
+                    IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
+                    IRQNoFlags () { 4 }
+                })
+            }
+        
+            Device (COM2)
+            {
+                Name (_HID, EisaId ("PNP0501"))
+                Name (_UID, 0x01)
+                Method (_STA, 0, NotSerialized)
+                {
+                    Store (CBEN, Local0)
+                    If (LEqual (Local0, 0))
+                    {
+                        Return (0x00)
+                    }
+                    Else
+                    {
+                        Return (0x0F)
+                    }
+                }
+                Name (_CRS, ResourceTemplate ()
+                {
+                    IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
+                    IRQNoFlags () { 3 }
+                })
+            }
+
+    }
\ No newline at end of file
diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl
index 6ee3c8e..bb4656c 100644
--- a/src/acpi-dsdt.dsl
+++ b/src/acpi-dsdt.dsl
@@ -175,182 +175,10 @@ DefinitionBlock (
 		CBEN, 1,         // COM2
 	    }
 	    Name (FDEN, 1)
-
-            /* Real-time clock */
-            Device (RTC)
-            {
-                Name (_HID, EisaId ("PNP0B00"))
-                Name (_CRS, ResourceTemplate ()
-                {
-                    IO (Decode16, 0x0070, 0x0070, 0x10, 0x02)
-                    IRQNoFlags () {8}
-                    IO (Decode16, 0x0072, 0x0072, 0x02, 0x06)
-                })
-            }
-
-            /* Keyboard seems to be important for WinXP install */
-            Device (KBD)
-            {
-                Name (_HID, EisaId ("PNP0303"))
-                Method (_STA, 0, NotSerialized)
-                {
-                    Return (0x0f)
-                }
-
-                Method (_CRS, 0, NotSerialized)
-                {
-                     Name (TMP, ResourceTemplate ()
-                     {
-                    IO (Decode16,
-                        0x0060,             // Address Range Minimum
-                        0x0060,             // Address Range Maximum
-                        0x01,               // Address Alignment
-                        0x01,               // Address Length
-                        )
-                    IO (Decode16,
-                        0x0064,             // Address Range Minimum
-                        0x0064,             // Address Range Maximum
-                        0x01,               // Address Alignment
-                        0x01,               // Address Length
-                        )
-                    IRQNoFlags ()
-                        {1}
-                    })
-                    Return (TMP)
-                }
-            }
-
-	    /* PS/2 mouse */
-            Device (MOU)
-            {
-                Name (_HID, EisaId ("PNP0F13"))
-                Method (_STA, 0, NotSerialized)
-                {
-                    Return (0x0f)
-                }
-
-                Method (_CRS, 0, NotSerialized)
-                {
-                    Name (TMP, ResourceTemplate ()
-                    {
-                         IRQNoFlags () {12}
-                    })
-                    Return (TMP)
-                }
-            }
-
-	    /* PS/2 floppy controller */
-	    Device (FDC0)
-	    {
-	        Name (_HID, EisaId ("PNP0700"))
-		Method (_STA, 0, NotSerialized)
-		{
-                    Store (FDEN, Local0)
-                    If (LEqual (Local0, 0))
-                    {
-                         Return (0x00)
-                    }
-                    Else
-                    {
-                         Return (0x0F)
-                    }
-		}
-		Method (_CRS, 0, NotSerialized)
-		{
-		    Name (BUF0, ResourceTemplate ()
-                    {
-                        IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
-                        IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
-                        IRQNoFlags () {6}
-                        DMA (Compatibility, NotBusMaster, Transfer8) {2}
-                    })
-		    Return (BUF0)
-		}
-	    }
-
-	    /* Parallel port */
-	    Device (LPT)
-	    {
-	        Name (_HID, EisaId ("PNP0400"))
-		Method (_STA, 0, NotSerialized)
-		{
-		    Store (LPEN, Local0)
-		    If (LEqual (Local0, 0))
-		    {
-			Return (0x00)
-		    }
-		    Else
-		    {
-			Return (0x0F)
-		    }
-		}
-		Method (_CRS, 0, NotSerialized)
-		{
-		    Name (BUF0, ResourceTemplate ()
-                    {
-			IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
-			IRQNoFlags () {7}
-		    })
-		    Return (BUF0)
-		}
-	    }
-
-	    /* Serial Ports */
-	    Device (COM1)
-	    {
-	        Name (_HID, EisaId ("PNP0501"))
-		Name (_UID, 0x01)
-		Method (_STA, 0, NotSerialized)
-		{
-		    Store (CAEN, Local0)
-		    If (LEqual (Local0, 0))
-		    {
-			Return (0x00)
-		    }
-		    Else
-		    {
-			Return (0x0F)
-		    }
-		}
-		Method (_CRS, 0, NotSerialized)
-		{
-		    Name (BUF0, ResourceTemplate ()
-                    {
-			IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
-                	IRQNoFlags () {4}
-		    })
-		    Return (BUF0)
-		}
-	    }
-
-	    Device (COM2)
-	    {
-	        Name (_HID, EisaId ("PNP0501"))
-		Name (_UID, 0x02)
-		Method (_STA, 0, NotSerialized)
-		{
-		    Store (CBEN, Local0)
-		    If (LEqual (Local0, 0))
-		    {
-			Return (0x00)
-		    }
-		    Else
-		    {
-			Return (0x0F)
-		    }
-		}
-		Method (_CRS, 0, NotSerialized)
-		{
-		    Name (BUF0, ResourceTemplate ()
-                    {
-			IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
-                	IRQNoFlags () {3}
-		    })
-		    Return (BUF0)
-		}
-	    }
     }
 
+#include "acpi-dsdt-isa.dsl"
+
 
 /****************************************************************
  * PIIX4 PM
-- 
1.7.1




More information about the SeaBIOS mailing list