* [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).