* [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
[not found] <20111214010645.GA2044@morn.localdomain>
@ 2012-05-09 7:24 ` Amos Kong
2012-05-09 7:35 ` Amos Kong
` (3 more replies)
0 siblings, 4 replies; 16+ messages in thread
From: Amos Kong @ 2012-05-09 7:24 UTC (permalink / raw)
To: mst, linux-pci, seabios, qemu-devel, jbarnes, rjw,
alex.williamson, kevin
Boot up a Linux VM with 8 pci block devices which
are the 8 functions in one pci slot.
| # qemu-kvm ...
| -drive file=images/u0,if=none,id=drv0,format=qcow2,cache=none \
| -device virtio-blk-pci,drive=drv0,id=v0,multifunction=on,addr=0x03.0 \
| ....
| -drive file=images/u7,if=none,id=drv7,format=qcow2,cache=none \
| -device virtio-blk-pci,drive=drv7,id=v7,multifunction=on,addr=0x03.7 \
Check devices in guest.
| vm)# ls /dev/vd*
| vda vdb vdc vde vdf vdg vdh
| vm)# lspci |grep block
| 00:03.0 SCSI storage controller: Red Hat, Inc Virtio block device
| ...
| 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device
|
Func1~7 still exist in guest after hot-removing the whole slot
through qemu monitor.
| vm)# lspci |grep block (00:03.0 disappeared)
| 00:03.1 SCSI storage controller: Red Hat, Inc Virtio block device (rev ff)
| ...
| 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device (rev ff)
| vm)# ls /dev/vd* (vda disappeared)
| vdb vdc vde vdf vdg vdh
| vm)# mkfs /dev/vdb
| INFO: task mkfs.ext2:1784 blocked for more than 120 seconds. (task hung)
Currently only func0 is defined in ACPI DSDT table
of seabios, and only hot-adding func0 would cause
a ACPI event for notification. Other funcs except
func0 wouldn't be registered in linux pci driver.
(we can only found func0 in slot->funcs list of
pci driver).
When VM pci driver receives an ACPI event for
hot-removing, it will only clean functions in
slot->funcs list, the other funcs could not be
cleaned.
This patch adds device per function in ACPI DSDT tables,
then all funcs will be registered in slot->funcs list.
It's coincident with microsoft's example:
http://www.microsoft.com/china/whdc/system/pnppwr/hotadd/hotplugpci.mspx#EUH
Have tested with linux/winxp/win7, hot-adding/hot-remving,
single/multiple function devices, they are all fine(all
added devices can be removed).
This patch includes some bits mst wrote, thanks!
---
old discussion: http://marc.info/?l=kvm&m=132428400917405&w=2
Signed-off-by: Amos Kong <akong@redhat.com>
CC: Michael S. Tsirkin <mst@redhat.com>
---
src/ssdt-pcihp.dsl | 17
src/ssdt-pcihp.hex | 8869 +++++++++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 8781 insertions(+), 105 deletions(-)
diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl
index 4b435b8..2a3c326 100644
--- a/src/ssdt-pcihp.dsl
+++ b/src/ssdt-pcihp.dsl
@@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
// at runtime, if the slot is detected to not support hotplug.
// Extract the offset of the address dword and the
// _EJ0 name to allow this patching.
-#define hotplug_slot(slot) \
- Device (S##slot) { \
+#define hotplug_func(slot, fn) \
+ Device (S##slot##fn) { \
ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \
- Name (_ADR, 0x##slot##0000) \
+ Name (_ADR, 0x##slot##000##fn) \
ACPI_EXTRACT_METHOD_STRING aml_ej0_name \
Method (_EJ0, 1) { Return(PCEJ(0x##slot)) } \
Name (_SUN, 0x##slot) \
}
+#define hotplug_slot(slot) \
+ hotplug_func(slot, 0) \
+ hotplug_func(slot, 1) \
+ hotplug_func(slot, 2) \
+ hotplug_func(slot, 3) \
+ hotplug_func(slot, 4) \
+ hotplug_func(slot, 5) \
+ hotplug_func(slot, 6) \
+ hotplug_func(slot, 7)
hotplug_slot(01)
hotplug_slot(02)
@@ -59,7 +68,7 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
hotplug_slot(1f)
#define gen_pci_hotplug(slot) \
- If (LEqual(Arg0, 0x##slot)) { Notify(S##slot, Arg1) }
+ If (LEqual(Arg0, 0x##slot)) { Notify(S##slot##0, Arg1) }
Method(PCNT, 2) {
gen_pci_hotplug(01)
diff --git a/src/ssdt-pcihp.hex b/src/ssdt-pcihp.hex
index b15ad5a..b0c1e84 100644
--- a/src/ssdt-pcihp.hex
+++ b/src/ssdt-pcihp.hex
@@ -1,80 +1,514 @@
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
+0x3f,
+0x63,
+0x87,
+0xab,
+0xcf,
+0xf3,
+0x117,
+0x13b,
+0x15f,
+0x185,
+0x1ab,
+0x1d1,
+0x1f7,
+0x21d,
+0x243,
+0x269,
+0x28f,
+0x2b5,
+0x2db,
+0x301,
+0x327,
+0x34d,
+0x373,
+0x399,
+0x3bf,
+0x3e5,
+0x40b,
+0x431,
+0x457,
+0x47d,
+0x4a3,
+0x4c9,
+0x4ef,
+0x515,
+0x53b,
+0x561,
+0x587,
+0x5ad,
+0x5d3,
+0x5f9,
+0x61f,
+0x645,
+0x66b,
+0x691,
+0x6b7,
+0x6dd,
+0x703,
+0x729,
+0x74f,
+0x775,
+0x79b,
+0x7c1,
+0x7e7,
+0x80d,
+0x833,
+0x859,
+0x87f,
+0x8a5,
+0x8cb,
+0x8f1,
+0x917,
+0x93d,
+0x963,
+0x989,
+0x9af,
+0x9d5,
+0x9fb,
+0xa21,
+0xa47,
+0xa6d,
+0xa93,
+0xab9,
+0xadf,
+0xb05,
+0xb2b,
+0xb51,
+0xb77,
+0xb9d,
+0xbc3,
+0xbe9,
+0xc0f,
+0xc35,
+0xc5b,
+0xc81,
+0xca7,
+0xccd,
+0xcf3,
+0xd19,
+0xd3f,
+0xd65,
+0xd8b,
+0xdb1,
+0xdd7,
+0xdfd,
+0xe23,
+0xe49,
+0xe6f,
+0xe95,
+0xebb,
+0xee1,
+0xf07,
+0xf2d,
+0xf53,
+0xf79,
+0xf9f,
+0xfc5,
+0xfeb,
+0x1011,
+0x1037,
+0x105d,
+0x1083,
+0x10a9,
+0x10cf,
+0x10f5,
+0x111b,
+0x1141,
+0x1167,
+0x118d,
+0x11b3,
+0x11d9,
+0x11ff,
+0x1225,
+0x124b,
+0x1271,
+0x1297,
+0x12bd,
+0x12e3,
+0x1309,
+0x132f,
+0x1355,
+0x137b,
+0x13a1,
+0x13c7,
+0x13ed,
+0x1413,
+0x1439,
+0x145f,
+0x1485,
+0x14ab,
+0x14d1,
+0x14f7,
+0x151d,
+0x1543,
+0x1569,
+0x158f,
+0x15b5,
+0x15db,
+0x1601,
+0x1627,
+0x164d,
+0x1673,
+0x1699,
+0x16bf,
+0x16e5,
+0x170b,
+0x1731,
+0x1757,
+0x177d,
+0x17a3,
+0x17c9,
+0x17ef,
+0x1815,
+0x183b,
+0x1861,
+0x1887,
+0x18ad,
+0x18d3,
+0x18f9,
+0x191f,
+0x1945,
+0x196b,
+0x1991,
+0x19b7,
+0x19dd,
+0x1a03,
+0x1a29,
+0x1a4f,
+0x1a75,
+0x1a9b,
+0x1ac1,
+0x1ae7,
+0x1b0d,
+0x1b33,
+0x1b59,
+0x1b7f,
+0x1ba5,
+0x1bcb,
+0x1bf1,
+0x1c17,
+0x1c3d,
+0x1c63,
+0x1c89,
+0x1caf,
+0x1cd5,
+0x1cfb,
+0x1d21,
+0x1d47,
+0x1d6d,
+0x1d93,
+0x1db9,
+0x1ddf,
+0x1e05,
+0x1e2b,
+0x1e51,
+0x1e77,
+0x1e9d,
+0x1ec3,
+0x1ee9,
+0x1f0f,
+0x1f35,
+0x1f5b,
+0x1f81,
+0x1fa7,
+0x1fcd,
+0x1ff3,
+0x2019,
+0x203f,
+0x2065,
+0x208b,
+0x20b1,
+0x20d7,
+0x20fd,
+0x2123,
+0x2149,
+0x216f,
+0x2195,
+0x21bb,
+0x21e1,
+0x2207,
+0x222d,
+0x2253,
+0x2279,
+0x229f,
+0x22c5,
+0x22eb,
+0x2311,
+0x2337,
+0x235d,
+0x2383,
+0x23a9,
+0x23cf,
+0x23f5,
+0x241b,
+0x2441,
+0x2467,
+0x248d,
+0x24b3,
+0x24d9
};
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
+0x45,
+0x69,
+0x8d,
+0xb1,
+0xd5,
+0xf9,
+0x11d,
+0x141,
+0x165,
+0x18b,
+0x1b1,
+0x1d7,
+0x1fd,
+0x223,
+0x249,
+0x26f,
+0x295,
+0x2bb,
+0x2e1,
+0x307,
+0x32d,
+0x353,
+0x379,
+0x39f,
+0x3c5,
+0x3eb,
+0x411,
+0x437,
+0x45d,
+0x483,
+0x4a9,
+0x4cf,
+0x4f5,
+0x51b,
+0x541,
+0x567,
+0x58d,
+0x5b3,
+0x5d9,
+0x5ff,
+0x625,
+0x64b,
+0x671,
+0x697,
+0x6bd,
+0x6e3,
+0x709,
+0x72f,
+0x755,
+0x77b,
+0x7a1,
+0x7c7,
+0x7ed,
+0x813,
+0x839,
+0x85f,
+0x885,
+0x8ab,
+0x8d1,
+0x8f7,
+0x91d,
+0x943,
+0x969,
+0x98f,
+0x9b5,
+0x9db,
+0xa01,
+0xa27,
+0xa4d,
+0xa73,
+0xa99,
+0xabf,
+0xae5,
+0xb0b,
+0xb31,
+0xb57,
+0xb7d,
+0xba3,
+0xbc9,
+0xbef,
+0xc15,
+0xc3b,
+0xc61,
+0xc87,
+0xcad,
+0xcd3,
+0xcf9,
+0xd1f,
+0xd45,
+0xd6b,
+0xd91,
+0xdb7,
+0xddd,
+0xe03,
+0xe29,
+0xe4f,
+0xe75,
+0xe9b,
+0xec1,
+0xee7,
+0xf0d,
+0xf33,
+0xf59,
+0xf7f,
+0xfa5,
+0xfcb,
+0xff1,
+0x1017,
+0x103d,
+0x1063,
+0x1089,
+0x10af,
+0x10d5,
+0x10fb,
+0x1121,
+0x1147,
+0x116d,
+0x1193,
+0x11b9,
+0x11df,
+0x1205,
+0x122b,
+0x1251,
+0x1277,
+0x129d,
+0x12c3,
+0x12e9,
+0x130f,
+0x1335,
+0x135b,
+0x1381,
+0x13a7,
+0x13cd,
+0x13f3,
+0x1419,
+0x143f,
+0x1465,
+0x148b,
+0x14b1,
+0x14d7,
+0x14fd,
+0x1523,
+0x1549,
+0x156f,
+0x1595,
+0x15bb,
+0x15e1,
+0x1607,
+0x162d,
+0x1653,
+0x1679,
+0x169f,
+0x16c5,
+0x16eb,
+0x1711,
+0x1737,
+0x175d,
+0x1783,
+0x17a9,
+0x17cf,
+0x17f5,
+0x181b,
+0x1841,
+0x1867,
+0x188d,
+0x18b3,
+0x18d9,
+0x18ff,
+0x1925,
+0x194b,
+0x1971,
+0x1997,
+0x19bd,
+0x19e3,
+0x1a09,
+0x1a2f,
+0x1a55,
+0x1a7b,
+0x1aa1,
+0x1ac7,
+0x1aed,
+0x1b13,
+0x1b39,
+0x1b5f,
+0x1b85,
+0x1bab,
+0x1bd1,
+0x1bf7,
+0x1c1d,
+0x1c43,
+0x1c69,
+0x1c8f,
+0x1cb5,
+0x1cdb,
+0x1d01,
+0x1d27,
+0x1d4d,
+0x1d73,
+0x1d99,
+0x1dbf,
+0x1de5,
+0x1e0b,
+0x1e31,
+0x1e57,
+0x1e7d,
+0x1ea3,
+0x1ec9,
+0x1eef,
+0x1f15,
+0x1f3b,
+0x1f61,
+0x1f87,
+0x1fad,
+0x1fd3,
+0x1ff9,
+0x201f,
+0x2045,
+0x206b,
+0x2091,
+0x20b7,
+0x20dd,
+0x2103,
+0x2129,
+0x214f,
+0x2175,
+0x219b,
+0x21c1,
+0x21e7,
+0x220d,
+0x2233,
+0x2259,
+0x227f,
+0x22a5,
+0x22cb,
+0x22f1,
+0x2317,
+0x233d,
+0x2363,
+0x2389,
+0x23af,
+0x23d5,
+0x23fb,
+0x2421,
+0x2447,
+0x246d,
+0x2493,
+0x24b9,
+0x24df
};
static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x53,
0x44,
0x54,
-0x44,
-0x6,
+0x6d,
+0x26,
0x0,
0x0,
0x1,
-0x94,
+0x7f,
0x42,
0x58,
0x50,
@@ -97,13 +531,14 @@ static unsigned char ssdp_pcihp_aml[] = {
0x4e,
0x54,
0x4c,
-0x28,
-0x5,
-0x10,
+0x23,
+0x1,
+0x9,
0x20,
0x10,
-0x4f,
-0x61,
+0x88,
+0x64,
+0x2,
0x5c,
0x2e,
0x5f,
@@ -120,14 +555,266 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x31,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x1,
+0x0,
+0x14,
+0xc,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0x1,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0x1,
+0x5b,
+0x82,
+0x22,
+0x53,
+0x30,
+0x31,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x1,
+0x0,
+0x14,
+0xc,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0x1,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0x1,
+0x5b,
+0x82,
+0x22,
+0x53,
+0x30,
+0x31,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x1,
+0x0,
+0x14,
+0xc,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0x1,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0x1,
+0x5b,
+0x82,
+0x22,
+0x53,
+0x30,
+0x31,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x1,
+0x0,
+0x14,
+0xc,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0x1,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0x1,
+0x5b,
+0x82,
+0x22,
+0x53,
+0x30,
+0x31,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x1,
+0x0,
+0x14,
+0xc,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0x1,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0x1,
+0x5b,
+0x82,
+0x22,
+0x53,
+0x30,
+0x31,
+0x35,
+0x8,
0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x1,
+0x0,
+0x14,
+0xc,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0x1,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0x1,
+0x5b,
+0x82,
+0x22,
+0x53,
+0x30,
+0x31,
+0x36,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x6,
+0x0,
+0x1,
0x0,
+0x14,
+0xc,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0x1,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0x1,
+0x5b,
+0x82,
+0x22,
+0x53,
+0x30,
+0x31,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0x1,
0x0,
@@ -156,14 +843,90 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x32,
+0x30,
+0x8,
0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x2,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x2,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x2,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x32,
+0x31,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x1,
+0x0,
+0x2,
0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x2,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x2,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x32,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
0x0,
0x2,
0x0,
@@ -193,15 +956,281 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x30,
+0x32,
0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x2,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x2,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x2,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x32,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x2,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x2,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x2,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x32,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x2,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x2,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x2,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x32,
+0x36,
+0x8,
0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x2,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x2,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x2,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x32,
+0x37,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x7,
0x0,
+0x2,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x2,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x2,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x33,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x3,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x3,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x3,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x33,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x3,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x3,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x3,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x33,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
0x0,
0x3,
0x0,
@@ -231,15 +1260,281 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x30,
+0x33,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x3,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x3,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x3,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x33,
0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x3,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x3,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x3,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x33,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x3,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x3,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x3,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x33,
+0x36,
+0x8,
0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x3,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x3,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x3,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x33,
+0x37,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x7,
0x0,
+0x3,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x3,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x3,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x34,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x4,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x4,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x4,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x34,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x4,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x4,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x4,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x34,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
0x0,
0x4,
0x0,
@@ -269,15 +1564,395 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x30,
+0x34,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x4,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x4,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x4,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x34,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x4,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x4,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x4,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x34,
0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x4,
+0x0,
+0x14,
+0xd,
0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x4,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x4,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x34,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x4,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x4,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x4,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x34,
+0x37,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x7,
0x0,
+0x4,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x4,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x4,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x35,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x5,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x5,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x5,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x35,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x5,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x5,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x5,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x35,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x5,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x5,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x5,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x35,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x5,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x5,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x5,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x35,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x5,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x5,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x5,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x35,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
0x0,
0x5,
0x0,
@@ -307,15 +1982,357 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x30,
+0x35,
0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x5,
+0x0,
+0x14,
+0xd,
0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x5,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x5,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x35,
+0x37,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x7,
+0x0,
+0x5,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x5,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x5,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x36,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x6,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x6,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x6,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x36,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x6,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x6,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x6,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x36,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x6,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x6,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x6,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x36,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x6,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x6,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x6,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x36,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x6,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x6,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x6,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x36,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x6,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x6,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x6,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x36,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
0x0,
+0x6,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x6,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x6,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x36,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0x6,
0x0,
@@ -346,14 +2363,204 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x37,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x7,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x7,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x7,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x37,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x7,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x7,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x7,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x37,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x7,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x7,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x7,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x37,
+0x33,
+0x8,
0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x7,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x7,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x7,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x37,
+0x34,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x4,
+0x0,
+0x7,
0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x7,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x7,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x37,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
0x0,
0x7,
0x0,
@@ -383,8 +2590,388 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x30,
+0x37,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x7,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x7,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x7,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x37,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
+0x0,
+0x7,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x7,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x7,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x38,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x8,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x8,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x8,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x38,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x8,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x8,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x8,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x38,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x8,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x8,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x8,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x38,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x8,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x8,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x8,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x38,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x8,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x8,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x8,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x38,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x8,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x8,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x8,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
0x38,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x8,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x8,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x8,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x38,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
+0x0,
+0x8,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x8,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x8,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x39,
+0x30,
0x8,
0x5f,
0x41,
@@ -393,7 +2980,83 @@ static unsigned char ssdp_pcihp_aml[] = {
0xc,
0x0,
0x0,
+0x9,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x9,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x9,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x39,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x9,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x9,
0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x9,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x39,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x9,
0x0,
0x14,
0xd,
@@ -408,28 +3071,180 @@ static unsigned char ssdp_pcihp_aml[] = {
0x45,
0x4a,
0xa,
+0x9,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x9,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x39,
+0x33,
0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x9,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x9,
0x8,
0x5f,
0x53,
0x55,
0x4e,
0xa,
+0x9,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x39,
+0x34,
0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x9,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x9,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x9,
0x5b,
0x82,
0x24,
0x53,
0x30,
0x39,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x9,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x9,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x9,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x39,
+0x36,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x6,
0x0,
+0x9,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x9,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x9,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x39,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0x9,
0x0,
@@ -460,14 +3275,280 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x41,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0xa,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xa,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xa,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x41,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0xa,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xa,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xa,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x41,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0xa,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xa,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xa,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x41,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0xa,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xa,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xa,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x41,
+0x34,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x4,
0x0,
+0xa,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xa,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xa,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x41,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0xa,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xa,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xa,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x41,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0xa,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xa,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xa,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x41,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0xa,
0x0,
@@ -498,14 +3579,90 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x42,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0xb,
+0x0,
+0x14,
+0xd,
0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xb,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xb,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x42,
+0x31,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x1,
+0x0,
+0xb,
0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xb,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xb,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x42,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
0x0,
0xb,
0x0,
@@ -535,17 +3692,93 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x30,
+0x42,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0xb,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
0x43,
+0x45,
+0x4a,
+0xa,
+0xb,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xb,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x42,
+0x34,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x4,
0x0,
+0xb,
0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xb,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xb,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x42,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
0xc,
+0x5,
+0x0,
+0xb,
0x0,
0x14,
0xd,
@@ -560,30 +3793,182 @@ static unsigned char ssdp_pcihp_aml[] = {
0x45,
0x4a,
0xa,
+0xb,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xb,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x42,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
0xc,
+0x6,
+0x0,
+0xb,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xb,
0x8,
0x5f,
0x53,
0x55,
0x4e,
0xa,
+0xb,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x42,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
0xc,
+0x7,
+0x0,
+0xb,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xb,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xb,
0x5b,
0x82,
0x24,
0x53,
0x30,
+0x43,
+0x30,
+0x8,
+0x5f,
+0x41,
0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0xc,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xc,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xc,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x43,
+0x31,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x1,
0x0,
+0xc,
0x0,
+0x14,
0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xc,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xc,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x43,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0xc,
0x0,
0x14,
0xd,
@@ -598,28 +3983,788 @@ static unsigned char ssdp_pcihp_aml[] = {
0x45,
0x4a,
0xa,
+0xc,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xc,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x43,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0xc,
+0x0,
+0x14,
0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xc,
0x8,
0x5f,
0x53,
0x55,
0x4e,
0xa,
+0xc,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x43,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0xc,
+0x0,
+0x14,
0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xc,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xc,
0x5b,
0x82,
0x24,
0x53,
0x30,
+0x43,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0xc,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
0x45,
+0x4a,
+0xa,
+0xc,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xc,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x43,
+0x36,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x6,
+0x0,
+0xc,
0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xc,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xc,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x43,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
+0x0,
+0xc,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xc,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xc,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x44,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0xd,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xd,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xd,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x44,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0xd,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xd,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xd,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x44,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0xd,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xd,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xd,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x44,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0xd,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xd,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xd,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x44,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0xd,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xd,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xd,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x44,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0xd,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xd,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xd,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x44,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0xd,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xd,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xd,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x44,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
+0x0,
+0xd,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xd,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xd,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x45,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0xe,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xe,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xe,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x45,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0xe,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xe,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xe,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x45,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0xe,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xe,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xe,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x45,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0xe,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xe,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xe,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x45,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0xe,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xe,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xe,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x45,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0xe,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xe,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xe,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x45,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0xe,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xe,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xe,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x45,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0xe,
0x0,
@@ -650,14 +4795,280 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x46,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0xf,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xf,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xf,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x46,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0xf,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xf,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xf,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x46,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0xf,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xf,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xf,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x46,
+0x33,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x3,
0x0,
+0xf,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xf,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xf,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x46,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0xf,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xf,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xf,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x46,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0xf,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xf,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xf,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x46,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0xf,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0xf,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0xf,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x30,
+0x46,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0xf,
0x0,
@@ -688,14 +5099,90 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x30,
+0x30,
+0x8,
0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x10,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x10,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x10,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x30,
+0x31,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x1,
0x0,
+0x10,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x10,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x10,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x30,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
0x0,
0x10,
0x0,
@@ -725,15 +5212,471 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x31,
+0x30,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x10,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x10,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x10,
+0x5b,
+0x82,
+0x24,
+0x53,
0x31,
+0x30,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x10,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x10,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x10,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x30,
+0x35,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x5,
0x0,
+0x10,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x10,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x10,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x30,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x10,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x10,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x10,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x30,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
+0x0,
+0x10,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x10,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x10,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x31,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x11,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x11,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x11,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x31,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x11,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x11,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x11,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x31,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x11,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x11,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x11,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x31,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x11,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x11,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x11,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x31,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x11,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x11,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x11,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x31,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x11,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x11,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x11,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x31,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x11,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x11,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x11,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x31,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0x11,
0x0,
@@ -764,14 +5707,90 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x32,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x12,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x12,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x12,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x32,
+0x31,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x1,
0x0,
+0x12,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x12,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x12,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x32,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
0x0,
0x12,
0x0,
@@ -801,15 +5820,319 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x31,
+0x32,
0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x12,
+0x0,
+0x14,
+0xd,
0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x12,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x12,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x32,
+0x34,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x4,
0x0,
+0x12,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x12,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x12,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x32,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x12,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x12,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x12,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x32,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x12,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x12,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x12,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x32,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
+0x0,
+0x12,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x12,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x12,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x33,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x13,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x13,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x13,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x33,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x13,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x13,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x13,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x33,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x13,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x13,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x13,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x33,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
0x0,
0x13,
0x0,
@@ -839,8 +6162,160 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x31,
+0x33,
0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x13,
+0x0,
+0x14,
+0xd,
0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x13,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x13,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x33,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x13,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x13,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x13,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x33,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x13,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x13,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x13,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x33,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
+0x0,
+0x13,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x13,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x13,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x34,
+0x30,
0x8,
0x5f,
0x41,
@@ -877,15 +6352,395 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x31,
+0x34,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x14,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x14,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x14,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x34,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x14,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x14,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x14,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x34,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x14,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x14,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x14,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x34,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x14,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x14,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x14,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x34,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x14,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x14,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x14,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x34,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x14,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x14,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x14,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x34,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
+0x0,
+0x14,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x14,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x14,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x35,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x15,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x15,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x15,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
0x35,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x15,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x15,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x15,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x35,
+0x32,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x2,
0x0,
+0x15,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x15,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x15,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x35,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
0x0,
0x15,
0x0,
@@ -915,15 +6770,433 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x31,
+0x35,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x15,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x15,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x15,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x35,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x15,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x15,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x15,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x35,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x15,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x15,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x15,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x35,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
+0x0,
+0x15,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x15,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x15,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x36,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x16,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x16,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x16,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x36,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x16,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x16,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x16,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x36,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x16,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x16,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x16,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x36,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x16,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x16,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x16,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
0x36,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x16,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x16,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x16,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x36,
+0x35,
+0x8,
0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x16,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x16,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x16,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x36,
+0x36,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x6,
0x0,
+0x16,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x16,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x16,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x36,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0x16,
0x0,
@@ -954,14 +7227,280 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x37,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x17,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x17,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x17,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x37,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x17,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x17,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x17,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x37,
+0x32,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x2,
0x0,
+0x17,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x17,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x17,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x37,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x17,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x17,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x17,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x37,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x17,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x17,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x17,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x37,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x17,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x17,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x17,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x37,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x17,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x17,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x17,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x37,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0x17,
0x0,
@@ -992,14 +7531,280 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x38,
+0x30,
+0x8,
0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x18,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x18,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x18,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x38,
+0x31,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x1,
+0x0,
+0x18,
0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x18,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x18,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x38,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x18,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x18,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x18,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x38,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x18,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x18,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x18,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x38,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x18,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x18,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x18,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x38,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x18,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x18,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x18,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x38,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x18,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x18,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x18,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x38,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0x18,
0x0,
@@ -1030,14 +7835,90 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x39,
+0x30,
+0x8,
0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x19,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x19,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x19,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x39,
+0x31,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x1,
0x0,
+0x19,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x19,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x19,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x39,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
0x0,
0x19,
0x0,
@@ -1067,15 +7948,471 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x31,
+0x39,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x19,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x19,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x19,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x39,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x19,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x19,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x19,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x39,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x19,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x19,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x19,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x39,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x19,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x19,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x19,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x39,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
+0x0,
+0x19,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x19,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x19,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x41,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x1a,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1a,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1a,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x41,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x1a,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1a,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1a,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x41,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x1a,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1a,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1a,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x41,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x1a,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1a,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1a,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x41,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x1a,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1a,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1a,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
0x41,
+0x35,
+0x8,
0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x1a,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1a,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1a,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x41,
+0x36,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x6,
+0x0,
+0x1a,
0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1a,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1a,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x41,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0x1a,
0x0,
@@ -1106,14 +8443,90 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x42,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x1b,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1b,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1b,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x42,
+0x31,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x1,
0x0,
+0x1b,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1b,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1b,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x42,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
0x0,
0x1b,
0x0,
@@ -1143,15 +8556,471 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x31,
+0x42,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x1b,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1b,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1b,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x42,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x1b,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1b,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1b,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x42,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x1b,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1b,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1b,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x42,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x1b,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1b,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1b,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x42,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
+0x0,
+0x1b,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1b,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1b,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x43,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x1c,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1c,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1c,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x43,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x1c,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1c,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1c,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x43,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x1c,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1c,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1c,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x43,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x1c,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1c,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1c,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x43,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x1c,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1c,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1c,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x43,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x1c,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
0x43,
+0x45,
+0x4a,
+0xa,
+0x1c,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1c,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x43,
+0x36,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x6,
0x0,
+0x1c,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1c,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1c,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x43,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0x1c,
0x0,
@@ -1182,14 +9051,90 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x44,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x1d,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1d,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1d,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x44,
+0x31,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x1,
0x0,
+0x1d,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1d,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1d,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x44,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
0x0,
0x1d,
0x0,
@@ -1219,15 +9164,471 @@ static unsigned char ssdp_pcihp_aml[] = {
0x24,
0x53,
0x31,
+0x44,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x1d,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1d,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1d,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x44,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x1d,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1d,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1d,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x44,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x1d,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1d,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1d,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x44,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x1d,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1d,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1d,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x44,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
+0x0,
+0x1d,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1d,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1d,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x45,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x1e,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1e,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1e,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x45,
+0x31,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x1,
+0x0,
+0x1e,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1e,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1e,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x45,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x1e,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1e,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1e,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x45,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x1e,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1e,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1e,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x45,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x1e,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1e,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1e,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x45,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x1e,
+0x0,
+0x14,
+0xd,
+0x5f,
0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1e,
+0x8,
0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1e,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x45,
+0x36,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x6,
0x0,
+0x1e,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1e,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1e,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x45,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0x1e,
0x0,
@@ -1258,14 +9659,280 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x46,
+0x30,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x0,
+0x0,
+0x1f,
+0x0,
+0x14,
+0xd,
0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1f,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1f,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x46,
+0x31,
0x8,
0x5f,
0x41,
0x44,
0x52,
0xc,
+0x1,
0x0,
+0x1f,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1f,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1f,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x46,
+0x32,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x2,
+0x0,
+0x1f,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1f,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1f,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x46,
+0x33,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x3,
+0x0,
+0x1f,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1f,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1f,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x46,
+0x34,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x4,
+0x0,
+0x1f,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1f,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1f,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x46,
+0x35,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x5,
+0x0,
+0x1f,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1f,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1f,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x46,
+0x36,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x6,
+0x0,
+0x1f,
+0x0,
+0x14,
+0xd,
+0x5f,
+0x45,
+0x4a,
+0x30,
+0x1,
+0xa4,
+0x50,
+0x43,
+0x45,
+0x4a,
+0xa,
+0x1f,
+0x8,
+0x5f,
+0x53,
+0x55,
+0x4e,
+0xa,
+0x1f,
+0x5b,
+0x82,
+0x24,
+0x53,
+0x31,
+0x46,
+0x37,
+0x8,
+0x5f,
+0x41,
+0x44,
+0x52,
+0xc,
+0x7,
0x0,
0x1f,
0x0,
@@ -1307,7 +9974,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x31,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1319,7 +9986,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x32,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1331,7 +9998,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x33,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1343,7 +10010,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x34,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1355,7 +10022,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x35,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1367,7 +10034,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x36,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1379,7 +10046,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x37,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1391,7 +10058,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x38,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1403,7 +10070,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x39,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1415,7 +10082,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x41,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1427,7 +10094,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x42,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1439,7 +10106,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x43,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1451,7 +10118,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x44,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1463,7 +10130,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x45,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1475,7 +10142,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x30,
0x46,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1487,7 +10154,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x30,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1499,7 +10166,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x31,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1511,7 +10178,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x32,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1523,7 +10190,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x33,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1535,7 +10202,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x34,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1547,7 +10214,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x35,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1559,7 +10226,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x36,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1571,7 +10238,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x37,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1583,7 +10250,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x38,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1595,7 +10262,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x39,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1607,7 +10274,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x41,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1619,7 +10286,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x42,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1631,7 +10298,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x43,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1643,7 +10310,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x44,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1655,7 +10322,7 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x45,
-0x5f,
+0x30,
0x69,
0xa0,
0xb,
@@ -1667,6 +10334,6 @@ static unsigned char ssdp_pcihp_aml[] = {
0x53,
0x31,
0x46,
-0x5f,
+0x30,
0x69
};
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-09 7:24 ` [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables Amos Kong
@ 2012-05-09 7:35 ` Amos Kong
2012-05-09 8:46 ` Michael S. Tsirkin
` (2 subsequent siblings)
3 siblings, 0 replies; 16+ messages in thread
From: Amos Kong @ 2012-05-09 7:35 UTC (permalink / raw)
To: mst, linux-pci, seabios, qemu-devel, jbarnes, rjw,
alex.williamson, kevin
[-- Attachment #1: Type: text/plain, Size: 4619 bytes --]
On 09/05/12 15:24, Amos Kong wrote:
> Boot up a Linux VM with 8 pci block devices which
> are the 8 functions in one pci slot.
> | # qemu-kvm ...
> | -drive file=images/u0,if=none,id=drv0,format=qcow2,cache=none \
> | -device virtio-blk-pci,drive=drv0,id=v0,multifunction=on,addr=0x03.0 \
> | ....
> | -drive file=images/u7,if=none,id=drv7,format=qcow2,cache=none \
> | -device virtio-blk-pci,drive=drv7,id=v7,multifunction=on,addr=0x03.7 \
>
> Check devices in guest.
> | vm)# ls /dev/vd*
> | vda vdb vdc vde vdf vdg vdh
> | vm)# lspci |grep block
> | 00:03.0 SCSI storage controller: Red Hat, Inc Virtio block device
> | ...
> | 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device
> |
>
> Func1~7 still exist in guest after hot-removing the whole slot
> through qemu monitor.
> | vm)# lspci |grep block (00:03.0 disappeared)
> | 00:03.1 SCSI storage controller: Red Hat, Inc Virtio block device (rev ff)
> | ...
> | 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device (rev ff)
> | vm)# ls /dev/vd* (vda disappeared)
> | vdb vdc vde vdf vdg vdh
> | vm)# mkfs /dev/vdb
> | INFO: task mkfs.ext2:1784 blocked for more than 120 seconds. (task hung)
>
>
> Currently only func0 is defined in ACPI DSDT table
> of seabios, and only hot-adding func0 would cause
> a ACPI event for notification. Other funcs except
> func0 wouldn't be registered in linux pci driver.
> (we can only found func0 in slot->funcs list of
> pci driver).
>
> When VM pci driver receives an ACPI event for
> hot-removing, it will only clean functions in
> slot->funcs list, the other funcs could not be
> cleaned.
>
> This patch adds device per function in ACPI DSDT tables,
> then all funcs will be registered in slot->funcs list.
> It's coincident with microsoft's example:
> http://www.microsoft.com/china/whdc/system/pnppwr/hotadd/hotplugpci.mspx#EUH
Attached 'seabios/out/ssdt-pcihp.dsl.i'.
btw, the first mail is little big (86K), please delete hex part
when you reply, thanks.
> Have tested with linux/winxp/win7, hot-adding/hot-remving,
> single/multiple function devices, they are all fine(all
> added devices can be removed).
>
> This patch includes some bits mst wrote, thanks!
> ---
> old discussion: http://marc.info/?l=kvm&m=132428400917405&w=2
>
> Signed-off-by: Amos Kong<akong@redhat.com>
> CC: Michael S. Tsirkin<mst@redhat.com>
> ---
> src/ssdt-pcihp.dsl | 17
> src/ssdt-pcihp.hex | 8869 +++++++++++++++++++++++++++++++++++++++++++++++++++-
> 2 files changed, 8781 insertions(+), 105 deletions(-)
>
> diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl
> index 4b435b8..2a3c326 100644
> --- a/src/ssdt-pcihp.dsl
> +++ b/src/ssdt-pcihp.dsl
> @@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
> // at runtime, if the slot is detected to not support hotplug.
> // Extract the offset of the address dword and the
> // _EJ0 name to allow this patching.
> -#define hotplug_slot(slot) \
> - Device (S##slot) { \
> +#define hotplug_func(slot, fn) \
> + Device (S##slot##fn) { \
> ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \
> - Name (_ADR, 0x##slot##0000) \
> + Name (_ADR, 0x##slot##000##fn) \
> ACPI_EXTRACT_METHOD_STRING aml_ej0_name \
> Method (_EJ0, 1) { Return(PCEJ(0x##slot)) } \
> Name (_SUN, 0x##slot) \
> }
> +#define hotplug_slot(slot) \
> + hotplug_func(slot, 0) \
> + hotplug_func(slot, 1) \
> + hotplug_func(slot, 2) \
> + hotplug_func(slot, 3) \
> + hotplug_func(slot, 4) \
> + hotplug_func(slot, 5) \
> + hotplug_func(slot, 6) \
> + hotplug_func(slot, 7)
>
> hotplug_slot(01)
> hotplug_slot(02)
> @@ -59,7 +68,7 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
> hotplug_slot(1f)
>
> #define gen_pci_hotplug(slot) \
> - If (LEqual(Arg0, 0x##slot)) { Notify(S##slot, Arg1) }
> + If (LEqual(Arg0, 0x##slot)) { Notify(S##slot##0, Arg1) }
>
> Method(PCNT, 2) {
> gen_pci_hotplug(01)
> diff --git a/src/ssdt-pcihp.hex b/src/ssdt-pcihp.hex
> index b15ad5a..b0c1e84 100644
> --- a/src/ssdt-pcihp.hex
> +++ b/src/ssdt-pcihp.hex
> @@ -1,80 +1,514 @@
> static unsigned short aml_adr_dword[] = {
> -0x3e,
> -0x62,
> -0x88,
....
--
Amos.
[-- Attachment #2: ssdt-pcihp.dsl.i --]
[-- Type: text/plain, Size: 51457 bytes --]
/* ACPI_EXTRACT_ALL_CODE ssdp_pcihp_aml */
DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
{
External (\_SB.PCI0, DeviceObj)
External (\_SB.PCI0.PCEJ, MethodObj)
Scope(\_SB.PCI0) {
Device (S010) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x010000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x01)) } Name (_SUN, 0x01) } Device (S011) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x010001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x01)) } Name (_SUN, 0x01) } Device (S012) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x010002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x01)) } Name (_SUN, 0x01) } Device (S013) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x010003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x01)) } Name (_SUN, 0x01) } Device (S014) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x010004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x01)) } Name (_SUN, 0x01) } Device (S015) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x010005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x01)) } Name (_SUN, 0x01) } Device (S016) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x010006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x01)) } Name (_SUN, 0x01) } Device (S017) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x010007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x01)) } Name (_SUN, 0x01) }
Device (S020) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x020000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x02)) } Name (_SUN, 0x02) } Device (S021) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x020001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x02)) } Name (_SUN, 0x02) } Device (S022) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x020002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x02)) } Name (_SUN, 0x02) } Device (S023) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x020003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x02)) } Name (_SUN, 0x02) } Device (S024) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x020004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x02)) } Name (_SUN, 0x02) } Device (S025) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x020005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x02)) } Name (_SUN, 0x02) } Device (S026) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x020006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x02)) } Name (_SUN, 0x02) } Device (S027) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x020007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x02)) } Name (_SUN, 0x02) }
Device (S030) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x030000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x03)) } Name (_SUN, 0x03) } Device (S031) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x030001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x03)) } Name (_SUN, 0x03) } Device (S032) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x030002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x03)) } Name (_SUN, 0x03) } Device (S033) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x030003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x03)) } Name (_SUN, 0x03) } Device (S034) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x030004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x03)) } Name (_SUN, 0x03) } Device (S035) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x030005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x03)) } Name (_SUN, 0x03) } Device (S036) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x030006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x03)) } Name (_SUN, 0x03) } Device (S037) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x030007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x03)) } Name (_SUN, 0x03) }
Device (S040) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x040000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x04)) } Name (_SUN, 0x04) } Device (S041) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x040001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x04)) } Name (_SUN, 0x04) } Device (S042) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x040002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x04)) } Name (_SUN, 0x04) } Device (S043) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x040003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x04)) } Name (_SUN, 0x04) } Device (S044) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x040004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x04)) } Name (_SUN, 0x04) } Device (S045) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x040005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x04)) } Name (_SUN, 0x04) } Device (S046) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x040006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x04)) } Name (_SUN, 0x04) } Device (S047) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x040007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x04)) } Name (_SUN, 0x04) }
Device (S050) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x050000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x05)) } Name (_SUN, 0x05) } Device (S051) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x050001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x05)) } Name (_SUN, 0x05) } Device (S052) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x050002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x05)) } Name (_SUN, 0x05) } Device (S053) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x050003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x05)) } Name (_SUN, 0x05) } Device (S054) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x050004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x05)) } Name (_SUN, 0x05) } Device (S055) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x050005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x05)) } Name (_SUN, 0x05) } Device (S056) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x050006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x05)) } Name (_SUN, 0x05) } Device (S057) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x050007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x05)) } Name (_SUN, 0x05) }
Device (S060) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x060000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x06)) } Name (_SUN, 0x06) } Device (S061) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x060001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x06)) } Name (_SUN, 0x06) } Device (S062) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x060002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x06)) } Name (_SUN, 0x06) } Device (S063) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x060003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x06)) } Name (_SUN, 0x06) } Device (S064) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x060004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x06)) } Name (_SUN, 0x06) } Device (S065) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x060005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x06)) } Name (_SUN, 0x06) } Device (S066) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x060006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x06)) } Name (_SUN, 0x06) } Device (S067) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x060007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x06)) } Name (_SUN, 0x06) }
Device (S070) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x070000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x07)) } Name (_SUN, 0x07) } Device (S071) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x070001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x07)) } Name (_SUN, 0x07) } Device (S072) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x070002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x07)) } Name (_SUN, 0x07) } Device (S073) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x070003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x07)) } Name (_SUN, 0x07) } Device (S074) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x070004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x07)) } Name (_SUN, 0x07) } Device (S075) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x070005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x07)) } Name (_SUN, 0x07) } Device (S076) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x070006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x07)) } Name (_SUN, 0x07) } Device (S077) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x070007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x07)) } Name (_SUN, 0x07) }
Device (S080) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x080000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x08)) } Name (_SUN, 0x08) } Device (S081) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x080001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x08)) } Name (_SUN, 0x08) } Device (S082) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x080002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x08)) } Name (_SUN, 0x08) } Device (S083) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x080003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x08)) } Name (_SUN, 0x08) } Device (S084) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x080004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x08)) } Name (_SUN, 0x08) } Device (S085) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x080005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x08)) } Name (_SUN, 0x08) } Device (S086) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x080006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x08)) } Name (_SUN, 0x08) } Device (S087) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x080007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x08)) } Name (_SUN, 0x08) }
Device (S090) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x090000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x09)) } Name (_SUN, 0x09) } Device (S091) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x090001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x09)) } Name (_SUN, 0x09) } Device (S092) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x090002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x09)) } Name (_SUN, 0x09) } Device (S093) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x090003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x09)) } Name (_SUN, 0x09) } Device (S094) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x090004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x09)) } Name (_SUN, 0x09) } Device (S095) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x090005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x09)) } Name (_SUN, 0x09) } Device (S096) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x090006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x09)) } Name (_SUN, 0x09) } Device (S097) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x090007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x09)) } Name (_SUN, 0x09) }
Device (S0a0) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0a0000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0a)) } Name (_SUN, 0x0a) } Device (S0a1) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0a0001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0a)) } Name (_SUN, 0x0a) } Device (S0a2) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0a0002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0a)) } Name (_SUN, 0x0a) } Device (S0a3) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0a0003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0a)) } Name (_SUN, 0x0a) } Device (S0a4) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0a0004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0a)) } Name (_SUN, 0x0a) } Device (S0a5) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0a0005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0a)) } Name (_SUN, 0x0a) } Device (S0a6) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0a0006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0a)) } Name (_SUN, 0x0a) } Device (S0a7) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0a0007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0a)) } Name (_SUN, 0x0a) }
Device (S0b0) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0b0000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0b)) } Name (_SUN, 0x0b) } Device (S0b1) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0b0001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0b)) } Name (_SUN, 0x0b) } Device (S0b2) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0b0002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0b)) } Name (_SUN, 0x0b) } Device (S0b3) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0b0003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0b)) } Name (_SUN, 0x0b) } Device (S0b4) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0b0004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0b)) } Name (_SUN, 0x0b) } Device (S0b5) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0b0005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0b)) } Name (_SUN, 0x0b) } Device (S0b6) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0b0006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0b)) } Name (_SUN, 0x0b) } Device (S0b7) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0b0007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0b)) } Name (_SUN, 0x0b) }
Device (S0c0) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0c0000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0c)) } Name (_SUN, 0x0c) } Device (S0c1) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0c0001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0c)) } Name (_SUN, 0x0c) } Device (S0c2) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0c0002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0c)) } Name (_SUN, 0x0c) } Device (S0c3) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0c0003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0c)) } Name (_SUN, 0x0c) } Device (S0c4) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0c0004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0c)) } Name (_SUN, 0x0c) } Device (S0c5) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0c0005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0c)) } Name (_SUN, 0x0c) } Device (S0c6) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0c0006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0c)) } Name (_SUN, 0x0c) } Device (S0c7) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0c0007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0c)) } Name (_SUN, 0x0c) }
Device (S0d0) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0d0000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0d)) } Name (_SUN, 0x0d) } Device (S0d1) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0d0001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0d)) } Name (_SUN, 0x0d) } Device (S0d2) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0d0002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0d)) } Name (_SUN, 0x0d) } Device (S0d3) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0d0003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0d)) } Name (_SUN, 0x0d) } Device (S0d4) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0d0004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0d)) } Name (_SUN, 0x0d) } Device (S0d5) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0d0005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0d)) } Name (_SUN, 0x0d) } Device (S0d6) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0d0006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0d)) } Name (_SUN, 0x0d) } Device (S0d7) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0d0007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0d)) } Name (_SUN, 0x0d) }
Device (S0e0) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0e0000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0e)) } Name (_SUN, 0x0e) } Device (S0e1) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0e0001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0e)) } Name (_SUN, 0x0e) } Device (S0e2) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0e0002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0e)) } Name (_SUN, 0x0e) } Device (S0e3) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0e0003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0e)) } Name (_SUN, 0x0e) } Device (S0e4) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0e0004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0e)) } Name (_SUN, 0x0e) } Device (S0e5) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0e0005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0e)) } Name (_SUN, 0x0e) } Device (S0e6) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0e0006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0e)) } Name (_SUN, 0x0e) } Device (S0e7) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0e0007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0e)) } Name (_SUN, 0x0e) }
Device (S0f0) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0f0000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0f)) } Name (_SUN, 0x0f) } Device (S0f1) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0f0001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0f)) } Name (_SUN, 0x0f) } Device (S0f2) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0f0002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0f)) } Name (_SUN, 0x0f) } Device (S0f3) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0f0003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0f)) } Name (_SUN, 0x0f) } Device (S0f4) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0f0004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0f)) } Name (_SUN, 0x0f) } Device (S0f5) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0f0005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0f)) } Name (_SUN, 0x0f) } Device (S0f6) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0f0006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0f)) } Name (_SUN, 0x0f) } Device (S0f7) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x0f0007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x0f)) } Name (_SUN, 0x0f) }
Device (S100) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x100000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x10)) } Name (_SUN, 0x10) } Device (S101) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x100001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x10)) } Name (_SUN, 0x10) } Device (S102) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x100002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x10)) } Name (_SUN, 0x10) } Device (S103) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x100003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x10)) } Name (_SUN, 0x10) } Device (S104) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x100004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x10)) } Name (_SUN, 0x10) } Device (S105) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x100005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x10)) } Name (_SUN, 0x10) } Device (S106) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x100006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x10)) } Name (_SUN, 0x10) } Device (S107) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x100007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x10)) } Name (_SUN, 0x10) }
Device (S110) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x110000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x11)) } Name (_SUN, 0x11) } Device (S111) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x110001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x11)) } Name (_SUN, 0x11) } Device (S112) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x110002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x11)) } Name (_SUN, 0x11) } Device (S113) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x110003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x11)) } Name (_SUN, 0x11) } Device (S114) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x110004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x11)) } Name (_SUN, 0x11) } Device (S115) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x110005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x11)) } Name (_SUN, 0x11) } Device (S116) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x110006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x11)) } Name (_SUN, 0x11) } Device (S117) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x110007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x11)) } Name (_SUN, 0x11) }
Device (S120) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x120000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x12)) } Name (_SUN, 0x12) } Device (S121) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x120001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x12)) } Name (_SUN, 0x12) } Device (S122) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x120002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x12)) } Name (_SUN, 0x12) } Device (S123) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x120003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x12)) } Name (_SUN, 0x12) } Device (S124) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x120004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x12)) } Name (_SUN, 0x12) } Device (S125) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x120005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x12)) } Name (_SUN, 0x12) } Device (S126) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x120006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x12)) } Name (_SUN, 0x12) } Device (S127) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x120007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x12)) } Name (_SUN, 0x12) }
Device (S130) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x130000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x13)) } Name (_SUN, 0x13) } Device (S131) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x130001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x13)) } Name (_SUN, 0x13) } Device (S132) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x130002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x13)) } Name (_SUN, 0x13) } Device (S133) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x130003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x13)) } Name (_SUN, 0x13) } Device (S134) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x130004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x13)) } Name (_SUN, 0x13) } Device (S135) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x130005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x13)) } Name (_SUN, 0x13) } Device (S136) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x130006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x13)) } Name (_SUN, 0x13) } Device (S137) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x130007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x13)) } Name (_SUN, 0x13) }
Device (S140) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x140000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x14)) } Name (_SUN, 0x14) } Device (S141) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x140001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x14)) } Name (_SUN, 0x14) } Device (S142) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x140002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x14)) } Name (_SUN, 0x14) } Device (S143) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x140003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x14)) } Name (_SUN, 0x14) } Device (S144) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x140004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x14)) } Name (_SUN, 0x14) } Device (S145) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x140005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x14)) } Name (_SUN, 0x14) } Device (S146) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x140006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x14)) } Name (_SUN, 0x14) } Device (S147) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x140007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x14)) } Name (_SUN, 0x14) }
Device (S150) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x150000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x15)) } Name (_SUN, 0x15) } Device (S151) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x150001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x15)) } Name (_SUN, 0x15) } Device (S152) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x150002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x15)) } Name (_SUN, 0x15) } Device (S153) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x150003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x15)) } Name (_SUN, 0x15) } Device (S154) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x150004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x15)) } Name (_SUN, 0x15) } Device (S155) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x150005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x15)) } Name (_SUN, 0x15) } Device (S156) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x150006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x15)) } Name (_SUN, 0x15) } Device (S157) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x150007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x15)) } Name (_SUN, 0x15) }
Device (S160) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x160000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x16)) } Name (_SUN, 0x16) } Device (S161) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x160001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x16)) } Name (_SUN, 0x16) } Device (S162) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x160002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x16)) } Name (_SUN, 0x16) } Device (S163) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x160003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x16)) } Name (_SUN, 0x16) } Device (S164) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x160004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x16)) } Name (_SUN, 0x16) } Device (S165) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x160005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x16)) } Name (_SUN, 0x16) } Device (S166) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x160006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x16)) } Name (_SUN, 0x16) } Device (S167) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x160007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x16)) } Name (_SUN, 0x16) }
Device (S170) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x170000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x17)) } Name (_SUN, 0x17) } Device (S171) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x170001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x17)) } Name (_SUN, 0x17) } Device (S172) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x170002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x17)) } Name (_SUN, 0x17) } Device (S173) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x170003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x17)) } Name (_SUN, 0x17) } Device (S174) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x170004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x17)) } Name (_SUN, 0x17) } Device (S175) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x170005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x17)) } Name (_SUN, 0x17) } Device (S176) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x170006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x17)) } Name (_SUN, 0x17) } Device (S177) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x170007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x17)) } Name (_SUN, 0x17) }
Device (S180) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x180000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x18)) } Name (_SUN, 0x18) } Device (S181) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x180001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x18)) } Name (_SUN, 0x18) } Device (S182) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x180002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x18)) } Name (_SUN, 0x18) } Device (S183) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x180003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x18)) } Name (_SUN, 0x18) } Device (S184) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x180004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x18)) } Name (_SUN, 0x18) } Device (S185) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x180005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x18)) } Name (_SUN, 0x18) } Device (S186) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x180006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x18)) } Name (_SUN, 0x18) } Device (S187) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x180007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x18)) } Name (_SUN, 0x18) }
Device (S190) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x190000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x19)) } Name (_SUN, 0x19) } Device (S191) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x190001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x19)) } Name (_SUN, 0x19) } Device (S192) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x190002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x19)) } Name (_SUN, 0x19) } Device (S193) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x190003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x19)) } Name (_SUN, 0x19) } Device (S194) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x190004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x19)) } Name (_SUN, 0x19) } Device (S195) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x190005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x19)) } Name (_SUN, 0x19) } Device (S196) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x190006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x19)) } Name (_SUN, 0x19) } Device (S197) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x190007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x19)) } Name (_SUN, 0x19) }
Device (S1a0) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1a0000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1a)) } Name (_SUN, 0x1a) } Device (S1a1) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1a0001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1a)) } Name (_SUN, 0x1a) } Device (S1a2) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1a0002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1a)) } Name (_SUN, 0x1a) } Device (S1a3) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1a0003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1a)) } Name (_SUN, 0x1a) } Device (S1a4) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1a0004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1a)) } Name (_SUN, 0x1a) } Device (S1a5) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1a0005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1a)) } Name (_SUN, 0x1a) } Device (S1a6) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1a0006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1a)) } Name (_SUN, 0x1a) } Device (S1a7) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1a0007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1a)) } Name (_SUN, 0x1a) }
Device (S1b0) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1b0000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1b)) } Name (_SUN, 0x1b) } Device (S1b1) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1b0001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1b)) } Name (_SUN, 0x1b) } Device (S1b2) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1b0002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1b)) } Name (_SUN, 0x1b) } Device (S1b3) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1b0003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1b)) } Name (_SUN, 0x1b) } Device (S1b4) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1b0004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1b)) } Name (_SUN, 0x1b) } Device (S1b5) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1b0005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1b)) } Name (_SUN, 0x1b) } Device (S1b6) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1b0006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1b)) } Name (_SUN, 0x1b) } Device (S1b7) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1b0007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1b)) } Name (_SUN, 0x1b) }
Device (S1c0) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1c0000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1c)) } Name (_SUN, 0x1c) } Device (S1c1) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1c0001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1c)) } Name (_SUN, 0x1c) } Device (S1c2) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1c0002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1c)) } Name (_SUN, 0x1c) } Device (S1c3) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1c0003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1c)) } Name (_SUN, 0x1c) } Device (S1c4) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1c0004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1c)) } Name (_SUN, 0x1c) } Device (S1c5) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1c0005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1c)) } Name (_SUN, 0x1c) } Device (S1c6) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1c0006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1c)) } Name (_SUN, 0x1c) } Device (S1c7) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1c0007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1c)) } Name (_SUN, 0x1c) }
Device (S1d0) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1d0000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1d)) } Name (_SUN, 0x1d) } Device (S1d1) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1d0001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1d)) } Name (_SUN, 0x1d) } Device (S1d2) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1d0002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1d)) } Name (_SUN, 0x1d) } Device (S1d3) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1d0003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1d)) } Name (_SUN, 0x1d) } Device (S1d4) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1d0004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1d)) } Name (_SUN, 0x1d) } Device (S1d5) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1d0005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1d)) } Name (_SUN, 0x1d) } Device (S1d6) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1d0006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1d)) } Name (_SUN, 0x1d) } Device (S1d7) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1d0007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1d)) } Name (_SUN, 0x1d) }
Device (S1e0) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1e0000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1e)) } Name (_SUN, 0x1e) } Device (S1e1) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1e0001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1e)) } Name (_SUN, 0x1e) } Device (S1e2) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1e0002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1e)) } Name (_SUN, 0x1e) } Device (S1e3) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1e0003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1e)) } Name (_SUN, 0x1e) } Device (S1e4) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1e0004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1e)) } Name (_SUN, 0x1e) } Device (S1e5) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1e0005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1e)) } Name (_SUN, 0x1e) } Device (S1e6) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1e0006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1e)) } Name (_SUN, 0x1e) } Device (S1e7) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1e0007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1e)) } Name (_SUN, 0x1e) }
Device (S1f0) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1f0000)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1f)) } Name (_SUN, 0x1f) } Device (S1f1) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1f0001)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1f)) } Name (_SUN, 0x1f) } Device (S1f2) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1f0002)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1f)) } Name (_SUN, 0x1f) } Device (S1f3) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1f0003)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1f)) } Name (_SUN, 0x1f) } Device (S1f4) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1f0004)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1f)) } Name (_SUN, 0x1f) } Device (S1f5) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1f0005)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1f)) } Name (_SUN, 0x1f) } Device (S1f6) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1f0006)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1f)) } Name (_SUN, 0x1f) } Device (S1f7) {
/* ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword */
Name (_ADR, 0x1f0007)
/* ACPI_EXTRACT_METHOD_STRING aml_ej0_name */
Method (_EJ0, 1) { Return(PCEJ(0x1f)) } Name (_SUN, 0x1f) }
Method(PCNT, 2) {
If (LEqual(Arg0, 0x01)) { Notify(S010, Arg1) }
If (LEqual(Arg0, 0x02)) { Notify(S020, Arg1) }
If (LEqual(Arg0, 0x03)) { Notify(S030, Arg1) }
If (LEqual(Arg0, 0x04)) { Notify(S040, Arg1) }
If (LEqual(Arg0, 0x05)) { Notify(S050, Arg1) }
If (LEqual(Arg0, 0x06)) { Notify(S060, Arg1) }
If (LEqual(Arg0, 0x07)) { Notify(S070, Arg1) }
If (LEqual(Arg0, 0x08)) { Notify(S080, Arg1) }
If (LEqual(Arg0, 0x09)) { Notify(S090, Arg1) }
If (LEqual(Arg0, 0x0a)) { Notify(S0a0, Arg1) }
If (LEqual(Arg0, 0x0b)) { Notify(S0b0, Arg1) }
If (LEqual(Arg0, 0x0c)) { Notify(S0c0, Arg1) }
If (LEqual(Arg0, 0x0d)) { Notify(S0d0, Arg1) }
If (LEqual(Arg0, 0x0e)) { Notify(S0e0, Arg1) }
If (LEqual(Arg0, 0x0f)) { Notify(S0f0, Arg1) }
If (LEqual(Arg0, 0x10)) { Notify(S100, Arg1) }
If (LEqual(Arg0, 0x11)) { Notify(S110, Arg1) }
If (LEqual(Arg0, 0x12)) { Notify(S120, Arg1) }
If (LEqual(Arg0, 0x13)) { Notify(S130, Arg1) }
If (LEqual(Arg0, 0x14)) { Notify(S140, Arg1) }
If (LEqual(Arg0, 0x15)) { Notify(S150, Arg1) }
If (LEqual(Arg0, 0x16)) { Notify(S160, Arg1) }
If (LEqual(Arg0, 0x17)) { Notify(S170, Arg1) }
If (LEqual(Arg0, 0x18)) { Notify(S180, Arg1) }
If (LEqual(Arg0, 0x19)) { Notify(S190, Arg1) }
If (LEqual(Arg0, 0x1a)) { Notify(S1a0, Arg1) }
If (LEqual(Arg0, 0x1b)) { Notify(S1b0, Arg1) }
If (LEqual(Arg0, 0x1c)) { Notify(S1c0, Arg1) }
If (LEqual(Arg0, 0x1d)) { Notify(S1d0, Arg1) }
If (LEqual(Arg0, 0x1e)) { Notify(S1e0, Arg1) }
If (LEqual(Arg0, 0x1f)) { Notify(S1f0, Arg1) }
}
}
}
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-09 7:24 ` [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables Amos Kong
2012-05-09 7:35 ` Amos Kong
@ 2012-05-09 8:46 ` Michael S. Tsirkin
2012-05-09 8:59 ` Amos Kong
2012-05-09 13:47 ` Alex Williamson
2012-05-10 17:17 ` Jiang Liu
3 siblings, 1 reply; 16+ messages in thread
From: Michael S. Tsirkin @ 2012-05-09 8:46 UTC (permalink / raw)
To: Amos Kong
Cc: linux-pci, seabios, qemu-devel, jbarnes, rjw, alex.williamson,
kevin
On Wed, May 09, 2012 at 03:24:52PM +0800, Amos Kong wrote:
> Boot up a Linux VM with 8 pci block devices which
> are the 8 functions in one pci slot.
> | # qemu-kvm ...
> | -drive file=images/u0,if=none,id=drv0,format=qcow2,cache=none \
> | -device virtio-blk-pci,drive=drv0,id=v0,multifunction=on,addr=0x03.0 \
> | ....
> | -drive file=images/u7,if=none,id=drv7,format=qcow2,cache=none \
> | -device virtio-blk-pci,drive=drv7,id=v7,multifunction=on,addr=0x03.7 \
>
> Check devices in guest.
> | vm)# ls /dev/vd*
> | vda vdb vdc vde vdf vdg vdh
> | vm)# lspci |grep block
> | 00:03.0 SCSI storage controller: Red Hat, Inc Virtio block device
> | ...
> | 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device
> |
>
> Func1~7 still exist in guest after hot-removing the whole slot
> through qemu monitor.
> | vm)# lspci |grep block (00:03.0 disappeared)
> | 00:03.1 SCSI storage controller: Red Hat, Inc Virtio block device (rev ff)
> | ...
> | 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device (rev ff)
> | vm)# ls /dev/vd* (vda disappeared)
> | vdb vdc vde vdf vdg vdh
> | vm)# mkfs /dev/vdb
> | INFO: task mkfs.ext2:1784 blocked for more than 120 seconds. (task hung)
>
>
> Currently only func0 is defined in ACPI DSDT table
> of seabios, and only hot-adding func0 would cause
> a ACPI event for notification. Other funcs except
> func0 wouldn't be registered in linux pci driver.
> (we can only found func0 in slot->funcs list of
> pci driver).
Isn't this what your patch 'PCI: Can continually add funcs after adding
func0' addresses?
If yes it's commit f382a086f3129edc152b8044b69ccc6682e637bb in 3.4.
So let's class the problematic behaviour guest bug and avoid workarounds
in bios?
--
MST
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-09 8:46 ` Michael S. Tsirkin
@ 2012-05-09 8:59 ` Amos Kong
2012-05-09 9:53 ` Amos Kong
0 siblings, 1 reply; 16+ messages in thread
From: Amos Kong @ 2012-05-09 8:59 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: linux-pci, seabios, qemu-devel, jbarnes, rjw, alex.williamson,
kevin, liuj97
On 09/05/12 16:46, Michael S. Tsirkin wrote:
> On Wed, May 09, 2012 at 03:24:52PM +0800, Amos Kong wrote:
>> Boot up a Linux VM with 8 pci block devices which
>> are the 8 functions in one pci slot.
>> | # qemu-kvm ...
>> | -drive file=images/u0,if=none,id=drv0,format=qcow2,cache=none \
>> | -device virtio-blk-pci,drive=drv0,id=v0,multifunction=on,addr=0x03.0 \
>> | ....
>> | -drive file=images/u7,if=none,id=drv7,format=qcow2,cache=none \
>> | -device virtio-blk-pci,drive=drv7,id=v7,multifunction=on,addr=0x03.7 \
>>
>> Check devices in guest.
>> | vm)# ls /dev/vd*
>> | vda vdb vdc vde vdf vdg vdh
>> | vm)# lspci |grep block
>> | 00:03.0 SCSI storage controller: Red Hat, Inc Virtio block device
>> | ...
>> | 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device
>> |
>>
>> Func1~7 still exist in guest after hot-removing the whole slot
>> through qemu monitor.
>> | vm)# lspci |grep block (00:03.0 disappeared)
>> | 00:03.1 SCSI storage controller: Red Hat, Inc Virtio block device (rev ff)
>> | ...
>> | 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device (rev ff)
>> | vm)# ls /dev/vd* (vda disappeared)
>> | vdb vdc vde vdf vdg vdh
>> | vm)# mkfs /dev/vdb
>> | INFO: task mkfs.ext2:1784 blocked for more than 120 seconds. (task hung)
>>
>>
>> Currently only func0 is defined in ACPI DSDT table
>> of seabios, and only hot-adding func0 would cause
>> a ACPI event for notification. Other funcs except
>> func0 wouldn't be registered in linux pci driver.
>> (we can only found func0 in slot->funcs list of
>> pci driver).
>
> Isn't this what your patch 'PCI: Can continually add funcs after adding
> func0' addresses?
No.
This patch fixes the problem that some funcs could not be removed.
the question is sending ACPI event for all functions (in same slot)
or only function 0.
I found all funcs are defined in ACPI DSDT table in microsoft's example:
http://www.microsoft.com/china/whdc/system/pnppwr/hotadd/hotplugpci.mspx#EUH
Is it a useful attestation ?
> If yes it's commit f382a086f3129edc152b8044b69ccc6682e637bb in 3.4.
This commit fix the problem that some funcs could not be added.
> So let's class the problematic behaviour guest bug and avoid workarounds
> in bios?
--
Amos.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-09 8:59 ` Amos Kong
@ 2012-05-09 9:53 ` Amos Kong
0 siblings, 0 replies; 16+ messages in thread
From: Amos Kong @ 2012-05-09 9:53 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: linux-pci, seabios, qemu-devel, jbarnes, rjw, alex.williamson,
kevin, liuj97
On 09/05/12 16:59, Amos Kong wrote:
> On 09/05/12 16:46, Michael S. Tsirkin wrote:
>> On Wed, May 09, 2012 at 03:24:52PM +0800, Amos Kong wrote:
>>> Boot up a Linux VM with 8 pci block devices which
>>> are the 8 functions in one pci slot.
>>> | # qemu-kvm ...
>>> | -drive file=images/u0,if=none,id=drv0,format=qcow2,cache=none \
>>> | -device virtio-blk-pci,drive=drv0,id=v0,multifunction=on,addr=0x03.0 \
>>> | ....
>>> | -drive file=images/u7,if=none,id=drv7,format=qcow2,cache=none \
>>> | -device virtio-blk-pci,drive=drv7,id=v7,multifunction=on,addr=0x03.7 \
>>>
>>> Check devices in guest.
>>> | vm)# ls /dev/vd*
>>> | vda vdb vdc vde vdf vdg vdh
>>> | vm)# lspci |grep block
>>> | 00:03.0 SCSI storage controller: Red Hat, Inc Virtio block device
>>> | ...
>>> | 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device
>>> |
Discussed with mst, NAK this patch by myself.
>>> Func1~7 still exist in guest after hot-removing the whole slot
>>> through qemu monitor.
>>> | vm)# lspci |grep block (00:03.0 disappeared)
>>> | 00:03.1 SCSI storage controller: Red Hat, Inc Virtio block device
>>> (rev ff)
>>> | ...
>>> | 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device
In this condition, ALL devices already removed, but the sysinfo
(/proc , /sys) of func1~7 are not cleaned, this is why we can
still see it in 'lspci' output.
And Windows hotplug works fine with current seabios. In thread [1],
Kenji Kaneshige and Bjorn Helgaas accept to fix this in linux pci driver.
So NAK this seabios patch by myself, I will update original pci patch in
thread [1]
[PATCH] pci: clean all funcs when hot-removing multifunc device
[1] http://marc.info/?t=131597601700003&r=1&w=2
>>> (rev ff)
>>> | vm)# ls /dev/vd* (vda disappeared)
>>> | vdb vdc vde vdf vdg vdh
>>> | vm)# mkfs /dev/vdb
>>> | INFO: task mkfs.ext2:1784 blocked for more than 120 seconds. (task
>>> hung)
>>>
>>>
>>> Currently only func0 is defined in ACPI DSDT table
>>> of seabios, and only hot-adding func0 would cause
>>> a ACPI event for notification. Other funcs except
>>> func0 wouldn't be registered in linux pci driver.
>>> (we can only found func0 in slot->funcs list of
>>> pci driver).
>>
>> Isn't this what your patch 'PCI: Can continually add funcs after adding
>> func0' addresses?
>
> No.
>
> This patch fixes the problem that some funcs could not be removed.
> the question is sending ACPI event for all functions (in same slot)
> or only function 0.
One event is enough to remove all functions, the real problem is in
clean of linux pci driver.
> I found all funcs are defined in ACPI DSDT table in microsoft's example:
> http://www.microsoft.com/china/whdc/system/pnppwr/hotadd/hotplugpci.mspx#EUH
>
> Is it a useful attestation ?
--
Amos.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-09 7:24 ` [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables Amos Kong
2012-05-09 7:35 ` Amos Kong
2012-05-09 8:46 ` Michael S. Tsirkin
@ 2012-05-09 13:47 ` Alex Williamson
2012-05-09 16:08 ` Amos Kong
2012-05-10 16:50 ` Jiang Liu
2012-05-10 17:17 ` Jiang Liu
3 siblings, 2 replies; 16+ messages in thread
From: Alex Williamson @ 2012-05-09 13:47 UTC (permalink / raw)
To: Amos Kong; +Cc: mst, linux-pci, seabios, qemu-devel, jbarnes, rjw, kevin
On Wed, 2012-05-09 at 15:24 +0800, Amos Kong wrote:
> Boot up a Linux VM with 8 pci block devices which
> are the 8 functions in one pci slot.
> | # qemu-kvm ...
> | -drive file=images/u0,if=none,id=drv0,format=qcow2,cache=none \
> | -device virtio-blk-pci,drive=drv0,id=v0,multifunction=on,addr=0x03.0 \
> | ....
> | -drive file=images/u7,if=none,id=drv7,format=qcow2,cache=none \
> | -device virtio-blk-pci,drive=drv7,id=v7,multifunction=on,addr=0x03.7 \
>
> Check devices in guest.
> | vm)# ls /dev/vd*
> | vda vdb vdc vde vdf vdg vdh
> | vm)# lspci |grep block
> | 00:03.0 SCSI storage controller: Red Hat, Inc Virtio block device
> | ...
> | 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device
> |
>
> Func1~7 still exist in guest after hot-removing the whole slot
> through qemu monitor.
> | vm)# lspci |grep block (00:03.0 disappeared)
> | 00:03.1 SCSI storage controller: Red Hat, Inc Virtio block device (rev ff)
> | ...
> | 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device (rev ff)
> | vm)# ls /dev/vd* (vda disappeared)
> | vdb vdc vde vdf vdg vdh
> | vm)# mkfs /dev/vdb
> | INFO: task mkfs.ext2:1784 blocked for more than 120 seconds. (task hung)
>
>
> Currently only func0 is defined in ACPI DSDT table
> of seabios, and only hot-adding func0 would cause
> a ACPI event for notification. Other funcs except
> func0 wouldn't be registered in linux pci driver.
> (we can only found func0 in slot->funcs list of
> pci driver).
>
> When VM pci driver receives an ACPI event for
> hot-removing, it will only clean functions in
> slot->funcs list, the other funcs could not be
> cleaned.
>
> This patch adds device per function in ACPI DSDT tables,
> then all funcs will be registered in slot->funcs list.
> It's coincident with microsoft's example:
> http://www.microsoft.com/china/whdc/system/pnppwr/hotadd/hotplugpci.mspx#EUH
>
> Have tested with linux/winxp/win7, hot-adding/hot-remving,
> single/multiple function devices, they are all fine(all
> added devices can be removed).
>
> This patch includes some bits mst wrote, thanks!
> ---
> old discussion: http://marc.info/?l=kvm&m=132428400917405&w=2
>
> Signed-off-by: Amos Kong <akong@redhat.com>
> CC: Michael S. Tsirkin <mst@redhat.com>
> ---
> src/ssdt-pcihp.dsl | 17
> src/ssdt-pcihp.hex | 8869 +++++++++++++++++++++++++++++++++++++++++++++++++++-
> 2 files changed, 8781 insertions(+), 105 deletions(-)
>
> diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl
> index 4b435b8..2a3c326 100644
> --- a/src/ssdt-pcihp.dsl
> +++ b/src/ssdt-pcihp.dsl
> @@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
> // at runtime, if the slot is detected to not support hotplug.
> // Extract the offset of the address dword and the
> // _EJ0 name to allow this patching.
> -#define hotplug_slot(slot) \
> - Device (S##slot) { \
> +#define hotplug_func(slot, fn) \
> + Device (S##slot##fn) { \
> ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \
> - Name (_ADR, 0x##slot##0000) \
I would have guessed it to be sufficient to change _ADR to
0x##slot##ffff, does that not work? Thanks,
Alex
> + Name (_ADR, 0x##slot##000##fn) \
> ACPI_EXTRACT_METHOD_STRING aml_ej0_name \
> Method (_EJ0, 1) { Return(PCEJ(0x##slot)) } \
> Name (_SUN, 0x##slot) \
> }
> +#define hotplug_slot(slot) \
> + hotplug_func(slot, 0) \
> + hotplug_func(slot, 1) \
> + hotplug_func(slot, 2) \
> + hotplug_func(slot, 3) \
> + hotplug_func(slot, 4) \
> + hotplug_func(slot, 5) \
> + hotplug_func(slot, 6) \
> + hotplug_func(slot, 7)
>
> hotplug_slot(01)
> hotplug_slot(02)
> @@ -59,7 +68,7 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
> hotplug_slot(1f)
>
> #define gen_pci_hotplug(slot) \
> - If (LEqual(Arg0, 0x##slot)) { Notify(S##slot, Arg1) }
> + If (LEqual(Arg0, 0x##slot)) { Notify(S##slot##0, Arg1) }
>
> Method(PCNT, 2) {
> gen_pci_hotplug(01)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-09 13:47 ` Alex Williamson
@ 2012-05-09 16:08 ` Amos Kong
2012-05-10 16:50 ` Jiang Liu
1 sibling, 0 replies; 16+ messages in thread
From: Amos Kong @ 2012-05-09 16:08 UTC (permalink / raw)
To: Alex Williamson; +Cc: mst, linux-pci, seabios, qemu-devel, jbarnes, rjw, kevin
----- Original Message -----
> On Wed, 2012-05-09 at 15:24 +0800, Amos Kong wrote:
> > Boot up a Linux VM with 8 pci block devices which
> > are the 8 functions in one pci slot.
> > | # qemu-kvm ...
> > | -drive file=images/u0,if=none,id=drv0,format=qcow2,cache=none \
> > | -device
> > | virtio-blk-pci,drive=drv0,id=v0,multifunction=on,addr=0x03.0 \
> > | ....
> > | -drive file=images/u7,if=none,id=drv7,format=qcow2,cache=none \
> > | -device
> > | virtio-blk-pci,drive=drv7,id=v7,multifunction=on,addr=0x03.7 \
> >
> > Check devices in guest.
> > | vm)# ls /dev/vd*
> > | vda vdb vdc vde vdf vdg vdh
> > | vm)# lspci |grep block
> > | 00:03.0 SCSI storage controller: Red Hat, Inc Virtio block device
> > | ...
> > | 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device
> > |
> >
> > Func1~7 still exist in guest after hot-removing the whole slot
> > through qemu monitor.
> > | vm)# lspci |grep block (00:03.0 disappeared)
> > | 00:03.1 SCSI storage controller: Red Hat, Inc Virtio block device
> > | (rev ff)
> > | ...
> > | 00:03.7 SCSI storage controller: Red Hat, Inc Virtio block device
> > | (rev ff)
> > | vm)# ls /dev/vd* (vda disappeared)
> > | vdb vdc vde vdf vdg vdh
> > | vm)# mkfs /dev/vdb
> > | INFO: task mkfs.ext2:1784 blocked for more than 120 seconds.
> > | (task hung)
> >
> >
> > Currently only func0 is defined in ACPI DSDT table
> > of seabios, and only hot-adding func0 would cause
> > a ACPI event for notification. Other funcs except
> > func0 wouldn't be registered in linux pci driver.
> > (we can only found func0 in slot->funcs list of
> > pci driver).
> >
> > When VM pci driver receives an ACPI event for
> > hot-removing, it will only clean functions in
> > slot->funcs list, the other funcs could not be
> > cleaned.
> >
> > This patch adds device per function in ACPI DSDT tables,
> > then all funcs will be registered in slot->funcs list.
> > It's coincident with microsoft's example:
> > http://www.microsoft.com/china/whdc/system/pnppwr/hotadd/hotplugpci.mspx#EUH
> >
> > Have tested with linux/winxp/win7, hot-adding/hot-remving,
> > single/multiple function devices, they are all fine(all
> > added devices can be removed).
> >
> > This patch includes some bits mst wrote, thanks!
> > ---
> > old discussion: http://marc.info/?l=kvm&m=132428400917405&w=2
> >
> > Signed-off-by: Amos Kong <akong@redhat.com>
> > CC: Michael S. Tsirkin <mst@redhat.com>
> > ---
> > src/ssdt-pcihp.dsl | 17
> > src/ssdt-pcihp.hex | 8869
> > +++++++++++++++++++++++++++++++++++++++++++++++++++-
> > 2 files changed, 8781 insertions(+), 105 deletions(-)
> >
> > diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl
> > index 4b435b8..2a3c326 100644
> > --- a/src/ssdt-pcihp.dsl
> > +++ b/src/ssdt-pcihp.dsl
> > @@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT",
> > 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
> > // at runtime, if the slot is detected to not support
> > hotplug.
> > // Extract the offset of the address dword and the
> > // _EJ0 name to allow this patching.
> > -#define hotplug_slot(slot) \
> > - Device (S##slot) { \
> > +#define hotplug_func(slot, fn) \
> > + Device (S##slot##fn) { \
> > ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \
> > - Name (_ADR, 0x##slot##0000) \
>
> I would have guessed it to be sufficient to change _ADR to
> 0x##slot##ffff, does that not work?
No, changing this to "0x##slot##ffff" doesn't resolve the bug.
(tested)
I'm trying to fix this problem in guest pci driver.
http://marc.info/?l=linux-pci&m=133657729118731&w=2
Thanks, Amos
>
> > + Name (_ADR, 0x##slot##000##fn) \
> > ACPI_EXTRACT_METHOD_STRING aml_ej0_name \
> > Method (_EJ0, 1) { Return(PCEJ(0x##slot)) } \
> > Name (_SUN, 0x##slot) \
> > }
> > +#define hotplug_slot(slot) \
> > + hotplug_func(slot, 0) \
> > + hotplug_func(slot, 1) \
> > + hotplug_func(slot, 2) \
> > + hotplug_func(slot, 3) \
> > + hotplug_func(slot, 4) \
> > + hotplug_func(slot, 5) \
> > + hotplug_func(slot, 6) \
> > + hotplug_func(slot, 7)
> >
> > hotplug_slot(01)
> > hotplug_slot(02)
> > @@ -59,7 +68,7 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01,
> > "BXPC", "BXSSDTPCIHP", 0x1)
> > hotplug_slot(1f)
> >
> > #define gen_pci_hotplug(slot) \
> > - If (LEqual(Arg0, 0x##slot)) { Notify(S##slot, Arg1) }
> > + If (LEqual(Arg0, 0x##slot)) { Notify(S##slot##0, Arg1)
> > }
> >
> > Method(PCNT, 2) {
> > gen_pci_hotplug(01)
>
>
>
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-09 13:47 ` Alex Williamson
2012-05-09 16:08 ` Amos Kong
@ 2012-05-10 16:50 ` Jiang Liu
2012-05-10 17:03 ` Michael S. Tsirkin
1 sibling, 1 reply; 16+ messages in thread
From: Jiang Liu @ 2012-05-10 16:50 UTC (permalink / raw)
To: Alex Williamson
Cc: mst, linux-pci, seabios, qemu-devel, jbarnes, rjw, kevin,
Amos Kong
On 05/09/2012 09:47 PM, Alex Williamson wrote:
>> ---
>> src/ssdt-pcihp.dsl | 17
>> src/ssdt-pcihp.hex | 8869 +++++++++++++++++++++++++++++++++++++++++++++++++++-
>> 2 files changed, 8781 insertions(+), 105 deletions(-)
>>
>> diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl
>> index 4b435b8..2a3c326 100644
>> --- a/src/ssdt-pcihp.dsl
>> +++ b/src/ssdt-pcihp.dsl
>> @@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
>> // at runtime, if the slot is detected to not support hotplug.
>> // Extract the offset of the address dword and the
>> // _EJ0 name to allow this patching.
>> -#define hotplug_slot(slot) \
>> - Device (S##slot) { \
>> +#define hotplug_func(slot, fn) \
>> + Device (S##slot##fn) { \
>> ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \
>> - Name (_ADR, 0x##slot##0000) \
>
> I would have guessed it to be sufficient to change _ADR to
> 0x##slot##ffff, does that not work? Thanks,
>
> Alex
Currently Linux acpiphp driver doesn't support that yet.
--gerry
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-10 16:50 ` Jiang Liu
@ 2012-05-10 17:03 ` Michael S. Tsirkin
0 siblings, 0 replies; 16+ messages in thread
From: Michael S. Tsirkin @ 2012-05-10 17:03 UTC (permalink / raw)
To: Jiang Liu
Cc: linux-pci, seabios, qemu-devel, jbarnes, rjw, Alex Williamson,
kevin, Amos Kong
On Fri, May 11, 2012 at 12:50:37AM +0800, Jiang Liu wrote:
> On 05/09/2012 09:47 PM, Alex Williamson wrote:
> >> ---
> >> src/ssdt-pcihp.dsl | 17
> >> src/ssdt-pcihp.hex | 8869 +++++++++++++++++++++++++++++++++++++++++++++++++++-
> >> 2 files changed, 8781 insertions(+), 105 deletions(-)
> >>
> >> diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl
> >> index 4b435b8..2a3c326 100644
> >> --- a/src/ssdt-pcihp.dsl
> >> +++ b/src/ssdt-pcihp.dsl
> >> @@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
> >> // at runtime, if the slot is detected to not support hotplug.
> >> // Extract the offset of the address dword and the
> >> // _EJ0 name to allow this patching.
> >> -#define hotplug_slot(slot) \
> >> - Device (S##slot) { \
> >> +#define hotplug_func(slot, fn) \
> >> + Device (S##slot##fn) { \
> >> ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \
> >> - Name (_ADR, 0x##slot##0000) \
> >
> > I would have guessed it to be sufficient to change _ADR to
> > 0x##slot##ffff, does that not work? Thanks,
> >
> > Alex
> Currently Linux acpiphp driver doesn't support that yet.
>
> --gerry
If memory serves neither does windows.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-09 7:24 ` [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables Amos Kong
` (2 preceding siblings ...)
2012-05-09 13:47 ` Alex Williamson
@ 2012-05-10 17:17 ` Jiang Liu
2012-05-10 17:42 ` Michael S. Tsirkin
3 siblings, 1 reply; 16+ messages in thread
From: Jiang Liu @ 2012-05-10 17:17 UTC (permalink / raw)
To: Amos Kong
Cc: mst, linux-pci, seabios, qemu-devel, jbarnes, rjw,
alex.williamson, kevin
On 05/09/2012 03:24 PM, Amos Kong wrote:
> ---
> src/ssdt-pcihp.dsl | 17
> src/ssdt-pcihp.hex | 8869 +++++++++++++++++++++++++++++++++++++++++++++++++++-
> 2 files changed, 8781 insertions(+), 105 deletions(-)
>
> diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl
> index 4b435b8..2a3c326 100644
> --- a/src/ssdt-pcihp.dsl
> +++ b/src/ssdt-pcihp.dsl
> @@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
> // at runtime, if the slot is detected to not support hotplug.
> // Extract the offset of the address dword and the
> // _EJ0 name to allow this patching.
> -#define hotplug_slot(slot) \
> - Device (S##slot) { \
> +#define hotplug_func(slot, fn) \
> + Device (S##slot##fn) { \
> ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \
> - Name (_ADR, 0x##slot##0000) \
> + Name (_ADR, 0x##slot##000##fn) \
> ACPI_EXTRACT_METHOD_STRING aml_ej0_name \
> Method (_EJ0, 1) { Return(PCEJ(0x##slot)) } \
> Name (_SUN, 0x##slot) \
> }
It would be perfect if the Device object could also support _PS0 and _STA
methods. Could we re-add the slot back after hot-removing it from the guest
OS with this ACPI implementation? Say execute following scripts from guest OS.
echo 0 > /sys/bus/pci/slot/xx/power
echo 1 > /sys/bus/pci/slot/xx/power
> +#define hotplug_slot(slot) \
> + hotplug_func(slot, 0) \
> + hotplug_func(slot, 1) \
> + hotplug_func(slot, 2) \
> + hotplug_func(slot, 3) \
> + hotplug_func(slot, 4) \
> + hotplug_func(slot, 5) \
> + hotplug_func(slot, 6) \
> + hotplug_func(slot, 7)
>
> hotplug_slot(01)
> hotplug_slot(02)
> @@ -59,7 +68,7 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
> hotplug_slot(1f)
>
> #define gen_pci_hotplug(slot) \
> - If (LEqual(Arg0, 0x##slot)) { Notify(S##slot, Arg1) }
> + If (LEqual(Arg0, 0x##slot)) { Notify(S##slot##0, Arg1) }
>
> Method(PCNT, 2) {
> gen_pci_hotplug(01)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-10 17:17 ` Jiang Liu
@ 2012-05-10 17:42 ` Michael S. Tsirkin
2012-05-10 17:46 ` Jiang Liu
0 siblings, 1 reply; 16+ messages in thread
From: Michael S. Tsirkin @ 2012-05-10 17:42 UTC (permalink / raw)
To: Jiang Liu
Cc: linux-pci, seabios, qemu-devel, jbarnes, rjw, alex.williamson,
kevin, Amos Kong
On Fri, May 11, 2012 at 01:17:38AM +0800, Jiang Liu wrote:
> On 05/09/2012 03:24 PM, Amos Kong wrote:
>
> > ---
> > src/ssdt-pcihp.dsl | 17
> > src/ssdt-pcihp.hex | 8869 +++++++++++++++++++++++++++++++++++++++++++++++++++-
> > 2 files changed, 8781 insertions(+), 105 deletions(-)
> >
> > diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl
> > index 4b435b8..2a3c326 100644
> > --- a/src/ssdt-pcihp.dsl
> > +++ b/src/ssdt-pcihp.dsl
> > @@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
> > // at runtime, if the slot is detected to not support hotplug.
> > // Extract the offset of the address dword and the
> > // _EJ0 name to allow this patching.
> > -#define hotplug_slot(slot) \
> > - Device (S##slot) { \
> > +#define hotplug_func(slot, fn) \
> > + Device (S##slot##fn) { \
> > ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \
> > - Name (_ADR, 0x##slot##0000) \
> > + Name (_ADR, 0x##slot##000##fn) \
> > ACPI_EXTRACT_METHOD_STRING aml_ej0_name \
> > Method (_EJ0, 1) { Return(PCEJ(0x##slot)) } \
> > Name (_SUN, 0x##slot) \
> > }
> It would be perfect if the Device object could also support _PS0 and _STA
> methods.
It needs qemu support, and some backward compatibility hack.
Why?
> Could we re-add the slot back after hot-removing it from the guest
> OS with this ACPI implementation? Say execute following scripts from guest OS.
> echo 0 > /sys/bus/pci/slot/xx/power
> echo 1 > /sys/bus/pci/slot/xx/power
No because qemu removes device after eject.
Do you have a need for this functionality? What is it?
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-10 17:42 ` Michael S. Tsirkin
@ 2012-05-10 17:46 ` Jiang Liu
2012-05-10 23:40 ` Amos Kong
2012-05-11 10:14 ` [Qemu-devel] [SeaBIOS] " Gleb Natapov
0 siblings, 2 replies; 16+ messages in thread
From: Jiang Liu @ 2012-05-10 17:46 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: linux-pci, seabios, qemu-devel, jbarnes, rjw, alex.williamson,
kevin, Amos Kong
On 05/11/2012 01:42 AM, Michael S. Tsirkin wrote:
> On Fri, May 11, 2012 at 01:17:38AM +0800, Jiang Liu wrote:
>> On 05/09/2012 03:24 PM, Amos Kong wrote:
>>
>>> ---
>>> src/ssdt-pcihp.dsl | 17
>>> src/ssdt-pcihp.hex | 8869 +++++++++++++++++++++++++++++++++++++++++++++++++++-
>>> 2 files changed, 8781 insertions(+), 105 deletions(-)
>>>
>>> diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl
>>> index 4b435b8..2a3c326 100644
>>> --- a/src/ssdt-pcihp.dsl
>>> +++ b/src/ssdt-pcihp.dsl
>>> @@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
>>> // at runtime, if the slot is detected to not support hotplug.
>>> // Extract the offset of the address dword and the
>>> // _EJ0 name to allow this patching.
>>> -#define hotplug_slot(slot) \
>>> - Device (S##slot) { \
>>> +#define hotplug_func(slot, fn) \
>>> + Device (S##slot##fn) { \
>>> ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \
>>> - Name (_ADR, 0x##slot##0000) \
>>> + Name (_ADR, 0x##slot##000##fn) \
>>> ACPI_EXTRACT_METHOD_STRING aml_ej0_name \
>>> Method (_EJ0, 1) { Return(PCEJ(0x##slot)) } \
>>> Name (_SUN, 0x##slot) \
>>> }
>> It would be perfect if the Device object could also support _PS0 and _STA
>> methods.
>
> It needs qemu support, and some backward compatibility hack.
> Why?
>
>> Could we re-add the slot back after hot-removing it from the guest
>> OS with this ACPI implementation? Say execute following scripts from guest OS.
>> echo 0 > /sys/bus/pci/slot/xx/power
>> echo 1 > /sys/bus/pci/slot/xx/power
>
> No because qemu removes device after eject.
> Do you have a need for this functionality? What is it?
I'm not familiar with qemu:(
On native OS, admin could trigger PCI device hotplug operations through
/sys/bus/pci/slot/xx/power. Not sure whether that's needed for guest OS too.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-10 17:46 ` Jiang Liu
@ 2012-05-10 23:40 ` Amos Kong
2012-05-11 10:14 ` [Qemu-devel] [SeaBIOS] " Gleb Natapov
1 sibling, 0 replies; 16+ messages in thread
From: Amos Kong @ 2012-05-10 23:40 UTC (permalink / raw)
To: Jiang Liu
Cc: Michael S. Tsirkin, linux-pci, seabios, qemu-devel, jbarnes, rjw,
alex williamson, kevin
----- Original Message -----
> On 05/11/2012 01:42 AM, Michael S. Tsirkin wrote:
> > On Fri, May 11, 2012 at 01:17:38AM +0800, Jiang Liu wrote:
> >> On 05/09/2012 03:24 PM, Amos Kong wrote:
> >>
> >>> ---
> >>> src/ssdt-pcihp.dsl | 17
> >>> src/ssdt-pcihp.hex | 8869
> >>> +++++++++++++++++++++++++++++++++++++++++++++++++++-
> >>> 2 files changed, 8781 insertions(+), 105 deletions(-)
> >>>
> >>> diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl
> >>> index 4b435b8..2a3c326 100644
> >>> --- a/src/ssdt-pcihp.dsl
> >>> +++ b/src/ssdt-pcihp.dsl
> >>> @@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT",
> >>> 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
> >>> // at runtime, if the slot is detected to not support
> >>> hotplug.
> >>> // Extract the offset of the address dword and the
> >>> // _EJ0 name to allow this patching.
> >>> -#define hotplug_slot(slot) \
> >>> - Device (S##slot) { \
> >>> +#define hotplug_func(slot, fn) \
> >>> + Device (S##slot##fn) { \
> >>> ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \
> >>> - Name (_ADR, 0x##slot##0000) \
> >>> + Name (_ADR, 0x##slot##000##fn) \
> >>> ACPI_EXTRACT_METHOD_STRING aml_ej0_name \
> >>> Method (_EJ0, 1) { Return(PCEJ(0x##slot)) } \
> >>> Name (_SUN, 0x##slot) \
> >>> }
> >> It would be perfect if the Device object could also support _PS0
> >> and _STA
> >> methods.
> >
> > It needs qemu support, and some backward compatibility hack.
> > Why?
> >
> >> Could we re-add the slot back after hot-removing it from the guest
> >> OS with this ACPI implementation? Say execute following scripts
> >> from guest OS.
> >> echo 0 > /sys/bus/pci/slot/xx/power
I tested with qemu VM, device can be hot-removed by ^^^^
block also could not be found by (qemu) # info block
(#virt dev was removed from virt slot)
> >> echo 1 > /sys/bus/pci/slot/xx/power
so we have to add the device to qemu first
(qemu) __com.redhat_drive_add id=drv50,file=/tmp/resize0.qcow2
(qemu) device_add virtio-blk-pci,id=ddev50,drive=drv50,addr=0x5.0,multifunction=on
disk is back (no need exec :echo 1 > /sys/bus/pci/slot/xx/power in guest)
> >
> > No because qemu removes device after eject.
> > Do you have a need for this functionality? What is it?
>
> I'm not familiar with qemu:(
> On native OS, admin could trigger PCI device hotplug operations
> through
> /sys/bus/pci/slot/xx/power. Not sure whether that's needed for guest
> OS too.
In physical, we have two kinds of hotplug, one is hot-unplug dev from slot,
another is just 'disable' it in guest os (dev also plugs in slot)
Hotplug dev by /sys/bus/pci/slot/xx/power -> it should be 2nd condition.
For current QEMU guest, only 1st condition works, and it's enough.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [SeaBIOS] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-10 17:46 ` Jiang Liu
2012-05-10 23:40 ` Amos Kong
@ 2012-05-11 10:14 ` Gleb Natapov
2012-05-11 15:44 ` Jiang Liu
1 sibling, 1 reply; 16+ messages in thread
From: Gleb Natapov @ 2012-05-11 10:14 UTC (permalink / raw)
To: Jiang Liu
Cc: Michael S. Tsirkin, linux-pci, seabios, qemu-devel, jbarnes, rjw,
alex.williamson, Amos Kong
On Fri, May 11, 2012 at 01:46:17AM +0800, Jiang Liu wrote:
> On 05/11/2012 01:42 AM, Michael S. Tsirkin wrote:
> > On Fri, May 11, 2012 at 01:17:38AM +0800, Jiang Liu wrote:
> >> On 05/09/2012 03:24 PM, Amos Kong wrote:
> >>
> >>> ---
> >>> src/ssdt-pcihp.dsl | 17
> >>> src/ssdt-pcihp.hex | 8869 +++++++++++++++++++++++++++++++++++++++++++++++++++-
> >>> 2 files changed, 8781 insertions(+), 105 deletions(-)
> >>>
> >>> diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl
> >>> index 4b435b8..2a3c326 100644
> >>> --- a/src/ssdt-pcihp.dsl
> >>> +++ b/src/ssdt-pcihp.dsl
> >>> @@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
> >>> // at runtime, if the slot is detected to not support hotplug.
> >>> // Extract the offset of the address dword and the
> >>> // _EJ0 name to allow this patching.
> >>> -#define hotplug_slot(slot) \
> >>> - Device (S##slot) { \
> >>> +#define hotplug_func(slot, fn) \
> >>> + Device (S##slot##fn) { \
> >>> ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \
> >>> - Name (_ADR, 0x##slot##0000) \
> >>> + Name (_ADR, 0x##slot##000##fn) \
> >>> ACPI_EXTRACT_METHOD_STRING aml_ej0_name \
> >>> Method (_EJ0, 1) { Return(PCEJ(0x##slot)) } \
> >>> Name (_SUN, 0x##slot) \
> >>> }
> >> It would be perfect if the Device object could also support _PS0 and _STA
> >> methods.
> >
> > It needs qemu support, and some backward compatibility hack.
> > Why?
> >
> >> Could we re-add the slot back after hot-removing it from the guest
> >> OS with this ACPI implementation? Say execute following scripts from guest OS.
> >> echo 0 > /sys/bus/pci/slot/xx/power
> >> echo 1 > /sys/bus/pci/slot/xx/power
> >
> > No because qemu removes device after eject.
> > Do you have a need for this functionality? What is it?
>
> I'm not familiar with qemu:(
> On native OS, admin could trigger PCI device hotplug operations through
> /sys/bus/pci/slot/xx/power. Not sure whether that's needed for guest OS too.
>
Why is it needed on physical HW? May be it is needed in a VM for the
same reason?
--
Gleb.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [SeaBIOS] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-11 10:14 ` [Qemu-devel] [SeaBIOS] " Gleb Natapov
@ 2012-05-11 15:44 ` Jiang Liu
2012-05-11 17:04 ` Gleb Natapov
0 siblings, 1 reply; 16+ messages in thread
From: Jiang Liu @ 2012-05-11 15:44 UTC (permalink / raw)
To: Gleb Natapov
Cc: Michael S. Tsirkin, linux-pci, seabios, qemu-devel, jbarnes, rjw,
alex.williamson, Amos Kong
On 05/11/2012 06:14 PM, Gleb Natapov wrote:
>> I'm not familiar with qemu:(
>> On native OS, admin could trigger PCI device hotplug operations through
>> /sys/bus/pci/slot/xx/power. Not sure whether that's needed for guest OS too.
>>
> Why is it needed on physical HW? May be it is needed in a VM for the
> same reason?
As Amos has mentioned, it's used power on/off a PCI device instead of physical
hotplug. Not sure whether it's needed in guest OS.
--gerry
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [SeaBIOS] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables
2012-05-11 15:44 ` Jiang Liu
@ 2012-05-11 17:04 ` Gleb Natapov
0 siblings, 0 replies; 16+ messages in thread
From: Gleb Natapov @ 2012-05-11 17:04 UTC (permalink / raw)
To: Jiang Liu
Cc: Michael S. Tsirkin, linux-pci, seabios, qemu-devel, jbarnes, rjw,
alex.williamson, Amos Kong
On Fri, May 11, 2012 at 11:44:02PM +0800, Jiang Liu wrote:
> On 05/11/2012 06:14 PM, Gleb Natapov wrote:
> >> I'm not familiar with qemu:(
> >> On native OS, admin could trigger PCI device hotplug operations through
> >> /sys/bus/pci/slot/xx/power. Not sure whether that's needed for guest OS too.
> >>
> > Why is it needed on physical HW? May be it is needed in a VM for the
> > same reason?
> As Amos has mentioned, it's used power on/off a PCI device instead of physical
> hotplug. Not sure whether it's needed in guest OS.
Probably for assigned devices.
--
Gleb.
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2012-05-11 18:09 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20111214010645.GA2044@morn.localdomain>
2012-05-09 7:24 ` [Qemu-devel] [RESEND PATCH v3] hotplug: add device per func in ACPI DSDT tables Amos Kong
2012-05-09 7:35 ` Amos Kong
2012-05-09 8:46 ` Michael S. Tsirkin
2012-05-09 8:59 ` Amos Kong
2012-05-09 9:53 ` Amos Kong
2012-05-09 13:47 ` Alex Williamson
2012-05-09 16:08 ` Amos Kong
2012-05-10 16:50 ` Jiang Liu
2012-05-10 17:03 ` Michael S. Tsirkin
2012-05-10 17:17 ` Jiang Liu
2012-05-10 17:42 ` Michael S. Tsirkin
2012-05-10 17:46 ` Jiang Liu
2012-05-10 23:40 ` Amos Kong
2012-05-11 10:14 ` [Qemu-devel] [SeaBIOS] " Gleb Natapov
2012-05-11 15:44 ` Jiang Liu
2012-05-11 17:04 ` Gleb Natapov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).