qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH] seabios: acpi: Add _STA for PCI hotplug slots


From: Alex Williamson
Subject: [Qemu-devel] [PATCH] seabios: acpi: Add _STA for PCI hotplug slots
Date: Fri, 24 Feb 2012 16:21:17 -0700
User-agent: StGIT/0.14.3

When a Status method is provided on a slot, the OSPM evaluates
_STA in response to the device check notify on the slot.  This
allows some degree of a handshake between the platform and the
OSPM that the hotplug has been acknowledged.

In order to implement _STA, we need to know which slots have
devices.  A slot with device returns 0x0F, a slot without a
device returns Zero.  We get this information from Qemu using
the 0xae08 I/O port register.  This was previously the read-side
of the register written to commit a device eject and always
returned 0 on read.  It now returns a bitmap of present slots,
so we know that reading 0 means we have and old Qemu and
dynamically modify our SSDT to rename the _STA methods.  This
is necessary to allow backwards compatibility.

The _STA method also writes the slot identifier to I/O port
register 0xae00 as an acknowledgment of the hotplug request.

Signed-off-by: Alex Williamson <address@hidden>
---

 src/acpi-dsdt.dsl  |   36 ++-
 src/acpi-dsdt.hex  |  124 ++++++----
 src/acpi.c         |   27 ++
 src/ssdt-pcihp.dsl |    3 
 src/ssdt-pcihp.hex |  658 ++++++++++++++++++++++++++++++++++++++++++++--------
 5 files changed, 686 insertions(+), 162 deletions(-)

diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl
index 7082b65..6b87086 100644
--- a/src/acpi-dsdt.dsl
+++ b/src/acpi-dsdt.dsl
@@ -119,17 +119,15 @@ DefinitionBlock (
                prt_slot3(0x001f),
             })
 
-            OperationRegion(PCST, SystemIO, 0xae00, 0x08)
+            OperationRegion(PCST, SystemIO, 0xae00, 0x0c)
             Field (PCST, DWordAcc, NoLock, WriteAsZeros)
             {
-                PCIU, 32,
-                PCID, 32,
-            }
-
-            OperationRegion(SEJ, SystemIO, 0xae08, 0x04)
-            Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
-            {
-                B0EJ, 32,
+                // PCI Up/ACK
+                PUPA, 32,
+                // PCI Down
+                PDWN, 32,
+                // PCI Present/Eject
+                PPEJ, 32,
             }
 
             Name (_CRS, ResourceTemplate ()
@@ -462,10 +460,20 @@ DefinitionBlock (
         /* Methods called by hotplug devices */
         Method (PCEJ, 1, NotSerialized) {
             // _EJ0 method - eject callback
-            Store(ShiftLeft(1, Arg0), B0EJ)
+            Store(ShiftLeft(1, Arg0), PPEJ)
             Return (0x0)
         }
 
+        Method (PSTA, 1, NotSerialized) {
+            Store(ShiftLeft(1, Arg0), PUPA)
+            Store(PPEJ, Local0)
+            If (And(Local0, ShiftLeft(1, Arg0))) {
+                Return(0x0F)
+            } Else {
+                Return(Zero)
+            }
+        }
+
        /* Hotplug notification method supplied by SSDT */
        External (\_SB.PCI0.PCNT, MethodObj)
 
@@ -473,12 +481,16 @@ DefinitionBlock (
         Method(PCNF, 0) {
             // Local0 = iterator
             Store (Zero, Local0)
+            // Local1 = slots marked "up"
+            Store (PUPA, Local1)
+            // Local2 = slots marked "down"
+            Store (PDWN, Local2)
             While (LLess(Local0, 31)) {
                 Increment(Local0)
-                If (And(PCIU, ShiftLeft(1, Local0))) {
+                If (And(Local1, ShiftLeft(1, Local0))) {
                     PCNT(Local0, 1)
                 }
-                If (And(PCID, ShiftLeft(1, Local0))) {
+                If (And(Local2, ShiftLeft(1, Local0))) {
                     PCNT(Local0, 3)
                 }
             }
diff --git a/src/acpi-dsdt.hex b/src/acpi-dsdt.hex
index 5dc7bb4..6d99f53 100644
--- a/src/acpi-dsdt.hex
+++ b/src/acpi-dsdt.hex
@@ -3,12 +3,12 @@ static unsigned char AmlCode[] = {
 0x53,
 0x44,
 0x54,
-0xd3,
+0xeb,
 0x10,
 0x0,
 0x0,
 0x1,
-0x2d,
+0x10,
 0x42,
 0x58,
 0x50,
@@ -110,16 +110,16 @@ static unsigned char AmlCode[] = {
 0x47,
 0x42,
 0x10,
-0x44,
-0x81,
+0x40,
+0x80,
 0x5f,
 0x53,
 0x42,
 0x5f,
 0x5b,
 0x82,
-0x4c,
-0x80,
+0x48,
+0x7f,
 0x50,
 0x43,
 0x49,
@@ -2014,47 +2014,27 @@ static unsigned char AmlCode[] = {
 0x0,
 0xae,
 0xa,
-0x8,
+0xc,
 0x5b,
 0x81,
-0x10,
+0x15,
 0x50,
 0x43,
 0x53,
 0x54,
 0x43,
 0x50,
-0x43,
-0x49,
 0x55,
+0x50,
+0x41,
 0x20,
 0x50,
-0x43,
-0x49,
 0x44,
+0x57,
+0x4e,
 0x20,
-0x5b,
-0x80,
-0x53,
-0x45,
-0x4a,
-0x5f,
-0x1,
-0xb,
-0x8,
-0xae,
-0xa,
-0x4,
-0x5b,
-0x81,
-0xb,
-0x53,
-0x45,
-0x4a,
-0x5f,
-0x43,
-0x42,
-0x30,
+0x50,
+0x50,
 0x45,
 0x4a,
 0x20,
@@ -3039,8 +3019,8 @@ static unsigned char AmlCode[] = {
 0x4a,
 0x20,
 0x10,
-0x46,
-0x5,
+0x42,
+0x8,
 0x2e,
 0x5f,
 0x53,
@@ -3062,14 +3042,52 @@ static unsigned char AmlCode[] = {
 0x1,
 0x68,
 0x0,
-0x42,
-0x30,
+0x50,
+0x50,
 0x45,
 0x4a,
 0xa4,
 0x0,
 0x14,
-0x38,
+0x25,
+0x50,
+0x53,
+0x54,
+0x41,
+0x1,
+0x70,
+0x79,
+0x1,
+0x68,
+0x0,
+0x50,
+0x55,
+0x50,
+0x41,
+0x70,
+0x50,
+0x50,
+0x45,
+0x4a,
+0x60,
+0xa0,
+0xb,
+0x7b,
+0x60,
+0x79,
+0x1,
+0x68,
+0x0,
+0x0,
+0xa4,
+0xa,
+0xf,
+0xa1,
+0x3,
+0xa4,
+0x0,
+0x14,
+0x3e,
 0x50,
 0x43,
 0x4e,
@@ -3078,8 +3096,20 @@ static unsigned char AmlCode[] = {
 0x70,
 0x0,
 0x60,
+0x70,
+0x50,
+0x55,
+0x50,
+0x41,
+0x61,
+0x70,
+0x50,
+0x44,
+0x57,
+0x4e,
+0x62,
 0xa2,
-0x2c,
+0x26,
 0x95,
 0x60,
 0xa,
@@ -3087,12 +3117,9 @@ static unsigned char AmlCode[] = {
 0x75,
 0x60,
 0xa0,
-0x11,
+0xe,
 0x7b,
-0x50,
-0x43,
-0x49,
-0x55,
+0x61,
 0x79,
 0x1,
 0x60,
@@ -3105,12 +3132,9 @@ static unsigned char AmlCode[] = {
 0x60,
 0x1,
 0xa0,
-0x12,
+0xf,
 0x7b,
-0x50,
-0x43,
-0x49,
-0x44,
+0x62,
 0x79,
 0x1,
 0x60,
diff --git a/src/acpi.c b/src/acpi.c
index 107469f..056270b 100644
--- a/src/acpi.c
+++ b/src/acpi.c
@@ -486,13 +486,14 @@ build_ssdt(void)
 
 #include "ssdt-pcihp.hex"
 
-#define PCI_RMV_BASE 0xae0c
+#define PCI_HOTPLUG 0xae0c
+#define PCI_PRES_EJ 0xae08
 
 extern void link_time_assertion(void);
 
 static void* build_pcihp(void)
 {
-    u32 rmvc_pcrm;
+    u32 hotpluggable, present;
     int i;
 
     u8 *ssdt = malloc_high(sizeof ssdp_pcihp_aml);
@@ -504,7 +505,7 @@ static void* build_pcihp(void)
         link_time_assertion();
     }
 
-    rmvc_pcrm = inl(PCI_RMV_BASE);
+    hotpluggable = inl(PCI_HOTPLUG);
     for (i = 0; i < ARRAY_SIZE(aml_ej0_name); ++i) {
         /* Slot is in byte 2 in _ADR */
         u8 slot = ssdp_pcihp_aml[aml_adr_dword[i] + 2] & 0x1F;
@@ -514,11 +515,29 @@ static void* build_pcihp(void)
             free(ssdt);
             return NULL;
         }
-        if (!(rmvc_pcrm & (0x1 << slot))) {
+        if (!(hotpluggable & (0x1 << slot))) {
             memcpy(ssdt + aml_ej0_name[i], "EJ0_", 4);
         }
     }
 
+    /* Runtime patching of STA.  If running on system that
+     * doesn't support the Present/Eject field, replace _STA
+     * with STA_ */
+    if (ARRAY_SIZE(aml_sta_name) != ARRAY_SIZE(aml_adr_dword)) {
+        link_time_assertion();
+    }
+
+    present = inl(PCI_PRES_EJ);
+    for (i = 0; present == 0 && i < ARRAY_SIZE(aml_sta_name); ++i) {
+        /* Sanity check */
+        if (memcmp(ssdp_pcihp_aml + aml_sta_name[i], "_STA", 4)) {
+            warn_internalerror();
+            free(ssdt);
+            return NULL;
+        }
+        memcpy(ssdt + aml_sta_name[i], "STA_", 4);
+    }
+
     return ssdt;
 }
 
diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl
index 4b435b8..376476a 100644
--- a/src/ssdt-pcihp.dsl
+++ b/src/ssdt-pcihp.dsl
@@ -10,6 +10,7 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", 
"BXSSDTPCIHP", 0x1)
     /* Objects supplied by DSDT */
     External (\_SB.PCI0, DeviceObj)
     External (\_SB.PCI0.PCEJ, MethodObj)
+    External (\_SB.PCI0.PSTA, MethodObj)
 
     Scope(\_SB.PCI0) {
         /* Bulk generated PCI hotplug devices */
@@ -23,6 +24,8 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", 
"BXSSDTPCIHP", 0x1)
            Name (_ADR, 0x##slot##0000)                  \
            ACPI_EXTRACT_METHOD_STRING aml_ej0_name      \
            Method (_EJ0, 1) { Return(PCEJ(0x##slot)) }  \
+           ACPI_EXTRACT_METHOD_STRING aml_sta_name      \
+           Method (_STA, 0) { Return(PSTA(0x##slot)) }  \
            Name (_SUN, 0x##slot)                        \
         }
 
diff --git a/src/ssdt-pcihp.hex b/src/ssdt-pcihp.hex
index b15ad5a..f060c94 100644
--- a/src/ssdt-pcihp.hex
+++ b/src/ssdt-pcihp.hex
@@ -1,80 +1,113 @@
 static unsigned short aml_adr_dword[] = {
 0x3e,
-0x62,
-0x88,
-0xae,
-0xd4,
-0xfa,
-0x120,
-0x146,
-0x16c,
-0x192,
-0x1b8,
-0x1de,
-0x204,
-0x22a,
-0x250,
-0x276,
-0x29c,
-0x2c2,
-0x2e8,
-0x30e,
-0x334,
-0x35a,
-0x380,
-0x3a6,
-0x3cc,
-0x3f2,
-0x418,
-0x43e,
-0x464,
-0x48a,
-0x4b0
+0x6f,
+0xa3,
+0xd7,
+0x10b,
+0x13f,
+0x173,
+0x1a7,
+0x1db,
+0x20f,
+0x243,
+0x277,
+0x2ab,
+0x2df,
+0x313,
+0x347,
+0x37b,
+0x3af,
+0x3e3,
+0x417,
+0x44b,
+0x47f,
+0x4b3,
+0x4e7,
+0x51b,
+0x54f,
+0x583,
+0x5b7,
+0x5eb,
+0x61f,
+0x653
+};
+static unsigned short aml_sta_name[] = {
+0x51,
+0x83,
+0xb7,
+0xeb,
+0x11f,
+0x153,
+0x187,
+0x1bb,
+0x1ef,
+0x223,
+0x257,
+0x28b,
+0x2bf,
+0x2f3,
+0x327,
+0x35b,
+0x38f,
+0x3c3,
+0x3f7,
+0x42b,
+0x45f,
+0x493,
+0x4c7,
+0x4fb,
+0x52f,
+0x563,
+0x597,
+0x5cb,
+0x5ff,
+0x633,
+0x667
 };
 static unsigned short aml_ej0_name[] = {
 0x44,
-0x68,
-0x8e,
-0xb4,
-0xda,
-0x100,
-0x126,
-0x14c,
-0x172,
-0x198,
-0x1be,
-0x1e4,
-0x20a,
-0x230,
-0x256,
-0x27c,
-0x2a2,
-0x2c8,
-0x2ee,
-0x314,
-0x33a,
-0x360,
-0x386,
-0x3ac,
-0x3d2,
-0x3f8,
-0x41e,
-0x444,
-0x46a,
-0x490,
-0x4b6
+0x75,
+0xa9,
+0xdd,
+0x111,
+0x145,
+0x179,
+0x1ad,
+0x1e1,
+0x215,
+0x249,
+0x27d,
+0x2b1,
+0x2e5,
+0x319,
+0x34d,
+0x381,
+0x3b5,
+0x3e9,
+0x41d,
+0x451,
+0x485,
+0x4b9,
+0x4ed,
+0x521,
+0x555,
+0x589,
+0x5bd,
+0x5f1,
+0x625,
+0x659
 };
 static unsigned char ssdp_pcihp_aml[] = {
 0x53,
 0x53,
 0x44,
 0x54,
-0x44,
-0x6,
+0xf5,
+0x7,
 0x0,
 0x0,
 0x1,
-0x94,
+0xcd,
 0x42,
 0x58,
 0x50,
@@ -102,8 +135,8 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x10,
 0x20,
 0x10,
-0x4f,
-0x61,
+0x40,
+0x7d,
 0x5c,
 0x2e,
 0x5f,
@@ -116,7 +149,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x30,
 0x5b,
 0x82,
-0x22,
+0x2f,
 0x53,
 0x30,
 0x31,
@@ -144,6 +177,19 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x45,
 0x4a,
 0x1,
+0x14,
+0xc,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0x1,
 0x8,
 0x5f,
 0x53,
@@ -152,7 +198,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x1,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x32,
@@ -181,6 +227,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x2,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x2,
 0x8,
 0x5f,
 0x53,
@@ -190,7 +250,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x2,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x33,
@@ -219,6 +279,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x3,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x3,
 0x8,
 0x5f,
 0x53,
@@ -228,7 +302,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x3,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x34,
@@ -257,6 +331,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x4,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x4,
 0x8,
 0x5f,
 0x53,
@@ -266,7 +354,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x35,
@@ -295,6 +383,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x5,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x5,
 0x8,
 0x5f,
 0x53,
@@ -304,7 +406,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x5,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x36,
@@ -333,6 +435,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x6,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x6,
 0x8,
 0x5f,
 0x53,
@@ -342,7 +458,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x6,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x37,
@@ -371,6 +487,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x7,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x7,
 0x8,
 0x5f,
 0x53,
@@ -380,7 +510,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x7,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x38,
@@ -409,6 +539,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x8,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x8,
 0x8,
 0x5f,
 0x53,
@@ -418,7 +562,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x8,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x39,
@@ -447,6 +591,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x9,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x9,
 0x8,
 0x5f,
 0x53,
@@ -456,7 +614,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x9,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x41,
@@ -485,6 +643,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0xa,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0xa,
 0x8,
 0x5f,
 0x53,
@@ -494,7 +666,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0xa,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x42,
@@ -523,6 +695,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0xb,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0xb,
 0x8,
 0x5f,
 0x53,
@@ -532,7 +718,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0xb,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x43,
@@ -561,6 +747,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0xc,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0xc,
 0x8,
 0x5f,
 0x53,
@@ -570,7 +770,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0xc,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x44,
@@ -599,6 +799,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0xd,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0xd,
 0x8,
 0x5f,
 0x53,
@@ -608,7 +822,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0xd,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x45,
@@ -637,6 +851,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0xe,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0xe,
 0x8,
 0x5f,
 0x53,
@@ -646,7 +874,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0xe,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x30,
 0x46,
@@ -675,6 +903,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0xf,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0xf,
 0x8,
 0x5f,
 0x53,
@@ -684,7 +926,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0xf,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x30,
@@ -713,6 +955,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x10,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x10,
 0x8,
 0x5f,
 0x53,
@@ -722,7 +978,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x10,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x31,
@@ -751,6 +1007,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x11,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x11,
 0x8,
 0x5f,
 0x53,
@@ -760,7 +1030,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x11,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x32,
@@ -789,6 +1059,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x12,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x12,
 0x8,
 0x5f,
 0x53,
@@ -798,7 +1082,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x12,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x33,
@@ -827,6 +1111,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x13,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x13,
 0x8,
 0x5f,
 0x53,
@@ -836,7 +1134,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x13,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x34,
@@ -865,6 +1163,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x14,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x14,
 0x8,
 0x5f,
 0x53,
@@ -874,7 +1186,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x14,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x35,
@@ -903,6 +1215,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x15,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x15,
 0x8,
 0x5f,
 0x53,
@@ -912,7 +1238,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x15,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x36,
@@ -941,6 +1267,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x16,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x16,
 0x8,
 0x5f,
 0x53,
@@ -950,7 +1290,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x16,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x37,
@@ -979,6 +1319,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x17,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x17,
 0x8,
 0x5f,
 0x53,
@@ -988,7 +1342,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x17,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x38,
@@ -1017,6 +1371,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x18,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x18,
 0x8,
 0x5f,
 0x53,
@@ -1026,7 +1394,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x18,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x39,
@@ -1055,6 +1423,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x19,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x19,
 0x8,
 0x5f,
 0x53,
@@ -1064,7 +1446,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x19,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x41,
@@ -1093,6 +1475,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x1a,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x1a,
 0x8,
 0x5f,
 0x53,
@@ -1102,7 +1498,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x1a,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x42,
@@ -1131,6 +1527,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x1b,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x1b,
 0x8,
 0x5f,
 0x53,
@@ -1140,7 +1550,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x1b,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x43,
@@ -1169,6 +1579,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x1c,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x1c,
 0x8,
 0x5f,
 0x53,
@@ -1178,7 +1602,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x1c,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x44,
@@ -1207,6 +1631,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x1d,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x1d,
 0x8,
 0x5f,
 0x53,
@@ -1216,7 +1654,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x1d,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x45,
@@ -1245,6 +1683,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x1e,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x1e,
 0x8,
 0x5f,
 0x53,
@@ -1254,7 +1706,7 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x1e,
 0x5b,
 0x82,
-0x24,
+0x32,
 0x53,
 0x31,
 0x46,
@@ -1283,6 +1735,20 @@ static unsigned char ssdp_pcihp_aml[] = {
 0x4a,
 0xa,
 0x1f,
+0x14,
+0xd,
+0x5f,
+0x53,
+0x54,
+0x41,
+0x0,
+0xa4,
+0x50,
+0x53,
+0x54,
+0x41,
+0xa,
+0x1f,
 0x8,
 0x5f,
 0x53,




reply via email to

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