[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-1.7 3/5] acpi unit-test: add test files
From: |
Marcel Apfelbaum |
Subject: |
Re: [Qemu-devel] [PATCH for-1.7 3/5] acpi unit-test: add test files |
Date: |
Wed, 11 Dec 2013 11:23:59 +0200 |
On Tue, 2013-12-10 at 18:45 +0200, Michael S. Tsirkin wrote:
> On Thu, Nov 21, 2013 at 09:33:23PM +0200, Marcel Apfelbaum wrote:
> > Added unit-test's expected dsl files to be compared
> > with the actual ACPI tables.
> >
> > Signed-off-by: Marcel Apfelbaum <address@hidden>
>
> This one is not a good idea, and same for the
> rest of the patches.
>
> You don't want test to fail because IASL disassembler
> decided to name a variable differenly.
I guess it can happen, thanks.
>
> Instead, add AML files in tests/acpi-test-data.
> run disassembler on both expected and actual files.
I basically have nothing against it, but
I do not like so much adding binaries to the git, what do you
say about keeping the dsl files, compiling them (should result
into the same aml) and then decompile them?
Thanks,
Marcel
>
> > ---
> > tests/acpi-test-data/pc/APIC.dsl | 103 ++
> > tests/acpi-test-data/pc/DSDT.dsl | 1870 ++++++++++++++++++++++
> > tests/acpi-test-data/pc/FACP.dsl | 99 ++
> > tests/acpi-test-data/pc/FACS.dsl | 32 +
> > tests/acpi-test-data/pc/HPET.dsl | 43 +
> > tests/acpi-test-data/pc/SSDT.dsl | 634 ++++++++
> > tests/acpi-test-data/q35/APIC.dsl | 103 ++
> > tests/acpi-test-data/q35/DSDT.dsl | 3197
> > +++++++++++++++++++++++++++++++++++++
> > tests/acpi-test-data/q35/FACP.dsl | 99 ++
> > tests/acpi-test-data/q35/FACS.dsl | 32 +
> > tests/acpi-test-data/q35/HPET.dsl | 43 +
> > tests/acpi-test-data/q35/MCFG.dsl | 36 +
> > tests/acpi-test-data/q35/SSDT.dsl | 665 ++++++++
> > 13 files changed, 6956 insertions(+)
> > create mode 100644 tests/acpi-test-data/pc/APIC.dsl
> > create mode 100644 tests/acpi-test-data/pc/DSDT.dsl
> > create mode 100644 tests/acpi-test-data/pc/FACP.dsl
> > create mode 100644 tests/acpi-test-data/pc/FACS.dsl
> > create mode 100644 tests/acpi-test-data/pc/HPET.dsl
> > create mode 100644 tests/acpi-test-data/pc/SSDT.dsl
> > create mode 100644 tests/acpi-test-data/q35/APIC.dsl
> > create mode 100644 tests/acpi-test-data/q35/DSDT.dsl
> > create mode 100644 tests/acpi-test-data/q35/FACP.dsl
> > create mode 100644 tests/acpi-test-data/q35/FACS.dsl
> > create mode 100644 tests/acpi-test-data/q35/HPET.dsl
> > create mode 100644 tests/acpi-test-data/q35/MCFG.dsl
> > create mode 100644 tests/acpi-test-data/q35/SSDT.dsl
> >
> > diff --git a/tests/acpi-test-data/pc/APIC.dsl
> > b/tests/acpi-test-data/pc/APIC.dsl
> > new file mode 100644
> > index 0000000..51397a5
> > --- /dev/null
> > +++ b/tests/acpi-test-data/pc/APIC.dsl
> > @@ -0,0 +1,103 @@
> > +/*
> > + * Intel ACPI Component Architecture
> > + * AML Disassembler version 20130823-64 [Oct 8 2013]
> > + * Copyright (c) 2000 - 2013 Intel Corporation
> > + *
> > + * Disassembly of APIC, Wed Nov 20 09:17:47 2013
> > + *
> > + * ACPI Data Table [APIC]
> > + *
> > + * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
> > + */
> > +
> > +[000h 0000 4] Signature : "APIC" [Multiple APIC
> > Description Table (MADT)]
> > +[004h 0004 4] Table Length : 00000078
> > +[008h 0008 1] Revision : 01
> > +[009h 0009 1] Checksum : ED
> > +[00Ah 0010 6] Oem ID : "BOCHS "
> > +[010h 0016 8] Oem Table ID : "BXPCAPIC"
> > +[018h 0024 4] Oem Revision : 00000001
> > +[01Ch 0028 4] Asl Compiler ID : "BXPC"
> > +[020h 0032 4] Asl Compiler Revision : 00000001
> > +
> > +[024h 0036 4] Local Apic Address : FEE00000
> > +[028h 0040 4] Flags (decoded below) : 00000001
> > + PC-AT Compatibility : 1
> > +
> > +[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC]
> > +[02Dh 0045 1] Length : 08
> > +[02Eh 0046 1] Processor ID : 00
> > +[02Fh 0047 1] Local Apic ID : 00
> > +[030h 0048 4] Flags (decoded below) : 00000001
> > + Processor Enabled : 1
> > +
> > +[034h 0052 1] Subtable Type : 01 [I/O APIC]
> > +[035h 0053 1] Length : 0C
> > +[036h 0054 1] I/O Apic ID : 00
> > +[037h 0055 1] Reserved : 00
> > +[038h 0056 4] Address : FEC00000
> > +[03Ch 0060 4] Interrupt : 00000000
> > +
> > +[040h 0064 1] Subtable Type : 02 [Interrupt Source
> > Override]
> > +[041h 0065 1] Length : 0A
> > +[042h 0066 1] Bus : 00
> > +[043h 0067 1] Source : 00
> > +[044h 0068 4] Interrupt : 00000002
> > +[048h 0072 2] Flags (decoded below) : 0000
> > + Polarity : 0
> > + Trigger Mode : 0
> > +
> > +[04Ah 0074 1] Subtable Type : 02 [Interrupt Source
> > Override]
> > +[04Bh 0075 1] Length : 0A
> > +[04Ch 0076 1] Bus : 00
> > +[04Dh 0077 1] Source : 05
> > +[04Eh 0078 4] Interrupt : 00000005
> > +[052h 0082 2] Flags (decoded below) : 000D
> > + Polarity : 1
> > + Trigger Mode : 3
> > +
> > +[054h 0084 1] Subtable Type : 02 [Interrupt Source
> > Override]
> > +[055h 0085 1] Length : 0A
> > +[056h 0086 1] Bus : 00
> > +[057h 0087 1] Source : 09
> > +[058h 0088 4] Interrupt : 00000009
> > +[05Ch 0092 2] Flags (decoded below) : 000D
> > + Polarity : 1
> > + Trigger Mode : 3
> > +
> > +[05Eh 0094 1] Subtable Type : 02 [Interrupt Source
> > Override]
> > +[05Fh 0095 1] Length : 0A
> > +[060h 0096 1] Bus : 00
> > +[061h 0097 1] Source : 0A
> > +[062h 0098 4] Interrupt : 0000000A
> > +[066h 0102 2] Flags (decoded below) : 000D
> > + Polarity : 1
> > + Trigger Mode : 3
> > +
> > +[068h 0104 1] Subtable Type : 02 [Interrupt Source
> > Override]
> > +[069h 0105 1] Length : 0A
> > +[06Ah 0106 1] Bus : 00
> > +[06Bh 0107 1] Source : 0B
> > +[06Ch 0108 4] Interrupt : 0000000B
> > +[070h 0112 2] Flags (decoded below) : 000D
> > + Polarity : 1
> > + Trigger Mode : 3
> > +
> > +[072h 0114 1] Subtable Type : 04 [Local APIC NMI]
> > +[073h 0115 1] Length : 06
> > +[074h 0116 1] Processor ID : FF
> > +[075h 0117 2] Flags (decoded below) : 0000
> > + Polarity : 0
> > + Trigger Mode : 0
> > +[077h 0119 1] Interrupt Input LINT : 01
> > +
> > +Raw Table Data: Length 120 (0x78)
> > +
> > + 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 APICx.....BOCHS
> > + 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 BXPCAPIC....BXPC
> > + 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 ................
> > + 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 ................
> > + 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 ................
> > + 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A ................
> > + 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 ................
> > + 0070: 0D 00 04 06 FF 00 00 01 ........
> > diff --git a/tests/acpi-test-data/pc/DSDT.dsl
> > b/tests/acpi-test-data/pc/DSDT.dsl
> > new file mode 100644
> > index 0000000..cbe7f31
> > --- /dev/null
> > +++ b/tests/acpi-test-data/pc/DSDT.dsl
> > @@ -0,0 +1,1870 @@
> > +/*
> > + * Intel ACPI Component Architecture
> > + * AML Disassembler version 20130823-64 [Oct 5 2013]
> > + * Copyright (c) 2000 - 2013 Intel Corporation
> > + *
> > + * Disassembly of DSDT, Thu Nov 14 15:25:31 2013
> > + *
> > + * Original Table Header:
> > + * Signature "DSDT"
> > + * Length 0x00001137 (4407)
> > + * Revision 0x01 **** 32-bit table (V1), no 64-bit math support
> > + * Checksum 0x4A
> > + * OEM ID "BOCHS "
> > + * OEM Table ID "BXPCDSDT"
> > + * OEM Revision 0x00000001 (1)
> > + * Compiler ID "BXPC"
> > + * Compiler Version 0x00000001 (1)
> > + */
> > +DefinitionBlock ("DSDT.aml", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001)
> > +{
> > +
> > + External (CPON, PkgObj)
> > + External (NTFY, MethodObj) // 2 Arguments
> > + External (P0E_, IntObj)
> > + External (P0S_, IntObj)
> > + External (P1E_, BuffObj)
> > + External (P1L_, BuffObj)
> > + External (P1S_, BuffObj)
> > + External (P1V_, IntObj)
> > + External (PCNT, MethodObj) // 2 Arguments
> > +
> > + Scope (\)
> > + {
> > + OperationRegion (DBG, SystemIO, 0x0402, One)
> > + Field (DBG, ByteAcc, NoLock, Preserve)
> > + {
> > + DBGB, 8
> > + }
> > +
> > + Method (DBUG, 1, NotSerialized)
> > + {
> > + ToHexString (Arg0, Local0)
> > + ToBuffer (Local0, Local0)
> > + Subtract (SizeOf (Local0), One, Local1)
> > + Store (Zero, Local2)
> > + While (LLess (Local2, Local1))
> > + {
> > + Store (DerefOf (Index (Local0, Local2)), DBGB)
> > + Increment (Local2)
> > + }
> > +
> > + Store (0x0A, DBGB)
> > + }
> > + }
> > +
> > + Scope (_SB)
> > + {
> > + Device (PCI0)
> > + {
> > + Name (_HID, EisaId ("PNP0A03")) // _HID: Hardware ID
> > + Name (_ADR, Zero) // _ADR: Address
> > + Name (_UID, One) // _UID: Unique ID
> > + }
> > + }
> > +
> > + Scope (_SB.PCI0)
> > + {
> > + Name (CRES, ResourceTemplate ()
> > + {
> > + WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > + 0x0000, // Granularity
> > + 0x0000, // Range Minimum
> > + 0x00FF, // Range Maximum
> > + 0x0000, // Translation Offset
> > + 0x0100, // Length
> > + ,, )
> > + IO (Decode16,
> > + 0x0CF8, // Range Minimum
> > + 0x0CF8, // Range Maximum
> > + 0x01, // Alignment
> > + 0x08, // Length
> > + )
> > + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > EntireRange,
> > + 0x0000, // Granularity
> > + 0x0000, // Range Minimum
> > + 0x0CF7, // Range Maximum
> > + 0x0000, // Translation Offset
> > + 0x0CF8, // Length
> > + ,, , TypeStatic)
> > + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > EntireRange,
> > + 0x0000, // Granularity
> > + 0x0D00, // Range Minimum
> > + 0xFFFF, // Range Maximum
> > + 0x0000, // Translation Offset
> > + 0xF300, // Length
> > + ,, , TypeStatic)
> > + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
> > Cacheable, ReadWrite,
> > + 0x00000000, // Granularity
> > + 0x000A0000, // Range Minimum
> > + 0x000BFFFF, // Range Maximum
> > + 0x00000000, // Translation Offset
> > + 0x00020000, // Length
> > + ,, , AddressRangeMemory, TypeStatic)
> > + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
> > NonCacheable, ReadWrite,
> > + 0x00000000, // Granularity
> > + 0xE0000000, // Range Minimum
> > + 0xFEBFFFFF, // Range Maximum
> > + 0x00000000, // Translation Offset
> > + 0x1EC00000, // Length
> > + ,, _Y00, AddressRangeMemory, TypeStatic)
> > + })
> > + Name (CR64, ResourceTemplate ()
> > + {
> > + QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
> > Cacheable, ReadWrite,
> > + 0x0000000000000000, // Granularity
> > + 0x0000008000000000, // Range Minimum
> > + 0x000000FFFFFFFFFF, // Range Maximum
> > + 0x0000000000000000, // Translation Offset
> > + 0x0000008000000000, // Length
> > + ,, _Y01, AddressRangeMemory, TypeStatic)
> > + })
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
> > + {
> > + CreateDWordField (CRES, \_SB.PCI0._Y00._MIN, PS32) // _MIN:
> > Minimum Base Address
> > + CreateDWordField (CRES, \_SB.PCI0._Y00._MAX, PE32) // _MAX:
> > Maximum Base Address
> > + CreateDWordField (CRES, \_SB.PCI0._Y00._LEN, PL32) // _LEN:
> > Length
> > + Store (P0S, PS32)
> > + Store (P0E, PE32)
> > + Store (Add (Subtract (P0E, P0S), One), PL32)
> > + If (LEqual (P1V, Zero))
> > + {
> > + Return (CRES)
> > + }
> > +
> > + CreateQWordField (CR64, \_SB.PCI0._Y01._MIN, PS64) // _MIN:
> > Minimum Base Address
> > + CreateQWordField (CR64, \_SB.PCI0._Y01._MAX, PE64) // _MAX:
> > Maximum Base Address
> > + CreateQWordField (CR64, \_SB.PCI0._Y01._LEN, PL64) // _LEN:
> > Length
> > + Store (P1S, PS64)
> > + Store (P1E, PE64)
> > + Store (P1L, PL64)
> > + ConcatenateResTemplate (CRES, CR64, Local0)
> > + Return (Local0)
> > + }
> > + }
> > +
> > + Scope (_SB)
> > + {
> > + Device (HPET)
> > + {
> > + Name (_HID, EisaId ("PNP0103")) // _HID: Hardware ID
> > + Name (_UID, Zero) // _UID: Unique ID
> > + OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400)
> > + Field (HPTM, DWordAcc, Lock, Preserve)
> > + {
> > + VEND, 32,
> > + PRD, 32
> > + }
> > +
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Store (VEND, Local0)
> > + Store (PRD, Local1)
> > + ShiftRight (Local0, 0x10, Local0)
> > + If (LOr (LEqual (Local0, Zero), LEqual (Local0, 0xFFFF)))
> > + {
> > + Return (Zero)
> > + }
> > +
> > + If (LOr (LEqual (Local1, Zero), LGreater (Local1,
> > 0x05F5E100)))
> > + {
> > + Return (Zero)
> > + }
> > +
> > + Return (0x0F)
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + Memory32Fixed (ReadOnly,
> > + 0xFED00000, // Address Base
> > + 0x00000400, // Address Length
> > + )
> > + })
> > + }
> > + }
> > +
> > + Scope (_SB.PCI0)
> > + {
> > + Device (VGA)
> > + {
> > + Name (_ADR, 0x00020000) // _ADR: Address
> > + OperationRegion (PCIC, PCI_Config, Zero, 0x04)
> > + Field (PCIC, DWordAcc, NoLock, Preserve)
> > + {
> > + VEND, 32
> > + }
> > +
> > + Method (_S1D, 0, NotSerialized) // _S1D: S1 Device State
> > + {
> > + Return (Zero)
> > + }
> > +
> > + Method (_S2D, 0, NotSerialized) // _S2D: S2 Device State
> > + {
> > + Return (Zero)
> > + }
> > +
> > + Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
> > + {
> > + If (LEqual (VEND, 0x01001B36))
> > + {
> > + Return (0x03)
> > + }
> > + Else
> > + {
> > + Return (Zero)
> > + }
> > + }
> > + }
> > + }
> > +
> > + Scope (_SB.PCI0)
> > + {
> > + Device (PX13)
> > + {
> > + Name (_ADR, 0x00010003) // _ADR: Address
> > + OperationRegion (P13C, PCI_Config, Zero, 0xFF)
> > + }
> > + }
> > +
> > + Scope (_SB.PCI0)
> > + {
> > + Device (ISA)
> > + {
> > + Name (_ADR, 0x00010000) // _ADR: Address
> > + OperationRegion (P40C, PCI_Config, 0x60, 0x04)
> > + Field (^PX13.P13C, AnyAcc, NoLock, Preserve)
> > + {
> > + Offset (0x5F),
> > + , 7,
> > + LPEN, 1,
> > + Offset (0x67),
> > + , 3,
> > + CAEN, 1,
> > + , 3,
> > + CBEN, 1
> > + }
> > +
> > + Name (FDEN, One)
> > + }
> > + }
> > +
> > + Scope (_SB.PCI0.ISA)
> > + {
> > + Device (RTC)
> > + {
> > + Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x0070, // Range Minimum
> > + 0x0070, // Range Maximum
> > + 0x10, // Alignment
> > + 0x02, // Length
> > + )
> > + IRQNoFlags ()
> > + {8}
> > + IO (Decode16,
> > + 0x0072, // Range Minimum
> > + 0x0072, // Range Maximum
> > + 0x02, // Alignment
> > + 0x06, // Length
> > + )
> > + })
> > + }
> > +
> > + Device (KBD)
> > + {
> > + Name (_HID, EisaId ("PNP0303")) // _HID: Hardware ID
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (0x0F)
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x0060, // Range Minimum
> > + 0x0060, // Range Maximum
> > + 0x01, // Alignment
> > + 0x01, // Length
> > + )
> > + IO (Decode16,
> > + 0x0064, // Range Minimum
> > + 0x0064, // Range Maximum
> > + 0x01, // Alignment
> > + 0x01, // Length
> > + )
> > + IRQNoFlags ()
> > + {1}
> > + })
> > + }
> > +
> > + Device (MOU)
> > + {
> > + Name (_HID, EisaId ("PNP0F13")) // _HID: Hardware ID
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (0x0F)
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IRQNoFlags ()
> > + {12}
> > + })
> > + }
> > +
> > + Device (FDC0)
> > + {
> > + Name (_HID, EisaId ("PNP0700")) // _HID: Hardware ID
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Store (FDEN, Local0)
> > + If (LEqual (Local0, Zero))
> > + {
> > + Return (Zero)
> > + }
> > + Else
> > + {
> > + Return (0x0F)
> > + }
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x03F2, // Range Minimum
> > + 0x03F2, // Range Maximum
> > + 0x00, // Alignment
> > + 0x04, // Length
> > + )
> > + IO (Decode16,
> > + 0x03F7, // Range Minimum
> > + 0x03F7, // Range Maximum
> > + 0x00, // Alignment
> > + 0x01, // Length
> > + )
> > + IRQNoFlags ()
> > + {6}
> > + DMA (Compatibility, NotBusMaster, Transfer8, )
> > + {2}
> > + })
> > + }
> > +
> > + Device (LPT)
> > + {
> > + Name (_HID, EisaId ("PNP0400")) // _HID: Hardware ID
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Store (LPEN, Local0)
> > + If (LEqual (Local0, Zero))
> > + {
> > + Return (Zero)
> > + }
> > + Else
> > + {
> > + Return (0x0F)
> > + }
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x0378, // Range Minimum
> > + 0x0378, // Range Maximum
> > + 0x08, // Alignment
> > + 0x08, // Length
> > + )
> > + IRQNoFlags ()
> > + {7}
> > + })
> > + }
> > +
> > + Device (COM1)
> > + {
> > + Name (_HID, EisaId ("PNP0501")) // _HID: Hardware ID
> > + Name (_UID, One) // _UID: Unique ID
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Store (CAEN, Local0)
> > + If (LEqual (Local0, Zero))
> > + {
> > + Return (Zero)
> > + }
> > + Else
> > + {
> > + Return (0x0F)
> > + }
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x03F8, // Range Minimum
> > + 0x03F8, // Range Maximum
> > + 0x00, // Alignment
> > + 0x08, // Length
> > + )
> > + IRQNoFlags ()
> > + {4}
> > + })
> > + }
> > +
> > + Device (COM2)
> > + {
> > + Name (_HID, EisaId ("PNP0501")) // _HID: Hardware ID
> > + Name (_UID, 0x02) // _UID: Unique ID
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Store (CBEN, Local0)
> > + If (LEqual (Local0, Zero))
> > + {
> > + Return (Zero)
> > + }
> > + Else
> > + {
> > + Return (0x0F)
> > + }
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x02F8, // Range Minimum
> > + 0x02F8, // Range Maximum
> > + 0x00, // Alignment
> > + 0x08, // Length
> > + )
> > + IRQNoFlags ()
> > + {3}
> > + })
> > + }
> > + }
> > +
> > + Scope (_SB.PCI0)
> > + {
> > + OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > + Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > + {
> > + PCIU, 32,
> > + PCID, 32
> > + }
> > +
> > + OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > + Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > + {
> > + B0EJ, 32
> > + }
> > +
> > + Method (PCEJ, 1, NotSerialized)
> > + {
> > + Store (ShiftLeft (One, Arg0), B0EJ)
> > + Return (Zero)
> > + }
> > +
> > + Method (PCNF, 0, NotSerialized)
> > + {
> > + Store (Zero, Local0)
> > + While (LLess (Local0, 0x1F))
> > + {
> > + Increment (Local0)
> > + If (And (PCIU, ShiftLeft (One, Local0)))
> > + {
> > + PCNT (Local0, One)
> > + }
> > +
> > + If (And (PCID, ShiftLeft (One, Local0)))
> > + {
> > + PCNT (Local0, 0x03)
> > + }
> > + }
> > + }
> > + }
> > +
> > + Scope (_SB)
> > + {
> > + Scope (PCI0)
> > + {
> > + Name (_PRT, Package (0x80) // _PRT: PCI Routing Table
> > + {
> > + Package (0x04)
> > + {
> > + 0xFFFF,
> > + Zero,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0xFFFF,
> > + One,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0xFFFF,
> > + 0x02,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0xFFFF,
> > + 0x03,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0001FFFF,
> > + Zero,
> > + LNKS,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0001FFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0001FFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0001FFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0002FFFF,
> > + Zero,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0002FFFF,
> > + One,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0002FFFF,
> > + 0x02,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0002FFFF,
> > + 0x03,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0003FFFF,
> > + Zero,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0003FFFF,
> > + One,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0003FFFF,
> > + 0x02,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0003FFFF,
> > + 0x03,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0004FFFF,
> > + Zero,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0004FFFF,
> > + One,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0004FFFF,
> > + 0x02,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0004FFFF,
> > + 0x03,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0005FFFF,
> > + Zero,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0005FFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0005FFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0005FFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0006FFFF,
> > + Zero,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0006FFFF,
> > + One,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0006FFFF,
> > + 0x02,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0006FFFF,
> > + 0x03,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0007FFFF,
> > + Zero,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0007FFFF,
> > + One,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0007FFFF,
> > + 0x02,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0007FFFF,
> > + 0x03,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0008FFFF,
> > + Zero,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0008FFFF,
> > + One,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0008FFFF,
> > + 0x02,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0008FFFF,
> > + 0x03,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0009FFFF,
> > + Zero,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0009FFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0009FFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0009FFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000AFFFF,
> > + Zero,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000AFFFF,
> > + One,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000AFFFF,
> > + 0x02,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000AFFFF,
> > + 0x03,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000BFFFF,
> > + Zero,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000BFFFF,
> > + One,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000BFFFF,
> > + 0x02,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000BFFFF,
> > + 0x03,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000CFFFF,
> > + Zero,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000CFFFF,
> > + One,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000CFFFF,
> > + 0x02,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000CFFFF,
> > + 0x03,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000DFFFF,
> > + Zero,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000DFFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000DFFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000DFFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000EFFFF,
> > + Zero,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000EFFFF,
> > + One,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000EFFFF,
> > + 0x02,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000EFFFF,
> > + 0x03,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000FFFFF,
> > + Zero,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000FFFFF,
> > + One,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000FFFFF,
> > + 0x02,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000FFFFF,
> > + 0x03,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0010FFFF,
> > + Zero,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0010FFFF,
> > + One,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0010FFFF,
> > + 0x02,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0010FFFF,
> > + 0x03,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0011FFFF,
> > + Zero,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0011FFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0011FFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0011FFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0012FFFF,
> > + Zero,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0012FFFF,
> > + One,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0012FFFF,
> > + 0x02,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0012FFFF,
> > + 0x03,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0013FFFF,
> > + Zero,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0013FFFF,
> > + One,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0013FFFF,
> > + 0x02,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0013FFFF,
> > + 0x03,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0014FFFF,
> > + Zero,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0014FFFF,
> > + One,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0014FFFF,
> > + 0x02,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0014FFFF,
> > + 0x03,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0015FFFF,
> > + Zero,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0015FFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0015FFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0015FFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0016FFFF,
> > + Zero,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0016FFFF,
> > + One,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0016FFFF,
> > + 0x02,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0016FFFF,
> > + 0x03,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0017FFFF,
> > + Zero,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0017FFFF,
> > + One,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0017FFFF,
> > + 0x02,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0017FFFF,
> > + 0x03,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0018FFFF,
> > + Zero,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0018FFFF,
> > + One,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0018FFFF,
> > + 0x02,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0018FFFF,
> > + 0x03,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0019FFFF,
> > + Zero,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0019FFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0019FFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0019FFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001AFFFF,
> > + Zero,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001AFFFF,
> > + One,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001AFFFF,
> > + 0x02,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001AFFFF,
> > + 0x03,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001BFFFF,
> > + Zero,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001BFFFF,
> > + One,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001BFFFF,
> > + 0x02,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001BFFFF,
> > + 0x03,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001CFFFF,
> > + Zero,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001CFFFF,
> > + One,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001CFFFF,
> > + 0x02,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001CFFFF,
> > + 0x03,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001DFFFF,
> > + Zero,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001DFFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001DFFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001DFFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001EFFFF,
> > + Zero,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001EFFFF,
> > + One,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001EFFFF,
> > + 0x02,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001EFFFF,
> > + 0x03,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001FFFFF,
> > + Zero,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001FFFFF,
> > + One,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001FFFFF,
> > + 0x02,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001FFFFF,
> > + 0x03,
> > + LNKB,
> > + Zero
> > + }
> > + })
> > + }
> > +
> > + Field (PCI0.ISA.P40C, ByteAcc, NoLock, Preserve)
> > + {
> > + PRQ0, 8,
> > + PRQ1, 8,
> > + PRQ2, 8,
> > + PRQ3, 8
> > + }
> > +
> > + Method (IQST, 1, NotSerialized)
> > + {
> > + If (And (0x80, Arg0))
> > + {
> > + Return (0x09)
> > + }
> > +
> > + Return (0x0B)
> > + }
> > +
> > + Method (IQCR, 1, Serialized)
> > + {
> > + Name (PRR0, ResourceTemplate ()
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > _Y02)
> > + {
> > + 0x00000000,
> > + }
> > + })
> > + CreateDWordField (PRR0, \_SB.IQCR._Y02._INT, PRRI) // _INT:
> > Interrupts
> > + If (LLess (Arg0, 0x80))
> > + {
> > + Store (Arg0, PRRI)
> > + }
> > +
> > + Return (PRR0)
> > + }
> > +
> > + Device (LNKA)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, Zero) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000005,
> > + 0x0000000A,
> > + 0x0000000B,
> > + }
> > + })
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (IQST (PRQ0))
> > + }
> > +
> > + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
> > + {
> > + Or (PRQ0, 0x80, PRQ0)
> > + }
> > +
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
> > Settings
> > + {
> > + Return (IQCR (PRQ0))
> > + }
> > +
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + CreateDWordField (Arg0, 0x05, PRRI)
> > + Store (PRRI, PRQ0)
> > + }
> > + }
> > +
> > + Device (LNKB)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, One) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000005,
> > + 0x0000000A,
> > + 0x0000000B,
> > + }
> > + })
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (IQST (PRQ1))
> > + }
> > +
> > + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
> > + {
> > + Or (PRQ1, 0x80, PRQ1)
> > + }
> > +
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
> > Settings
> > + {
> > + Return (IQCR (PRQ1))
> > + }
> > +
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + CreateDWordField (Arg0, 0x05, PRRI)
> > + Store (PRRI, PRQ1)
> > + }
> > + }
> > +
> > + Device (LNKC)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, 0x02) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000005,
> > + 0x0000000A,
> > + 0x0000000B,
> > + }
> > + })
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (IQST (PRQ2))
> > + }
> > +
> > + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
> > + {
> > + Or (PRQ2, 0x80, PRQ2)
> > + }
> > +
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
> > Settings
> > + {
> > + Return (IQCR (PRQ2))
> > + }
> > +
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + CreateDWordField (Arg0, 0x05, PRRI)
> > + Store (PRRI, PRQ2)
> > + }
> > + }
> > +
> > + Device (LNKD)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, 0x03) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000005,
> > + 0x0000000A,
> > + 0x0000000B,
> > + }
> > + })
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (IQST (PRQ3))
> > + }
> > +
> > + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
> > + {
> > + Or (PRQ3, 0x80, PRQ3)
> > + }
> > +
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
> > Settings
> > + {
> > + Return (IQCR (PRQ3))
> > + }
> > +
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + CreateDWordField (Arg0, 0x05, PRRI)
> > + Store (PRRI, PRQ3)
> > + }
> > + }
> > +
> > + Device (LNKS)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, 0x04) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000009,
> > + }
> > + })
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (0x0B)
> > + }
> > +
> > + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
> > + {
> > + }
> > +
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
> > Settings
> > + {
> > + Return (_PRS)
> > + }
> > +
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + }
> > + }
> > + }
> > +
> > + Scope (_SB)
> > + {
> > + Method (CPMA, 1, NotSerialized)
> > + {
> > + Store (DerefOf (Index (CPON, Arg0)), Local0)
> > + Store (Buffer (0x08)
> > + {
> > + 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
> > + }, Local1)
> > + Store (Arg0, Index (Local1, 0x02))
> > + Store (Arg0, Index (Local1, 0x03))
> > + Store (Local0, Index (Local1, 0x04))
> > + Return (Local1)
> > + }
> > +
> > + Method (CPST, 1, NotSerialized)
> > + {
> > + Store (DerefOf (Index (CPON, Arg0)), Local0)
> > + If (Local0)
> > + {
> > + Return (0x0F)
> > + }
> > + Else
> > + {
> > + Return (Zero)
> > + }
> > + }
> > +
> > + Method (CPEJ, 2, NotSerialized)
> > + {
> > + Sleep (0xC8)
> > + }
> > +
> > + OperationRegion (PRST, SystemIO, 0xAF00, 0x20)
> > + Field (PRST, ByteAcc, NoLock, Preserve)
> > + {
> > + PRS, 256
> > + }
> > +
> > + Method (PRSC, 0, NotSerialized)
> > + {
> > + Store (PRS, Local5)
> > + Store (Zero, Local2)
> > + Store (Zero, Local0)
> > + While (LLess (Local0, SizeOf (CPON)))
> > + {
> > + Store (DerefOf (Index (CPON, Local0)), Local1)
> > + If (And (Local0, 0x07))
> > + {
> > + ShiftRight (Local2, One, Local2)
> > + }
> > + Else
> > + {
> > + Store (DerefOf (Index (Local5, ShiftRight (Local0,
> > 0x03))), Local2)
> > + }
> > +
> > + Store (And (Local2, One), Local3)
> > + If (LNotEqual (Local1, Local3))
> > + {
> > + Store (Local3, Index (CPON, Local0))
> > + If (LEqual (Local3, One))
> > + {
> > + NTFY (Local0, One)
> > + }
> > + Else
> > + {
> > + NTFY (Local0, 0x03)
> > + }
> > + }
> > +
> > + Increment (Local0)
> > + }
> > + }
> > + }
> > +
> > + Scope (_GPE)
> > + {
> > + Name (_HID, "ACPI0006") // _HID: Hardware ID
> > + Method (_L00, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_E01, 0, NotSerialized) // _Exx: Edge-Triggered GPE
> > + {
> > + \_SB.PCI0.PCNF ()
> > + }
> > +
> > + Method (_E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE
> > + {
> > + \_SB.PRSC ()
> > + }
> > +
> > + Method (_L03, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L04, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L05, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L06, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L07, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L08, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L0A, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L0B, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L0C, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L0E, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L0F, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > + }
> > +}
> > +
> > diff --git a/tests/acpi-test-data/pc/FACP.dsl
> > b/tests/acpi-test-data/pc/FACP.dsl
> > new file mode 100644
> > index 0000000..b48117d
> > --- /dev/null
> > +++ b/tests/acpi-test-data/pc/FACP.dsl
> > @@ -0,0 +1,99 @@
> > +/*
> > + * Intel ACPI Component Architecture
> > + * AML Disassembler version 20130823-64 [Oct 5 2013]
> > + * Copyright (c) 2000 - 2013 Intel Corporation
> > + *
> > + * Disassembly of FACP, Thu Nov 14 15:25:31 2013
> > + *
> > + * ACPI Data Table [FACP]
> > + *
> > + * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
> > + */
> > +
> > +[000h 0000 4] Signature : "FACP" [Fixed ACPI
> > Description Table (FADT)]
> > +[004h 0004 4] Table Length : 00000074
> > +[008h 0008 1] Revision : 01
> > +[009h 0009 1] Checksum : D9
> > +[00Ah 0010 6] Oem ID : "BOCHS "
> > +[010h 0016 8] Oem Table ID : "BXPCFACP"
> > +[018h 0024 4] Oem Revision : 00000001
> > +[01Ch 0028 4] Asl Compiler ID : "BXPC"
> > +[020h 0032 4] Asl Compiler Revision : 00000001
> > +
> > +[024h 0036 4] FACS Address : 7FFFE000
> > +[028h 0040 4] DSDT Address : 7FFFE040
> > +[02Ch 0044 1] Model : 01
> > +[02Dh 0045 1] PM Profile : 00 [Unspecified]
> > +[02Eh 0046 2] SCI Interrupt : 0009
> > +[030h 0048 4] SMI Command Port : 000000B2
> > +[034h 0052 1] ACPI Enable Value : F1
> > +[035h 0053 1] ACPI Disable Value : F0
> > +[036h 0054 1] S4BIOS Command : 00
> > +[037h 0055 1] P-State Control : 00
> > +[038h 0056 4] PM1A Event Block Address : 0000B000
> > +[03Ch 0060 4] PM1B Event Block Address : 00000000
> > +[040h 0064 4] PM1A Control Block Address : 0000B004
> > +[044h 0068 4] PM1B Control Block Address : 00000000
> > +[048h 0072 4] PM2 Control Block Address : 00000000
> > +[04Ch 0076 4] PM Timer Block Address : 0000B008
> > +[050h 0080 4] GPE0 Block Address : 0000AFE0
> > +[054h 0084 4] GPE1 Block Address : 00000000
> > +[058h 0088 1] PM1 Event Block Length : 04
> > +[059h 0089 1] PM1 Control Block Length : 02
> > +[05Ah 0090 1] PM2 Control Block Length : 00
> > +[05Bh 0091 1] PM Timer Block Length : 04
> > +[05Ch 0092 1] GPE0 Block Length : 04
> > +[05Dh 0093 1] GPE1 Block Length : 00
> > +[05Eh 0094 1] GPE1 Base Offset : 00
> > +[05Fh 0095 1] _CST Support : 00
> > +[060h 0096 2] C2 Latency : 0FFF
> > +[062h 0098 2] C3 Latency : 0FFF
> > +[064h 0100 2] CPU Cache Size : 0000
> > +[066h 0102 2] Cache Flush Stride : 0000
> > +[068h 0104 1] Duty Cycle Offset : 00
> > +[069h 0105 1] Duty Cycle Width : 00
> > +[06Ah 0106 1] RTC Day Alarm Index : 00
> > +[06Bh 0107 1] RTC Month Alarm Index : 00
> > +[06Ch 0108 1] RTC Century Index : 00
> > +[06Dh 0109 2] Boot Flags (decoded below) : 0000
> > + Legacy Devices Supported (V2) : 0
> > + 8042 Present on ports 60/64 (V2) : 0
> > + VGA Not Present (V4) : 0
> > + MSI Not Supported (V4) : 0
> > + PCIe ASPM Not Supported (V4) : 0
> > + CMOS RTC Not Present (V5) : 0
> > +[06Fh 0111 1] Reserved : 00
> > +[070h 0112 4] Flags (decoded below) : 000080A5
> > + WBINVD instruction is operational (V1) : 1
> > + WBINVD flushes all caches (V1) : 0
> > + All CPUs support C1 (V1) : 1
> > + C2 works on MP system (V1) : 0
> > + Control Method Power Button (V1) : 0
> > + Control Method Sleep Button (V1) : 1
> > + RTC wake not in fixed reg space (V1) : 0
> > + RTC can wake system from S4 (V1) : 1
> > + 32-bit PM Timer (V1) : 0
> > + Docking Supported (V1) : 0
> > + Reset Register Supported (V2) : 0
> > + Sealed Case (V3) : 0
> > + Headless - No Video (V3) : 0
> > + Use native instr after SLP_TYPx (V3) : 0
> > + PCIEXP_WAK Bits Supported (V4) : 0
> > + Use Platform Timer (V4) : 1
> > + RTC_STS valid on S4 wake (V4) : 0
> > + Remote Power-on capable (V4) : 0
> > + Use APIC Cluster Model (V4) : 0
> > + Use APIC Physical Destination Mode (V4) : 0
> > + Hardware Reduced (V5) : 0
> > + Low Power S0 Idle (V5) : 0
> > +
> > +Raw Table Data: Length 116 (0x74)
> > +
> > + 0000: 46 41 43 50 74 00 00 00 01 D9 42 4F 43 48 53 20 FACPt.....BOCHS
> > + 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 BXPCFACP....BXPC
> > + 0020: 01 00 00 00 00 E0 FF 7F 40 E0 FF 7F 01 00 09 00 address@hidden
> > + 0030: B2 00 00 00 F1 F0 00 00 00 B0 00 00 00 00 00 00 ................
> > + 0040: 04 B0 00 00 00 00 00 00 00 00 00 00 08 B0 00 00 ................
> > + 0050: E0 AF 00 00 00 00 00 00 04 02 00 04 04 00 00 00 ................
> > + 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > + 0070: A5 80 00 00 ....
> > diff --git a/tests/acpi-test-data/pc/FACS.dsl
> > b/tests/acpi-test-data/pc/FACS.dsl
> > new file mode 100644
> > index 0000000..e8f205f
> > --- /dev/null
> > +++ b/tests/acpi-test-data/pc/FACS.dsl
> > @@ -0,0 +1,32 @@
> > +/*
> > + * Intel ACPI Component Architecture
> > + * AML Disassembler version 20130823-64 [Oct 5 2013]
> > + * Copyright (c) 2000 - 2013 Intel Corporation
> > + *
> > + * Disassembly of FACS, Thu Nov 14 15:25:31 2013
> > + *
> > + * ACPI Data Table [FACS]
> > + *
> > + * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
> > + */
> > +
> > +[000h 0000 4] Signature : "FACS"
> > +[004h 0004 4] Length : 00000040
> > +[008h 0008 4] Hardware Signature : 00000000
> > +[00Ch 0012 4] 32 Firmware Waking Vector : 00000000
> > +[010h 0016 4] Global Lock : 00000000
> > +[014h 0020 4] Flags (decoded below) : 00000000
> > + S4BIOS Support Present : 0
> > + 64-bit Wake Supported (V2) : 0
> > +[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000
> > +[020h 0032 1] Version : 00
> > +[021h 0033 3] Reserved : 000000
> > +[024h 0036 4] OspmFlags (decoded below) : 00000000
> > + 64-bit Wake Env Required (V2) : 0
> > +
> > +Raw Table Data: Length 64 (0x40)
> > +
> > + 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 address@hidden
> > + 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > + 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > + 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > diff --git a/tests/acpi-test-data/pc/HPET.dsl
> > b/tests/acpi-test-data/pc/HPET.dsl
> > new file mode 100644
> > index 0000000..6098956
> > --- /dev/null
> > +++ b/tests/acpi-test-data/pc/HPET.dsl
> > @@ -0,0 +1,43 @@
> > +/*
> > + * Intel ACPI Component Architecture
> > + * AML Disassembler version 20130823-64 [Oct 5 2013]
> > + * Copyright (c) 2000 - 2013 Intel Corporation
> > + *
> > + * Disassembly of HPET, Thu Nov 14 15:25:31 2013
> > + *
> > + * ACPI Data Table [HPET]
> > + *
> > + * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
> > + */
> > +
> > +[000h 0000 4] Signature : "HPET" [High Precision
> > Event Timer table]
> > +[004h 0004 4] Table Length : 00000038
> > +[008h 0008 1] Revision : 01
> > +[009h 0009 1] Checksum : 03
> > +[00Ah 0010 6] Oem ID : "BOCHS "
> > +[010h 0016 8] Oem Table ID : "BXPCHPET"
> > +[018h 0024 4] Oem Revision : 00000001
> > +[01Ch 0028 4] Asl Compiler ID : "BXPC"
> > +[020h 0032 4] Asl Compiler Revision : 00000001
> > +
> > +[024h 0036 4] Hardware Block ID : 8086A201
> > +
> > +[028h 0040 12] Timer Block Register : [Generic Address Structure]
> > +[028h 0040 1] Space ID : 00 [SystemMemory]
> > +[029h 0041 1] Bit Width : 00
> > +[02Ah 0042 1] Bit Offset : 00
> > +[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy]
> > +[02Ch 0044 8] Address : 00000000FED00000
> > +
> > +[034h 0052 1] Sequence Number : 00
> > +[035h 0053 2] Minimum Clock Ticks : 0000
> > +[037h 0055 1] Flags (decoded below) : 00
> > + 4K Page Protect : 0
> > + 64K Page Protect : 0
> > +
> > +Raw Table Data: Length 56 (0x38)
> > +
> > + 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 HPET8.....BOCHS
> > + 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 BXPCHPET....BXPC
> > + 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE ................
> > + 0030: 00 00 00 00 00 00 00 00 ........
> > diff --git a/tests/acpi-test-data/pc/SSDT.dsl
> > b/tests/acpi-test-data/pc/SSDT.dsl
> > new file mode 100644
> > index 0000000..309acc8
> > --- /dev/null
> > +++ b/tests/acpi-test-data/pc/SSDT.dsl
> > @@ -0,0 +1,634 @@
> > +/*
> > + * Intel ACPI Component Architecture
> > + * AML Disassembler version 20130823-64 [Oct 8 2013]
> > + * Copyright (c) 2000 - 2013 Intel Corporation
> > + *
> > + * Disassembly of SSDT, Wed Nov 20 09:17:48 2013
> > + *
> > + * Original Table Header:
> > + * Signature "SSDT"
> > + * Length 0x00000838 (2104)
> > + * Revision 0x01
> > + * Checksum 0x01
> > + * OEM ID "BOCHS "
> > + * OEM Table ID "BXPCSSDT"
> > + * OEM Revision 0x00000001 (1)
> > + * Compiler ID "BXPC"
> > + * Compiler Version 0x00000001 (1)
> > + */
> > +DefinitionBlock ("SSDT.aml", "SSDT", 1, "BOCHS ", "BXPCSSDT", 0x00000001)
> > +{
> > +
> > + External (_SB_.PCI0.ISA_, DeviceObj)
> > + External (CPEJ, MethodObj) // 2 Arguments
> > + External (CPMA, MethodObj) // 1 Arguments
> > + External (CPST, MethodObj) // 1 Arguments
> > + External (PCEJ, MethodObj) // 1 Arguments
> > + External (PCI0, DeviceObj)
> > +
> > + Scope (\)
> > + {
> > + Name (P0S, 0x80000000)
> > + Name (P0E, 0xFEBFFFFF)
> > + Name (P1V, 0x00)
> > + Name (P1S, Buffer (0x08)
> > + {
> > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
> > + })
> > + Name (P1E, Buffer (0x08)
> > + {
> > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
> > + })
> > + Name (P1L, Buffer (0x08)
> > + {
> > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
> > + })
> > + }
> > +
> > + Scope (\)
> > + {
> > + Name (_S3, Package (0x04) // _S3_: S3 System State
> > + {
> > + One,
> > + One,
> > + Zero,
> > + Zero
> > + })
> > + Name (_S4, Package (0x04) // _S4_: S4 System State
> > + {
> > + 0x02,
> > + 0x02,
> > + Zero,
> > + Zero
> > + })
> > + Name (_S5, Package (0x04) // _S5_: S5 System State
> > + {
> > + Zero,
> > + Zero,
> > + Zero,
> > + Zero
> > + })
> > + }
> > +
> > + Scope (\_SB.PCI0.ISA)
> > + {
> > + Device (PEVT)
> > + {
> > + Name (_HID, "QEMU0001") // _HID: Hardware ID
> > + Name (PEST, 0x0000)
> > + OperationRegion (PEOR, SystemIO, PEST, One)
> > + Field (PEOR, ByteAcc, NoLock, Preserve)
> > + {
> > + PEPT, 8
> > + }
> > +
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Store (PEST, Local0)
> > + If (LEqual (Local0, Zero))
> > + {
> > + Return (Zero)
> > + }
> > + Else
> > + {
> > + Return (0x0F)
> > + }
> > + }
> > +
> > + Method (RDPT, 0, NotSerialized)
> > + {
> > + Store (PEPT, Local0)
> > + Return (Local0)
> > + }
> > +
> > + Method (WRPT, 1, NotSerialized)
> > + {
> > + Store (Arg0, PEPT)
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x0000, // Range Minimum
> > + 0x0000, // Range Maximum
> > + 0x01, // Alignment
> > + 0x01, // Length
> > + _Y00)
> > + })
> > + CreateWordField (_CRS, \_SB.PCI0.ISA.PEVT._Y00._MIN, IOMN) //
> > _MIN: Minimum Base Address
> > + CreateWordField (_CRS, \_SB.PCI0.ISA.PEVT._Y00._MAX, IOMX) //
> > _MAX: Maximum Base Address
> > + Method (_INI, 0, NotSerialized) // _INI: Initialize
> > + {
> > + Store (PEST, IOMN)
> > + Store (PEST, IOMX)
> > + }
> > + }
> > + }
> > +
> > + Scope (_SB)
> > + {
> > + Processor (CP00, 0x00, 0x00000000, 0x00)
> > + {
> > + Name (ID, 0x00)
> > + Name (_HID, "ACPI0007") // _HID: Hardware ID
> > + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table
> > Entry
> > + {
> > + Return (CPMA (ID))
> > + }
> > +
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (CPST (ID))
> > + }
> > +
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + CPEJ (ID, Arg0)
> > + }
> > + }
> > +
> > + Method (NTFY, 2, NotSerialized)
> > + {
> > + If (LEqual (Arg0, 0x00))
> > + {
> > + Notify (CP00, Arg1)
> > + }
> > + }
> > +
> > + Name (CPON, Package (0x01)
> > + {
> > + One
> > + })
> > + Scope (PCI0)
> > + {
> > + Device (S01)
> > + {
> > + Name (_SUN, 0x01) // _SUN: Slot User Number
> > + Name (_ADR, 0x00010000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S02)
> > + {
> > + Name (_SUN, 0x02) // _SUN: Slot User Number
> > + Name (_ADR, 0x00020000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S03)
> > + {
> > + Name (_SUN, 0x03) // _SUN: Slot User Number
> > + Name (_ADR, 0x00030000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S04)
> > + {
> > + Name (_SUN, 0x04) // _SUN: Slot User Number
> > + Name (_ADR, 0x00040000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S05)
> > + {
> > + Name (_SUN, 0x05) // _SUN: Slot User Number
> > + Name (_ADR, 0x00050000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S06)
> > + {
> > + Name (_SUN, 0x06) // _SUN: Slot User Number
> > + Name (_ADR, 0x00060000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S07)
> > + {
> > + Name (_SUN, 0x07) // _SUN: Slot User Number
> > + Name (_ADR, 0x00070000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S08)
> > + {
> > + Name (_SUN, 0x08) // _SUN: Slot User Number
> > + Name (_ADR, 0x00080000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S09)
> > + {
> > + Name (_SUN, 0x09) // _SUN: Slot User Number
> > + Name (_ADR, 0x00090000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S0A)
> > + {
> > + Name (_SUN, 0x0A) // _SUN: Slot User Number
> > + Name (_ADR, 0x000A0000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S0B)
> > + {
> > + Name (_SUN, 0x0B) // _SUN: Slot User Number
> > + Name (_ADR, 0x000B0000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S0C)
> > + {
> > + Name (_SUN, 0x0C) // _SUN: Slot User Number
> > + Name (_ADR, 0x000C0000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S0D)
> > + {
> > + Name (_SUN, 0x0D) // _SUN: Slot User Number
> > + Name (_ADR, 0x000D0000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S0E)
> > + {
> > + Name (_SUN, 0x0E) // _SUN: Slot User Number
> > + Name (_ADR, 0x000E0000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S0F)
> > + {
> > + Name (_SUN, 0x0F) // _SUN: Slot User Number
> > + Name (_ADR, 0x000F0000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S10)
> > + {
> > + Name (_SUN, 0x10) // _SUN: Slot User Number
> > + Name (_ADR, 0x00100000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S11)
> > + {
> > + Name (_SUN, 0x11) // _SUN: Slot User Number
> > + Name (_ADR, 0x00110000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S12)
> > + {
> > + Name (_SUN, 0x12) // _SUN: Slot User Number
> > + Name (_ADR, 0x00120000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S13)
> > + {
> > + Name (_SUN, 0x13) // _SUN: Slot User Number
> > + Name (_ADR, 0x00130000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S14)
> > + {
> > + Name (_SUN, 0x14) // _SUN: Slot User Number
> > + Name (_ADR, 0x00140000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S15)
> > + {
> > + Name (_SUN, 0x15) // _SUN: Slot User Number
> > + Name (_ADR, 0x00150000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S16)
> > + {
> > + Name (_SUN, 0x16) // _SUN: Slot User Number
> > + Name (_ADR, 0x00160000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S17)
> > + {
> > + Name (_SUN, 0x17) // _SUN: Slot User Number
> > + Name (_ADR, 0x00170000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S18)
> > + {
> > + Name (_SUN, 0x18) // _SUN: Slot User Number
> > + Name (_ADR, 0x00180000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S19)
> > + {
> > + Name (_SUN, 0x19) // _SUN: Slot User Number
> > + Name (_ADR, 0x00190000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S1A)
> > + {
> > + Name (_SUN, 0x1A) // _SUN: Slot User Number
> > + Name (_ADR, 0x001A0000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S1B)
> > + {
> > + Name (_SUN, 0x1B) // _SUN: Slot User Number
> > + Name (_ADR, 0x001B0000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S1C)
> > + {
> > + Name (_SUN, 0x1C) // _SUN: Slot User Number
> > + Name (_ADR, 0x001C0000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S1D)
> > + {
> > + Name (_SUN, 0x1D) // _SUN: Slot User Number
> > + Name (_ADR, 0x001D0000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S1E)
> > + {
> > + Name (_SUN, 0x1E) // _SUN: Slot User Number
> > + Name (_ADR, 0x001E0000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Device (S1F)
> > + {
> > + Name (_SUN, 0x1F) // _SUN: Slot User Number
> > + Name (_ADR, 0x001F0000) // _ADR: Address
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + Return (PCEJ (_SUN))
> > + }
> > + }
> > +
> > + Method (PCNT, 2, NotSerialized)
> > + {
> > + If (LEqual (Arg0, 0x01))
> > + {
> > + Notify (S01, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x02))
> > + {
> > + Notify (S02, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x03))
> > + {
> > + Notify (S03, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x04))
> > + {
> > + Notify (S04, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x05))
> > + {
> > + Notify (S05, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x06))
> > + {
> > + Notify (S06, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x07))
> > + {
> > + Notify (S07, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x08))
> > + {
> > + Notify (S08, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x09))
> > + {
> > + Notify (S09, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x0A))
> > + {
> > + Notify (S0A, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x0B))
> > + {
> > + Notify (S0B, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x0C))
> > + {
> > + Notify (S0C, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x0D))
> > + {
> > + Notify (S0D, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x0E))
> > + {
> > + Notify (S0E, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x0F))
> > + {
> > + Notify (S0F, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x10))
> > + {
> > + Notify (S10, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x11))
> > + {
> > + Notify (S11, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x12))
> > + {
> > + Notify (S12, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x13))
> > + {
> > + Notify (S13, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x14))
> > + {
> > + Notify (S14, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x15))
> > + {
> > + Notify (S15, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x16))
> > + {
> > + Notify (S16, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x17))
> > + {
> > + Notify (S17, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x18))
> > + {
> > + Notify (S18, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x19))
> > + {
> > + Notify (S19, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x1A))
> > + {
> > + Notify (S1A, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x1B))
> > + {
> > + Notify (S1B, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x1C))
> > + {
> > + Notify (S1C, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x1D))
> > + {
> > + Notify (S1D, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x1E))
> > + {
> > + Notify (S1E, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x1F))
> > + {
> > + Notify (S1F, Arg1)
> > + }
> > + }
> > + }
> > + }
> > +}
> > +
> > diff --git a/tests/acpi-test-data/q35/APIC.dsl
> > b/tests/acpi-test-data/q35/APIC.dsl
> > new file mode 100644
> > index 0000000..2c08ef1
> > --- /dev/null
> > +++ b/tests/acpi-test-data/q35/APIC.dsl
> > @@ -0,0 +1,103 @@
> > +/*
> > + * Intel ACPI Component Architecture
> > + * AML Disassembler version 20130823-64 [Oct 8 2013]
> > + * Copyright (c) 2000 - 2013 Intel Corporation
> > + *
> > + * Disassembly of APIC, Thu Nov 21 04:48:06 2013
> > + *
> > + * ACPI Data Table [APIC]
> > + *
> > + * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
> > + */
> > +
> > +[000h 0000 4] Signature : "APIC" [Multiple APIC
> > Description Table (MADT)]
> > +[004h 0004 4] Table Length : 00000078
> > +[008h 0008 1] Revision : 01
> > +[009h 0009 1] Checksum : ED
> > +[00Ah 0010 6] Oem ID : "BOCHS "
> > +[010h 0016 8] Oem Table ID : "BXPCAPIC"
> > +[018h 0024 4] Oem Revision : 00000001
> > +[01Ch 0028 4] Asl Compiler ID : "BXPC"
> > +[020h 0032 4] Asl Compiler Revision : 00000001
> > +
> > +[024h 0036 4] Local Apic Address : FEE00000
> > +[028h 0040 4] Flags (decoded below) : 00000001
> > + PC-AT Compatibility : 1
> > +
> > +[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC]
> > +[02Dh 0045 1] Length : 08
> > +[02Eh 0046 1] Processor ID : 00
> > +[02Fh 0047 1] Local Apic ID : 00
> > +[030h 0048 4] Flags (decoded below) : 00000001
> > + Processor Enabled : 1
> > +
> > +[034h 0052 1] Subtable Type : 01 [I/O APIC]
> > +[035h 0053 1] Length : 0C
> > +[036h 0054 1] I/O Apic ID : 00
> > +[037h 0055 1] Reserved : 00
> > +[038h 0056 4] Address : FEC00000
> > +[03Ch 0060 4] Interrupt : 00000000
> > +
> > +[040h 0064 1] Subtable Type : 02 [Interrupt Source
> > Override]
> > +[041h 0065 1] Length : 0A
> > +[042h 0066 1] Bus : 00
> > +[043h 0067 1] Source : 00
> > +[044h 0068 4] Interrupt : 00000002
> > +[048h 0072 2] Flags (decoded below) : 0000
> > + Polarity : 0
> > + Trigger Mode : 0
> > +
> > +[04Ah 0074 1] Subtable Type : 02 [Interrupt Source
> > Override]
> > +[04Bh 0075 1] Length : 0A
> > +[04Ch 0076 1] Bus : 00
> > +[04Dh 0077 1] Source : 05
> > +[04Eh 0078 4] Interrupt : 00000005
> > +[052h 0082 2] Flags (decoded below) : 000D
> > + Polarity : 1
> > + Trigger Mode : 3
> > +
> > +[054h 0084 1] Subtable Type : 02 [Interrupt Source
> > Override]
> > +[055h 0085 1] Length : 0A
> > +[056h 0086 1] Bus : 00
> > +[057h 0087 1] Source : 09
> > +[058h 0088 4] Interrupt : 00000009
> > +[05Ch 0092 2] Flags (decoded below) : 000D
> > + Polarity : 1
> > + Trigger Mode : 3
> > +
> > +[05Eh 0094 1] Subtable Type : 02 [Interrupt Source
> > Override]
> > +[05Fh 0095 1] Length : 0A
> > +[060h 0096 1] Bus : 00
> > +[061h 0097 1] Source : 0A
> > +[062h 0098 4] Interrupt : 0000000A
> > +[066h 0102 2] Flags (decoded below) : 000D
> > + Polarity : 1
> > + Trigger Mode : 3
> > +
> > +[068h 0104 1] Subtable Type : 02 [Interrupt Source
> > Override]
> > +[069h 0105 1] Length : 0A
> > +[06Ah 0106 1] Bus : 00
> > +[06Bh 0107 1] Source : 0B
> > +[06Ch 0108 4] Interrupt : 0000000B
> > +[070h 0112 2] Flags (decoded below) : 000D
> > + Polarity : 1
> > + Trigger Mode : 3
> > +
> > +[072h 0114 1] Subtable Type : 04 [Local APIC NMI]
> > +[073h 0115 1] Length : 06
> > +[074h 0116 1] Processor ID : FF
> > +[075h 0117 2] Flags (decoded below) : 0000
> > + Polarity : 0
> > + Trigger Mode : 0
> > +[077h 0119 1] Interrupt Input LINT : 01
> > +
> > +Raw Table Data: Length 120 (0x78)
> > +
> > + 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 APICx.....BOCHS
> > + 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 BXPCAPIC....BXPC
> > + 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 ................
> > + 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 ................
> > + 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 ................
> > + 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A ................
> > + 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 ................
> > + 0070: 0D 00 04 06 FF 00 00 01 ........
> > diff --git a/tests/acpi-test-data/q35/DSDT.dsl
> > b/tests/acpi-test-data/q35/DSDT.dsl
> > new file mode 100644
> > index 0000000..88b20b3
> > --- /dev/null
> > +++ b/tests/acpi-test-data/q35/DSDT.dsl
> > @@ -0,0 +1,3197 @@
> > +/*
> > + * Intel ACPI Component Architecture
> > + * AML Disassembler version 20130823-64 [Oct 8 2013]
> > + * Copyright (c) 2000 - 2013 Intel Corporation
> > + *
> > + * Disassembly of DSDT, Thu Nov 21 04:48:06 2013
> > + *
> > + * Original Table Header:
> > + * Signature "DSDT"
> > + * Length 0x00001CB0 (7344)
> > + * Revision 0x01 **** 32-bit table (V1), no 64-bit math support
> > + * Checksum 0x71
> > + * OEM ID "BOCHS "
> > + * OEM Table ID "BXPCDSDT"
> > + * OEM Revision 0x00000001 (1)
> > + * Compiler ID "BXPC"
> > + * Compiler Version 0x00000001 (1)
> > + */
> > +DefinitionBlock ("DSDT.aml", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001)
> > +{
> > +
> > + External (CPON, PkgObj)
> > + External (NTFY, MethodObj) // 2 Arguments
> > + External (P0E_, IntObj)
> > + External (P0S_, IntObj)
> > + External (P1E_, BuffObj)
> > + External (P1L_, BuffObj)
> > + External (P1S_, BuffObj)
> > + External (P1V_, IntObj)
> > +
> > + Scope (\)
> > + {
> > + OperationRegion (DBG, SystemIO, 0x0402, One)
> > + Field (DBG, ByteAcc, NoLock, Preserve)
> > + {
> > + DBGB, 8
> > + }
> > +
> > + Method (DBUG, 1, NotSerialized)
> > + {
> > + ToHexString (Arg0, Local0)
> > + ToBuffer (Local0, Local0)
> > + Subtract (SizeOf (Local0), One, Local1)
> > + Store (Zero, Local2)
> > + While (LLess (Local2, Local1))
> > + {
> > + Store (DerefOf (Index (Local0, Local2)), DBGB)
> > + Increment (Local2)
> > + }
> > +
> > + Store (0x0A, DBGB)
> > + }
> > + }
> > +
> > + Scope (_SB)
> > + {
> > + OperationRegion (PCST, SystemIO, 0xAE00, 0x0C)
> > + OperationRegion (PCSB, SystemIO, 0xAE0C, One)
> > + Field (PCSB, AnyAcc, NoLock, WriteAsZeros)
> > + {
> > + PCIB, 8
> > + }
> > + }
> > +
> > + Scope (_SB)
> > + {
> > + Device (PCI0)
> > + {
> > + Name (_HID, EisaId ("PNP0A08")) // _HID: Hardware ID
> > + Name (_CID, EisaId ("PNP0A03")) // _CID: Compatible ID
> > + Name (_ADR, Zero) // _ADR: Address
> > + Name (_UID, One) // _UID: Unique ID
> > + Name (SUPP, Zero)
> > + Name (CTRL, Zero)
> > + Method (_OSC, 4, NotSerialized) // _OSC: Operating System
> > Capabilities
> > + {
> > + CreateDWordField (Arg3, Zero, CDW1)
> > + If (LEqual (Arg0, Buffer (0x10)
> > + {
> > + /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7,
> > 0x1F, 0x1C, 0x40,
> > + /* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0,
> > 0x3D, 0xD7, 0x66
> > + }))
> > + {
> > + CreateDWordField (Arg3, 0x04, CDW2)
> > + CreateDWordField (Arg3, 0x08, CDW3)
> > + Store (CDW2, SUPP)
> > + Store (CDW3, CTRL)
> > + And (CTRL, 0x1D, CTRL)
> > + If (LNotEqual (Arg1, One))
> > + {
> > + Or (CDW1, 0x08, CDW1)
> > + }
> > +
> > + If (LNotEqual (CDW3, CTRL))
> > + {
> > + Or (CDW1, 0x10, CDW1)
> > + }
> > +
> > + Store (CTRL, CDW3)
> > + }
> > + Else
> > + {
> > + Or (CDW1, 0x04, CDW1)
> > + }
> > +
> > + Return (Arg3)
> > + }
> > + }
> > + }
> > +
> > + Scope (_SB.PCI0)
> > + {
> > + Name (CRES, ResourceTemplate ()
> > + {
> > + WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > + 0x0000, // Granularity
> > + 0x0000, // Range Minimum
> > + 0x00FF, // Range Maximum
> > + 0x0000, // Translation Offset
> > + 0x0100, // Length
> > + ,, )
> > + IO (Decode16,
> > + 0x0CF8, // Range Minimum
> > + 0x0CF8, // Range Maximum
> > + 0x01, // Alignment
> > + 0x08, // Length
> > + )
> > + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > EntireRange,
> > + 0x0000, // Granularity
> > + 0x0000, // Range Minimum
> > + 0x0CF7, // Range Maximum
> > + 0x0000, // Translation Offset
> > + 0x0CF8, // Length
> > + ,, , TypeStatic)
> > + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > EntireRange,
> > + 0x0000, // Granularity
> > + 0x0D00, // Range Minimum
> > + 0xFFFF, // Range Maximum
> > + 0x0000, // Translation Offset
> > + 0xF300, // Length
> > + ,, , TypeStatic)
> > + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
> > Cacheable, ReadWrite,
> > + 0x00000000, // Granularity
> > + 0x000A0000, // Range Minimum
> > + 0x000BFFFF, // Range Maximum
> > + 0x00000000, // Translation Offset
> > + 0x00020000, // Length
> > + ,, , AddressRangeMemory, TypeStatic)
> > + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
> > NonCacheable, ReadWrite,
> > + 0x00000000, // Granularity
> > + 0xE0000000, // Range Minimum
> > + 0xFEBFFFFF, // Range Maximum
> > + 0x00000000, // Translation Offset
> > + 0x1EC00000, // Length
> > + ,, _Y00, AddressRangeMemory, TypeStatic)
> > + })
> > + Name (CR64, ResourceTemplate ()
> > + {
> > + QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
> > Cacheable, ReadWrite,
> > + 0x0000000000000000, // Granularity
> > + 0x0000008000000000, // Range Minimum
> > + 0x000000FFFFFFFFFF, // Range Maximum
> > + 0x0000000000000000, // Translation Offset
> > + 0x0000008000000000, // Length
> > + ,, _Y01, AddressRangeMemory, TypeStatic)
> > + })
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
> > + {
> > + CreateDWordField (CRES, \_SB.PCI0._Y00._MIN, PS32) // _MIN:
> > Minimum Base Address
> > + CreateDWordField (CRES, \_SB.PCI0._Y00._MAX, PE32) // _MAX:
> > Maximum Base Address
> > + CreateDWordField (CRES, \_SB.PCI0._Y00._LEN, PL32) // _LEN:
> > Length
> > + Store (P0S, PS32)
> > + Store (P0E, PE32)
> > + Store (Add (Subtract (P0E, P0S), One), PL32)
> > + If (LEqual (P1V, Zero))
> > + {
> > + Return (CRES)
> > + }
> > +
> > + CreateQWordField (CR64, \_SB.PCI0._Y01._MIN, PS64) // _MIN:
> > Minimum Base Address
> > + CreateQWordField (CR64, \_SB.PCI0._Y01._MAX, PE64) // _MAX:
> > Maximum Base Address
> > + CreateQWordField (CR64, \_SB.PCI0._Y01._LEN, PL64) // _LEN:
> > Length
> > + Store (P1S, PS64)
> > + Store (P1E, PE64)
> > + Store (P1L, PL64)
> > + ConcatenateResTemplate (CRES, CR64, Local0)
> > + Return (Local0)
> > + }
> > + }
> > +
> > + Scope (_SB)
> > + {
> > + Device (HPET)
> > + {
> > + Name (_HID, EisaId ("PNP0103")) // _HID: Hardware ID
> > + Name (_UID, Zero) // _UID: Unique ID
> > + OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400)
> > + Field (HPTM, DWordAcc, Lock, Preserve)
> > + {
> > + VEND, 32,
> > + PRD, 32
> > + }
> > +
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Store (VEND, Local0)
> > + Store (PRD, Local1)
> > + ShiftRight (Local0, 0x10, Local0)
> > + If (LOr (LEqual (Local0, Zero), LEqual (Local0, 0xFFFF)))
> > + {
> > + Return (Zero)
> > + }
> > +
> > + If (LOr (LEqual (Local1, Zero), LGreater (Local1,
> > 0x05F5E100)))
> > + {
> > + Return (Zero)
> > + }
> > +
> > + Return (0x0F)
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + Memory32Fixed (ReadOnly,
> > + 0xFED00000, // Address Base
> > + 0x00000400, // Address Length
> > + )
> > + })
> > + }
> > + }
> > +
> > + Scope (_SB.PCI0)
> > + {
> > + Device (VGA)
> > + {
> > + Name (_ADR, 0x00010000) // _ADR: Address
> > + Method (_S1D, 0, NotSerialized) // _S1D: S1 Device State
> > + {
> > + Return (Zero)
> > + }
> > +
> > + Method (_S2D, 0, NotSerialized) // _S2D: S2 Device State
> > + {
> > + Return (Zero)
> > + }
> > +
> > + Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
> > + {
> > + Return (Zero)
> > + }
> > + }
> > + }
> > +
> > + Scope (_SB.PCI0)
> > + {
> > + Device (ISA)
> > + {
> > + Name (_ADR, 0x001F0000) // _ADR: Address
> > + OperationRegion (PIRQ, PCI_Config, 0x60, 0x0C)
> > + OperationRegion (LPCD, PCI_Config, 0x80, 0x02)
> > + Field (LPCD, AnyAcc, NoLock, Preserve)
> > + {
> > + COMA, 3,
> > + , 1,
> > + COMB, 3,
> > + Offset (0x01),
> > + LPTD, 2,
> > + , 2,
> > + FDCD, 2
> > + }
> > +
> > + OperationRegion (LPCE, PCI_Config, 0x82, 0x02)
> > + Field (LPCE, AnyAcc, NoLock, Preserve)
> > + {
> > + CAEN, 1,
> > + CBEN, 1,
> > + LPEN, 1,
> > + FDEN, 1
> > + }
> > + }
> > + }
> > +
> > + Scope (_SB.PCI0.ISA)
> > + {
> > + Device (RTC)
> > + {
> > + Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x0070, // Range Minimum
> > + 0x0070, // Range Maximum
> > + 0x10, // Alignment
> > + 0x02, // Length
> > + )
> > + IRQNoFlags ()
> > + {8}
> > + IO (Decode16,
> > + 0x0072, // Range Minimum
> > + 0x0072, // Range Maximum
> > + 0x02, // Alignment
> > + 0x06, // Length
> > + )
> > + })
> > + }
> > +
> > + Device (KBD)
> > + {
> > + Name (_HID, EisaId ("PNP0303")) // _HID: Hardware ID
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (0x0F)
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x0060, // Range Minimum
> > + 0x0060, // Range Maximum
> > + 0x01, // Alignment
> > + 0x01, // Length
> > + )
> > + IO (Decode16,
> > + 0x0064, // Range Minimum
> > + 0x0064, // Range Maximum
> > + 0x01, // Alignment
> > + 0x01, // Length
> > + )
> > + IRQNoFlags ()
> > + {1}
> > + })
> > + }
> > +
> > + Device (MOU)
> > + {
> > + Name (_HID, EisaId ("PNP0F13")) // _HID: Hardware ID
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (0x0F)
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IRQNoFlags ()
> > + {12}
> > + })
> > + }
> > +
> > + Device (FDC0)
> > + {
> > + Name (_HID, EisaId ("PNP0700")) // _HID: Hardware ID
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Store (FDEN, Local0)
> > + If (LEqual (Local0, Zero))
> > + {
> > + Return (Zero)
> > + }
> > + Else
> > + {
> > + Return (0x0F)
> > + }
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x03F2, // Range Minimum
> > + 0x03F2, // Range Maximum
> > + 0x00, // Alignment
> > + 0x04, // Length
> > + )
> > + IO (Decode16,
> > + 0x03F7, // Range Minimum
> > + 0x03F7, // Range Maximum
> > + 0x00, // Alignment
> > + 0x01, // Length
> > + )
> > + IRQNoFlags ()
> > + {6}
> > + DMA (Compatibility, NotBusMaster, Transfer8, )
> > + {2}
> > + })
> > + }
> > +
> > + Device (LPT)
> > + {
> > + Name (_HID, EisaId ("PNP0400")) // _HID: Hardware ID
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Store (LPEN, Local0)
> > + If (LEqual (Local0, Zero))
> > + {
> > + Return (Zero)
> > + }
> > + Else
> > + {
> > + Return (0x0F)
> > + }
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x0378, // Range Minimum
> > + 0x0378, // Range Maximum
> > + 0x08, // Alignment
> > + 0x08, // Length
> > + )
> > + IRQNoFlags ()
> > + {7}
> > + })
> > + }
> > +
> > + Device (COM1)
> > + {
> > + Name (_HID, EisaId ("PNP0501")) // _HID: Hardware ID
> > + Name (_UID, One) // _UID: Unique ID
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Store (CAEN, Local0)
> > + If (LEqual (Local0, Zero))
> > + {
> > + Return (Zero)
> > + }
> > + Else
> > + {
> > + Return (0x0F)
> > + }
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x03F8, // Range Minimum
> > + 0x03F8, // Range Maximum
> > + 0x00, // Alignment
> > + 0x08, // Length
> > + )
> > + IRQNoFlags ()
> > + {4}
> > + })
> > + }
> > +
> > + Device (COM2)
> > + {
> > + Name (_HID, EisaId ("PNP0501")) // _HID: Hardware ID
> > + Name (_UID, 0x02) // _UID: Unique ID
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Store (CBEN, Local0)
> > + If (LEqual (Local0, Zero))
> > + {
> > + Return (Zero)
> > + }
> > + Else
> > + {
> > + Return (0x0F)
> > + }
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x02F8, // Range Minimum
> > + 0x02F8, // Range Maximum
> > + 0x00, // Alignment
> > + 0x08, // Length
> > + )
> > + IRQNoFlags ()
> > + {3}
> > + })
> > + }
> > + }
> > +
> > + Name (PICF, Zero)
> > + Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
> > + {
> > + Store (Arg0, PICF)
> > + }
> > +
> > + Scope (_SB)
> > + {
> > + Scope (PCI0)
> > + {
> > + Name (PRTP, Package (0x80)
> > + {
> > + Package (0x04)
> > + {
> > + 0xFFFF,
> > + Zero,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0xFFFF,
> > + One,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0xFFFF,
> > + 0x02,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0xFFFF,
> > + 0x03,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0001FFFF,
> > + Zero,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0001FFFF,
> > + One,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0001FFFF,
> > + 0x02,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0001FFFF,
> > + 0x03,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0002FFFF,
> > + Zero,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0002FFFF,
> > + One,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0002FFFF,
> > + 0x02,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0002FFFF,
> > + 0x03,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0003FFFF,
> > + Zero,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0003FFFF,
> > + One,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0003FFFF,
> > + 0x02,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0003FFFF,
> > + 0x03,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0004FFFF,
> > + Zero,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0004FFFF,
> > + One,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0004FFFF,
> > + 0x02,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0004FFFF,
> > + 0x03,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0005FFFF,
> > + Zero,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0005FFFF,
> > + One,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0005FFFF,
> > + 0x02,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0005FFFF,
> > + 0x03,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0006FFFF,
> > + Zero,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0006FFFF,
> > + One,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0006FFFF,
> > + 0x02,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0006FFFF,
> > + 0x03,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0007FFFF,
> > + Zero,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0007FFFF,
> > + One,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0007FFFF,
> > + 0x02,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0007FFFF,
> > + 0x03,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0008FFFF,
> > + Zero,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0008FFFF,
> > + One,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0008FFFF,
> > + 0x02,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0008FFFF,
> > + 0x03,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0009FFFF,
> > + Zero,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0009FFFF,
> > + One,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0009FFFF,
> > + 0x02,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0009FFFF,
> > + 0x03,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000AFFFF,
> > + Zero,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000AFFFF,
> > + One,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000AFFFF,
> > + 0x02,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000AFFFF,
> > + 0x03,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000BFFFF,
> > + Zero,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000BFFFF,
> > + One,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000BFFFF,
> > + 0x02,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000BFFFF,
> > + 0x03,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000CFFFF,
> > + Zero,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000CFFFF,
> > + One,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000CFFFF,
> > + 0x02,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000CFFFF,
> > + 0x03,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000DFFFF,
> > + Zero,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000DFFFF,
> > + One,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000DFFFF,
> > + 0x02,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000DFFFF,
> > + 0x03,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000EFFFF,
> > + Zero,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000EFFFF,
> > + One,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000EFFFF,
> > + 0x02,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000EFFFF,
> > + 0x03,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000FFFFF,
> > + Zero,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000FFFFF,
> > + One,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000FFFFF,
> > + 0x02,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000FFFFF,
> > + 0x03,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0010FFFF,
> > + Zero,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0010FFFF,
> > + One,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0010FFFF,
> > + 0x02,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0010FFFF,
> > + 0x03,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0011FFFF,
> > + Zero,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0011FFFF,
> > + One,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0011FFFF,
> > + 0x02,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0011FFFF,
> > + 0x03,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0012FFFF,
> > + Zero,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0012FFFF,
> > + One,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0012FFFF,
> > + 0x02,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0012FFFF,
> > + 0x03,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0013FFFF,
> > + Zero,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0013FFFF,
> > + One,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0013FFFF,
> > + 0x02,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0013FFFF,
> > + 0x03,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0014FFFF,
> > + Zero,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0014FFFF,
> > + One,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0014FFFF,
> > + 0x02,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0014FFFF,
> > + 0x03,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0015FFFF,
> > + Zero,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0015FFFF,
> > + One,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0015FFFF,
> > + 0x02,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0015FFFF,
> > + 0x03,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0016FFFF,
> > + Zero,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0016FFFF,
> > + One,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0016FFFF,
> > + 0x02,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0016FFFF,
> > + 0x03,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0017FFFF,
> > + Zero,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0017FFFF,
> > + One,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0017FFFF,
> > + 0x02,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0017FFFF,
> > + 0x03,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0018FFFF,
> > + Zero,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0018FFFF,
> > + One,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0018FFFF,
> > + 0x02,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0018FFFF,
> > + 0x03,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0019FFFF,
> > + Zero,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0019FFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0019FFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0019FFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001AFFFF,
> > + Zero,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001AFFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001AFFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001AFFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001BFFFF,
> > + Zero,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001BFFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001BFFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001BFFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001CFFFF,
> > + Zero,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001CFFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001CFFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001CFFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001DFFFF,
> > + Zero,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001DFFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001DFFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001DFFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001EFFFF,
> > + Zero,
> > + LNKE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001EFFFF,
> > + One,
> > + LNKF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001EFFFF,
> > + 0x02,
> > + LNKG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001EFFFF,
> > + 0x03,
> > + LNKH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001FFFFF,
> > + Zero,
> > + LNKA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001FFFFF,
> > + One,
> > + LNKB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001FFFFF,
> > + 0x02,
> > + LNKC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001FFFFF,
> > + 0x03,
> > + LNKD,
> > + Zero
> > + }
> > + })
> > + Name (PRTA, Package (0x80)
> > + {
> > + Package (0x04)
> > + {
> > + 0xFFFF,
> > + Zero,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0xFFFF,
> > + One,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0xFFFF,
> > + 0x02,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0xFFFF,
> > + 0x03,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0001FFFF,
> > + Zero,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0001FFFF,
> > + One,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0001FFFF,
> > + 0x02,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0001FFFF,
> > + 0x03,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0002FFFF,
> > + Zero,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0002FFFF,
> > + One,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0002FFFF,
> > + 0x02,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0002FFFF,
> > + 0x03,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0003FFFF,
> > + Zero,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0003FFFF,
> > + One,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0003FFFF,
> > + 0x02,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0003FFFF,
> > + 0x03,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0004FFFF,
> > + Zero,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0004FFFF,
> > + One,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0004FFFF,
> > + 0x02,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0004FFFF,
> > + 0x03,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0005FFFF,
> > + Zero,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0005FFFF,
> > + One,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0005FFFF,
> > + 0x02,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0005FFFF,
> > + 0x03,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0006FFFF,
> > + Zero,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0006FFFF,
> > + One,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0006FFFF,
> > + 0x02,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0006FFFF,
> > + 0x03,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0007FFFF,
> > + Zero,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0007FFFF,
> > + One,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0007FFFF,
> > + 0x02,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0007FFFF,
> > + 0x03,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0008FFFF,
> > + Zero,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0008FFFF,
> > + One,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0008FFFF,
> > + 0x02,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0008FFFF,
> > + 0x03,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0009FFFF,
> > + Zero,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0009FFFF,
> > + One,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0009FFFF,
> > + 0x02,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0009FFFF,
> > + 0x03,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000AFFFF,
> > + Zero,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000AFFFF,
> > + One,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000AFFFF,
> > + 0x02,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000AFFFF,
> > + 0x03,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000BFFFF,
> > + Zero,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000BFFFF,
> > + One,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000BFFFF,
> > + 0x02,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000BFFFF,
> > + 0x03,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000CFFFF,
> > + Zero,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000CFFFF,
> > + One,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000CFFFF,
> > + 0x02,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000CFFFF,
> > + 0x03,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000DFFFF,
> > + Zero,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000DFFFF,
> > + One,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000DFFFF,
> > + 0x02,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000DFFFF,
> > + 0x03,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000EFFFF,
> > + Zero,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000EFFFF,
> > + One,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000EFFFF,
> > + 0x02,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000EFFFF,
> > + 0x03,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000FFFFF,
> > + Zero,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000FFFFF,
> > + One,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000FFFFF,
> > + 0x02,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x000FFFFF,
> > + 0x03,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0010FFFF,
> > + Zero,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0010FFFF,
> > + One,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0010FFFF,
> > + 0x02,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0010FFFF,
> > + 0x03,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0011FFFF,
> > + Zero,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0011FFFF,
> > + One,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0011FFFF,
> > + 0x02,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0011FFFF,
> > + 0x03,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0012FFFF,
> > + Zero,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0012FFFF,
> > + One,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0012FFFF,
> > + 0x02,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0012FFFF,
> > + 0x03,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0013FFFF,
> > + Zero,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0013FFFF,
> > + One,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0013FFFF,
> > + 0x02,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0013FFFF,
> > + 0x03,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0014FFFF,
> > + Zero,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0014FFFF,
> > + One,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0014FFFF,
> > + 0x02,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0014FFFF,
> > + 0x03,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0015FFFF,
> > + Zero,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0015FFFF,
> > + One,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0015FFFF,
> > + 0x02,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0015FFFF,
> > + 0x03,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0016FFFF,
> > + Zero,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0016FFFF,
> > + One,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0016FFFF,
> > + 0x02,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0016FFFF,
> > + 0x03,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0017FFFF,
> > + Zero,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0017FFFF,
> > + One,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0017FFFF,
> > + 0x02,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0017FFFF,
> > + 0x03,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0018FFFF,
> > + Zero,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0018FFFF,
> > + One,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0018FFFF,
> > + 0x02,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0018FFFF,
> > + 0x03,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0019FFFF,
> > + Zero,
> > + GSIA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0019FFFF,
> > + One,
> > + GSIB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0019FFFF,
> > + 0x02,
> > + GSIC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x0019FFFF,
> > + 0x03,
> > + GSID,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001AFFFF,
> > + Zero,
> > + GSIA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001AFFFF,
> > + One,
> > + GSIB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001AFFFF,
> > + 0x02,
> > + GSIC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001AFFFF,
> > + 0x03,
> > + GSID,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001BFFFF,
> > + Zero,
> > + GSIA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001BFFFF,
> > + One,
> > + GSIB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001BFFFF,
> > + 0x02,
> > + GSIC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001BFFFF,
> > + 0x03,
> > + GSID,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001CFFFF,
> > + Zero,
> > + GSIA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001CFFFF,
> > + One,
> > + GSIB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001CFFFF,
> > + 0x02,
> > + GSIC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001CFFFF,
> > + 0x03,
> > + GSID,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001DFFFF,
> > + Zero,
> > + GSIA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001DFFFF,
> > + One,
> > + GSIB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001DFFFF,
> > + 0x02,
> > + GSIC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001DFFFF,
> > + 0x03,
> > + GSID,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001EFFFF,
> > + Zero,
> > + GSIE,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001EFFFF,
> > + One,
> > + GSIF,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001EFFFF,
> > + 0x02,
> > + GSIG,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001EFFFF,
> > + 0x03,
> > + GSIH,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001FFFFF,
> > + Zero,
> > + GSIA,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001FFFFF,
> > + One,
> > + GSIB,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001FFFFF,
> > + 0x02,
> > + GSIC,
> > + Zero
> > + },
> > +
> > + Package (0x04)
> > + {
> > + 0x001FFFFF,
> > + 0x03,
> > + GSID,
> > + Zero
> > + }
> > + })
> > + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
> > + {
> > + If (LEqual (PICF, Zero))
> > + {
> > + Return (PRTP)
> > + }
> > + Else
> > + {
> > + Return (PRTA)
> > + }
> > + }
> > + }
> > +
> > + Field (PCI0.ISA.PIRQ, ByteAcc, NoLock, Preserve)
> > + {
> > + PRQA, 8,
> > + PRQB, 8,
> > + PRQC, 8,
> > + PRQD, 8,
> > + Offset (0x08),
> > + PRQE, 8,
> > + PRQF, 8,
> > + PRQG, 8,
> > + PRQH, 8
> > + }
> > +
> > + Method (IQST, 1, NotSerialized)
> > + {
> > + If (And (0x80, Arg0))
> > + {
> > + Return (0x09)
> > + }
> > +
> > + Return (0x0B)
> > + }
> > +
> > + Method (IQCR, 1, Serialized)
> > + {
> > + Name (PRR0, ResourceTemplate ()
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > _Y02)
> > + {
> > + 0x00000000,
> > + }
> > + })
> > + CreateDWordField (PRR0, \_SB.IQCR._Y02._INT, PRRI) // _INT:
> > Interrupts
> > + Store (And (Arg0, 0x0F), PRRI)
> > + Return (PRR0)
> > + }
> > +
> > + Device (LNKA)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, Zero) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000005,
> > + 0x0000000A,
> > + 0x0000000B,
> > + }
> > + })
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (IQST (PRQA))
> > + }
> > +
> > + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
> > + {
> > + Or (PRQA, 0x80, PRQA)
> > + }
> > +
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
> > Settings
> > + {
> > + Return (IQCR (PRQA))
> > + }
> > +
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + CreateDWordField (Arg0, 0x05, PRRI)
> > + Store (PRRI, PRQA)
> > + }
> > + }
> > +
> > + Device (LNKB)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, One) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000005,
> > + 0x0000000A,
> > + 0x0000000B,
> > + }
> > + })
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (IQST (PRQB))
> > + }
> > +
> > + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
> > + {
> > + Or (PRQB, 0x80, PRQB)
> > + }
> > +
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
> > Settings
> > + {
> > + Return (IQCR (PRQB))
> > + }
> > +
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + CreateDWordField (Arg0, 0x05, PRRI)
> > + Store (PRRI, PRQB)
> > + }
> > + }
> > +
> > + Device (LNKC)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, 0x02) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000005,
> > + 0x0000000A,
> > + 0x0000000B,
> > + }
> > + })
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (IQST (PRQC))
> > + }
> > +
> > + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
> > + {
> > + Or (PRQC, 0x80, PRQC)
> > + }
> > +
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
> > Settings
> > + {
> > + Return (IQCR (PRQC))
> > + }
> > +
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + CreateDWordField (Arg0, 0x05, PRRI)
> > + Store (PRRI, PRQC)
> > + }
> > + }
> > +
> > + Device (LNKD)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, 0x03) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000005,
> > + 0x0000000A,
> > + 0x0000000B,
> > + }
> > + })
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (IQST (PRQD))
> > + }
> > +
> > + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
> > + {
> > + Or (PRQD, 0x80, PRQD)
> > + }
> > +
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
> > Settings
> > + {
> > + Return (IQCR (PRQD))
> > + }
> > +
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + CreateDWordField (Arg0, 0x05, PRRI)
> > + Store (PRRI, PRQD)
> > + }
> > + }
> > +
> > + Device (LNKE)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, 0x04) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000005,
> > + 0x0000000A,
> > + 0x0000000B,
> > + }
> > + })
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (IQST (PRQE))
> > + }
> > +
> > + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
> > + {
> > + Or (PRQE, 0x80, PRQE)
> > + }
> > +
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
> > Settings
> > + {
> > + Return (IQCR (PRQE))
> > + }
> > +
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + CreateDWordField (Arg0, 0x05, PRRI)
> > + Store (PRRI, PRQE)
> > + }
> > + }
> > +
> > + Device (LNKF)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, 0x05) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000005,
> > + 0x0000000A,
> > + 0x0000000B,
> > + }
> > + })
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (IQST (PRQF))
> > + }
> > +
> > + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
> > + {
> > + Or (PRQF, 0x80, PRQF)
> > + }
> > +
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
> > Settings
> > + {
> > + Return (IQCR (PRQF))
> > + }
> > +
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + CreateDWordField (Arg0, 0x05, PRRI)
> > + Store (PRRI, PRQF)
> > + }
> > + }
> > +
> > + Device (LNKG)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, 0x06) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000005,
> > + 0x0000000A,
> > + 0x0000000B,
> > + }
> > + })
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (IQST (PRQG))
> > + }
> > +
> > + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
> > + {
> > + Or (PRQG, 0x80, PRQG)
> > + }
> > +
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
> > Settings
> > + {
> > + Return (IQCR (PRQG))
> > + }
> > +
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + CreateDWordField (Arg0, 0x05, PRRI)
> > + Store (PRRI, PRQG)
> > + }
> > + }
> > +
> > + Device (LNKH)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, 0x07) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000005,
> > + 0x0000000A,
> > + 0x0000000B,
> > + }
> > + })
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (IQST (PRQH))
> > + }
> > +
> > + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
> > + {
> > + Or (PRQH, 0x80, PRQH)
> > + }
> > +
> > + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
> > Settings
> > + {
> > + Return (IQCR (PRQH))
> > + }
> > +
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + CreateDWordField (Arg0, 0x05, PRRI)
> > + Store (PRRI, PRQH)
> > + }
> > + }
> > +
> > + Device (GSIA)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, Zero) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000010,
> > + }
> > + })
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000010,
> > + }
> > + })
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + }
> > + }
> > +
> > + Device (GSIB)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, Zero) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000011,
> > + }
> > + })
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000011,
> > + }
> > + })
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + }
> > + }
> > +
> > + Device (GSIC)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, Zero) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000012,
> > + }
> > + })
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000012,
> > + }
> > + })
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + }
> > + }
> > +
> > + Device (GSID)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, Zero) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000013,
> > + }
> > + })
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000013,
> > + }
> > + })
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + }
> > + }
> > +
> > + Device (GSIE)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, Zero) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000014,
> > + }
> > + })
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000014,
> > + }
> > + })
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + }
> > + }
> > +
> > + Device (GSIF)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, Zero) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000015,
> > + }
> > + })
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000015,
> > + }
> > + })
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + }
> > + }
> > +
> > + Device (GSIG)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, Zero) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000016,
> > + }
> > + })
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000016,
> > + }
> > + })
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + }
> > + }
> > +
> > + Device (GSIH)
> > + {
> > + Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
> > + Name (_UID, Zero) // _UID: Unique ID
> > + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000017,
> > + }
> > + })
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,,
> > )
> > + {
> > + 0x00000017,
> > + }
> > + })
> > + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
> > + {
> > + }
> > + }
> > + }
> > +
> > + Scope (_SB)
> > + {
> > + Method (CPMA, 1, NotSerialized)
> > + {
> > + Store (DerefOf (Index (CPON, Arg0)), Local0)
> > + Store (Buffer (0x08)
> > + {
> > + 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
> > + }, Local1)
> > + Store (Arg0, Index (Local1, 0x02))
> > + Store (Arg0, Index (Local1, 0x03))
> > + Store (Local0, Index (Local1, 0x04))
> > + Return (Local1)
> > + }
> > +
> > + Method (CPST, 1, NotSerialized)
> > + {
> > + Store (DerefOf (Index (CPON, Arg0)), Local0)
> > + If (Local0)
> > + {
> > + Return (0x0F)
> > + }
> > + Else
> > + {
> > + Return (Zero)
> > + }
> > + }
> > +
> > + Method (CPEJ, 2, NotSerialized)
> > + {
> > + Sleep (0xC8)
> > + }
> > +
> > + OperationRegion (PRST, SystemIO, 0xAF00, 0x20)
> > + Field (PRST, ByteAcc, NoLock, Preserve)
> > + {
> > + PRS, 256
> > + }
> > +
> > + Method (PRSC, 0, NotSerialized)
> > + {
> > + Store (PRS, Local5)
> > + Store (Zero, Local2)
> > + Store (Zero, Local0)
> > + While (LLess (Local0, SizeOf (CPON)))
> > + {
> > + Store (DerefOf (Index (CPON, Local0)), Local1)
> > + If (And (Local0, 0x07))
> > + {
> > + ShiftRight (Local2, One, Local2)
> > + }
> > + Else
> > + {
> > + Store (DerefOf (Index (Local5, ShiftRight (Local0,
> > 0x03))), Local2)
> > + }
> > +
> > + Store (And (Local2, One), Local3)
> > + If (LNotEqual (Local1, Local3))
> > + {
> > + Store (Local3, Index (CPON, Local0))
> > + If (LEqual (Local3, One))
> > + {
> > + NTFY (Local0, One)
> > + }
> > + Else
> > + {
> > + NTFY (Local0, 0x03)
> > + }
> > + }
> > +
> > + Increment (Local0)
> > + }
> > + }
> > + }
> > +
> > + Scope (_GPE)
> > + {
> > + Name (_HID, "ACPI0006") // _HID: Hardware ID
> > + Method (_L00, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L01, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + \_SB.PRSC ()
> > + }
> > +
> > + Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L03, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L04, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L05, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L06, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L07, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L08, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L0A, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L0B, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L0C, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L0E, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > +
> > + Method (_L0F, 0, NotSerialized) // _Lxx: Level-Triggered GPE
> > + {
> > + }
> > + }
> > +}
> > +
> > diff --git a/tests/acpi-test-data/q35/FACP.dsl
> > b/tests/acpi-test-data/q35/FACP.dsl
> > new file mode 100644
> > index 0000000..b3caf16
> > --- /dev/null
> > +++ b/tests/acpi-test-data/q35/FACP.dsl
> > @@ -0,0 +1,99 @@
> > +/*
> > + * Intel ACPI Component Architecture
> > + * AML Disassembler version 20130823-64 [Oct 8 2013]
> > + * Copyright (c) 2000 - 2013 Intel Corporation
> > + *
> > + * Disassembly of FACP, Thu Nov 21 04:48:06 2013
> > + *
> > + * ACPI Data Table [FACP]
> > + *
> > + * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
> > + */
> > +
> > +[000h 0000 4] Signature : "FACP" [Fixed ACPI
> > Description Table (FADT)]
> > +[004h 0004 4] Table Length : 00000074
> > +[008h 0008 1] Revision : 01
> > +[009h 0009 1] Checksum : 78
> > +[00Ah 0010 6] Oem ID : "BOCHS "
> > +[010h 0016 8] Oem Table ID : "BXPCFACP"
> > +[018h 0024 4] Oem Revision : 00000001
> > +[01Ch 0028 4] Asl Compiler ID : "BXPC"
> > +[020h 0032 4] Asl Compiler Revision : 00000001
> > +
> > +[024h 0036 4] FACS Address : 07FFD000
> > +[028h 0040 4] DSDT Address : 07FFD040
> > +[02Ch 0044 1] Model : 01
> > +[02Dh 0045 1] PM Profile : 00 [Unspecified]
> > +[02Eh 0046 2] SCI Interrupt : 0009
> > +[030h 0048 4] SMI Command Port : 000000B2
> > +[034h 0052 1] ACPI Enable Value : 02
> > +[035h 0053 1] ACPI Disable Value : 03
> > +[036h 0054 1] S4BIOS Command : 00
> > +[037h 0055 1] P-State Control : 00
> > +[038h 0056 4] PM1A Event Block Address : 0000B000
> > +[03Ch 0060 4] PM1B Event Block Address : 00000000
> > +[040h 0064 4] PM1A Control Block Address : 0000B004
> > +[044h 0068 4] PM1B Control Block Address : 00000000
> > +[048h 0072 4] PM2 Control Block Address : 00000000
> > +[04Ch 0076 4] PM Timer Block Address : 0000B008
> > +[050h 0080 4] GPE0 Block Address : 0000B020
> > +[054h 0084 4] GPE1 Block Address : 00000000
> > +[058h 0088 1] PM1 Event Block Length : 04
> > +[059h 0089 1] PM1 Control Block Length : 02
> > +[05Ah 0090 1] PM2 Control Block Length : 00
> > +[05Bh 0091 1] PM Timer Block Length : 04
> > +[05Ch 0092 1] GPE0 Block Length : 10
> > +[05Dh 0093 1] GPE1 Block Length : 00
> > +[05Eh 0094 1] GPE1 Base Offset : 00
> > +[05Fh 0095 1] _CST Support : 00
> > +[060h 0096 2] C2 Latency : 0FFF
> > +[062h 0098 2] C3 Latency : 0FFF
> > +[064h 0100 2] CPU Cache Size : 0000
> > +[066h 0102 2] Cache Flush Stride : 0000
> > +[068h 0104 1] Duty Cycle Offset : 00
> > +[069h 0105 1] Duty Cycle Width : 00
> > +[06Ah 0106 1] RTC Day Alarm Index : 00
> > +[06Bh 0107 1] RTC Month Alarm Index : 00
> > +[06Ch 0108 1] RTC Century Index : 00
> > +[06Dh 0109 2] Boot Flags (decoded below) : 0000
> > + Legacy Devices Supported (V2) : 0
> > + 8042 Present on ports 60/64 (V2) : 0
> > + VGA Not Present (V4) : 0
> > + MSI Not Supported (V4) : 0
> > + PCIe ASPM Not Supported (V4) : 0
> > + CMOS RTC Not Present (V5) : 0
> > +[06Fh 0111 1] Reserved : 00
> > +[070h 0112 4] Flags (decoded below) : 000080A5
> > + WBINVD instruction is operational (V1) : 1
> > + WBINVD flushes all caches (V1) : 0
> > + All CPUs support C1 (V1) : 1
> > + C2 works on MP system (V1) : 0
> > + Control Method Power Button (V1) : 0
> > + Control Method Sleep Button (V1) : 1
> > + RTC wake not in fixed reg space (V1) : 0
> > + RTC can wake system from S4 (V1) : 1
> > + 32-bit PM Timer (V1) : 0
> > + Docking Supported (V1) : 0
> > + Reset Register Supported (V2) : 0
> > + Sealed Case (V3) : 0
> > + Headless - No Video (V3) : 0
> > + Use native instr after SLP_TYPx (V3) : 0
> > + PCIEXP_WAK Bits Supported (V4) : 0
> > + Use Platform Timer (V4) : 1
> > + RTC_STS valid on S4 wake (V4) : 0
> > + Remote Power-on capable (V4) : 0
> > + Use APIC Cluster Model (V4) : 0
> > + Use APIC Physical Destination Mode (V4) : 0
> > + Hardware Reduced (V5) : 0
> > + Low Power S0 Idle (V5) : 0
> > +
> > +Raw Table Data: Length 116 (0x74)
> > +
> > + 0000: 46 41 43 50 74 00 00 00 01 78 42 4F 43 48 53 20 FACPt....xBOCHS
> > + 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 BXPCFACP....BXPC
> > + 0020: 01 00 00 00 00 D0 FF 07 40 D0 FF 07 01 00 09 00 address@hidden
> > + 0030: B2 00 00 00 02 03 00 00 00 B0 00 00 00 00 00 00 ................
> > + 0040: 04 B0 00 00 00 00 00 00 00 00 00 00 08 B0 00 00 ................
> > + 0050: 20 B0 00 00 00 00 00 00 04 02 00 04 10 00 00 00 ...............
> > + 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > + 0070: A5 80 00 00 ....
> > diff --git a/tests/acpi-test-data/q35/FACS.dsl
> > b/tests/acpi-test-data/q35/FACS.dsl
> > new file mode 100644
> > index 0000000..cbc6781
> > --- /dev/null
> > +++ b/tests/acpi-test-data/q35/FACS.dsl
> > @@ -0,0 +1,32 @@
> > +/*
> > + * Intel ACPI Component Architecture
> > + * AML Disassembler version 20130823-64 [Oct 8 2013]
> > + * Copyright (c) 2000 - 2013 Intel Corporation
> > + *
> > + * Disassembly of FACS, Thu Nov 21 04:48:06 2013
> > + *
> > + * ACPI Data Table [FACS]
> > + *
> > + * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
> > + */
> > +
> > +[000h 0000 4] Signature : "FACS"
> > +[004h 0004 4] Length : 00000040
> > +[008h 0008 4] Hardware Signature : 00000000
> > +[00Ch 0012 4] 32 Firmware Waking Vector : 00000000
> > +[010h 0016 4] Global Lock : 00000000
> > +[014h 0020 4] Flags (decoded below) : 00000000
> > + S4BIOS Support Present : 0
> > + 64-bit Wake Supported (V2) : 0
> > +[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000
> > +[020h 0032 1] Version : 00
> > +[021h 0033 3] Reserved : 000000
> > +[024h 0036 4] OspmFlags (decoded below) : 00000000
> > + 64-bit Wake Env Required (V2) : 0
> > +
> > +Raw Table Data: Length 64 (0x40)
> > +
> > + 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 address@hidden
> > + 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > + 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > + 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > diff --git a/tests/acpi-test-data/q35/HPET.dsl
> > b/tests/acpi-test-data/q35/HPET.dsl
> > new file mode 100644
> > index 0000000..a13d081
> > --- /dev/null
> > +++ b/tests/acpi-test-data/q35/HPET.dsl
> > @@ -0,0 +1,43 @@
> > +/*
> > + * Intel ACPI Component Architecture
> > + * AML Disassembler version 20130823-64 [Oct 8 2013]
> > + * Copyright (c) 2000 - 2013 Intel Corporation
> > + *
> > + * Disassembly of HPET, Thu Nov 21 04:48:06 2013
> > + *
> > + * ACPI Data Table [HPET]
> > + *
> > + * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
> > + */
> > +
> > +[000h 0000 4] Signature : "HPET" [High Precision
> > Event Timer table]
> > +[004h 0004 4] Table Length : 00000038
> > +[008h 0008 1] Revision : 01
> > +[009h 0009 1] Checksum : 03
> > +[00Ah 0010 6] Oem ID : "BOCHS "
> > +[010h 0016 8] Oem Table ID : "BXPCHPET"
> > +[018h 0024 4] Oem Revision : 00000001
> > +[01Ch 0028 4] Asl Compiler ID : "BXPC"
> > +[020h 0032 4] Asl Compiler Revision : 00000001
> > +
> > +[024h 0036 4] Hardware Block ID : 8086A201
> > +
> > +[028h 0040 12] Timer Block Register : [Generic Address Structure]
> > +[028h 0040 1] Space ID : 00 [SystemMemory]
> > +[029h 0041 1] Bit Width : 00
> > +[02Ah 0042 1] Bit Offset : 00
> > +[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy]
> > +[02Ch 0044 8] Address : 00000000FED00000
> > +
> > +[034h 0052 1] Sequence Number : 00
> > +[035h 0053 2] Minimum Clock Ticks : 0000
> > +[037h 0055 1] Flags (decoded below) : 00
> > + 4K Page Protect : 0
> > + 64K Page Protect : 0
> > +
> > +Raw Table Data: Length 56 (0x38)
> > +
> > + 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 HPET8.....BOCHS
> > + 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 BXPCHPET....BXPC
> > + 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE ................
> > + 0030: 00 00 00 00 00 00 00 00 ........
> > diff --git a/tests/acpi-test-data/q35/MCFG.dsl
> > b/tests/acpi-test-data/q35/MCFG.dsl
> > new file mode 100644
> > index 0000000..073d559
> > --- /dev/null
> > +++ b/tests/acpi-test-data/q35/MCFG.dsl
> > @@ -0,0 +1,36 @@
> > +/*
> > + * Intel ACPI Component Architecture
> > + * AML Disassembler version 20130823-64 [Oct 8 2013]
> > + * Copyright (c) 2000 - 2013 Intel Corporation
> > + *
> > + * Disassembly of MCFG, Thu Nov 21 04:48:06 2013
> > + *
> > + * ACPI Data Table [MCFG]
> > + *
> > + * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
> > + */
> > +
> > +[000h 0000 4] Signature : "MCFG" [Memory Mapped
> > Configuration table]
> > +[004h 0004 4] Table Length : 0000003C
> > +[008h 0008 1] Revision : 01
> > +[009h 0009 1] Checksum : EF
> > +[00Ah 0010 6] Oem ID : "BOCHS "
> > +[010h 0016 8] Oem Table ID : "BXPCMCFG"
> > +[018h 0024 4] Oem Revision : 00000001
> > +[01Ch 0028 4] Asl Compiler ID : "BXPC"
> > +[020h 0032 4] Asl Compiler Revision : 00000001
> > +
> > +[024h 0036 8] Reserved : 0000000000000000
> > +
> > +[02Ch 0044 8] Base Address : 00000000B0000000
> > +[034h 0052 2] Segment Group Number : 0000
> > +[036h 0054 1] Start Bus Number : 00
> > +[037h 0055 1] End Bus Number : FF
> > +[038h 0056 4] Reserved : 00000000
> > +
> > +Raw Table Data: Length 60 (0x3C)
> > +
> > + 0000: 4D 43 46 47 3C 00 00 00 01 EF 42 4F 43 48 53 20 MCFG<.....BOCHS
> > + 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 BXPCMCFG....BXPC
> > + 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B0 ................
> > + 0030: 00 00 00 00 00 00 00 FF 00 00 00 00 ............
> > diff --git a/tests/acpi-test-data/q35/SSDT.dsl
> > b/tests/acpi-test-data/q35/SSDT.dsl
> > new file mode 100644
> > index 0000000..0069fca
> > --- /dev/null
> > +++ b/tests/acpi-test-data/q35/SSDT.dsl
> > @@ -0,0 +1,665 @@
> > +/*
> > + * Intel ACPI Component Architecture
> > + * AML Disassembler version 20130823-64 [Oct 8 2013]
> > + * Copyright (c) 2000 - 2013 Intel Corporation
> > + *
> > + * Disassembly of SSDT, Thu Nov 21 04:48:06 2013
> > + *
> > + * Original Table Header:
> > + * Signature "SSDT"
> > + * Length 0x00000838 (2104)
> > + * Revision 0x01
> > + * Checksum 0xC5
> > + * OEM ID "BOCHS "
> > + * OEM Table ID "BXPCSSDT"
> > + * OEM Revision 0x00000001 (1)
> > + * Compiler ID "BXPC"
> > + * Compiler Version 0x00000001 (1)
> > + */
> > +DefinitionBlock ("SSDT.aml", "SSDT", 1, "BOCHS ", "BXPCSSDT", 0x00000001)
> > +{
> > +
> > + External (_SB_.PCI0.ISA_, DeviceObj)
> > + External (CPEJ, MethodObj) // 2 Arguments
> > + External (CPMA, MethodObj) // 1 Arguments
> > + External (CPST, MethodObj) // 1 Arguments
> > + External (PCEJ, IntObj)
> > + External (PCI0, DeviceObj)
> > +
> > + Scope (\)
> > + {
> > + Name (P0S, 0xC0000000)
> > + Name (P0E, 0xFEBFFFFF)
> > + Name (P1V, 0x00)
> > + Name (P1S, Buffer (0x08)
> > + {
> > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
> > + })
> > + Name (P1E, Buffer (0x08)
> > + {
> > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
> > + })
> > + Name (P1L, Buffer (0x08)
> > + {
> > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
> > + })
> > + }
> > +
> > + Scope (\)
> > + {
> > + Name (_S3, Package (0x04) // _S3_: S3 System State
> > + {
> > + One,
> > + One,
> > + Zero,
> > + Zero
> > + })
> > + Name (_S4, Package (0x04) // _S4_: S4 System State
> > + {
> > + 0x00,
> > + 0x00,
> > + Zero,
> > + Zero
> > + })
> > + Name (_S5, Package (0x04) // _S5_: S5 System State
> > + {
> > + Zero,
> > + Zero,
> > + Zero,
> > + Zero
> > + })
> > + }
> > +
> > + Scope (\_SB.PCI0.ISA)
> > + {
> > + Device (PEVT)
> > + {
> > + Name (_HID, "QEMU0001") // _HID: Hardware ID
> > + Name (PEST, 0x0000)
> > + OperationRegion (PEOR, SystemIO, PEST, One)
> > + Field (PEOR, ByteAcc, NoLock, Preserve)
> > + {
> > + PEPT, 8
> > + }
> > +
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Store (PEST, Local0)
> > + If (LEqual (Local0, Zero))
> > + {
> > + Return (Zero)
> > + }
> > + Else
> > + {
> > + Return (0x0F)
> > + }
> > + }
> > +
> > + Method (RDPT, 0, NotSerialized)
> > + {
> > + Store (PEPT, Local0)
> > + Return (Local0)
> > + }
> > +
> > + Method (WRPT, 1, NotSerialized)
> > + {
> > + Store (Arg0, PEPT)
> > + }
> > +
> > + Name (_CRS, ResourceTemplate () // _CRS: Current Resource
> > Settings
> > + {
> > + IO (Decode16,
> > + 0x0000, // Range Minimum
> > + 0x0000, // Range Maximum
> > + 0x01, // Alignment
> > + 0x01, // Length
> > + _Y00)
> > + })
> > + CreateWordField (_CRS, \_SB.PCI0.ISA.PEVT._Y00._MIN, IOMN) //
> > _MIN: Minimum Base Address
> > + CreateWordField (_CRS, \_SB.PCI0.ISA.PEVT._Y00._MAX, IOMX) //
> > _MAX: Maximum Base Address
> > + Method (_INI, 0, NotSerialized) // _INI: Initialize
> > + {
> > + Store (PEST, IOMN)
> > + Store (PEST, IOMX)
> > + }
> > + }
> > + }
> > +
> > + Scope (_SB)
> > + {
> > + Processor (CP00, 0x00, 0x00000000, 0x00)
> > + {
> > + Name (ID, 0x00)
> > + Name (_HID, "ACPI0007") // _HID: Hardware ID
> > + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table
> > Entry
> > + {
> > + Return (CPMA (ID))
> > + }
> > +
> > + Method (_STA, 0, NotSerialized) // _STA: Status
> > + {
> > + Return (CPST (ID))
> > + }
> > +
> > + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
> > + {
> > + CPEJ (ID, Arg0)
> > + }
> > + }
> > +
> > + Method (NTFY, 2, NotSerialized)
> > + {
> > + If (LEqual (Arg0, 0x00))
> > + {
> > + Notify (CP00, Arg1)
> > + }
> > + }
> > +
> > + Name (CPON, Package (0x01)
> > + {
> > + One
> > + })
> > + Scope (PCI0)
> > + {
> > + Device (S01)
> > + {
> > + Name (_SUN, 0x01) // _SUN: Slot User Number
> > + Name (_ADR, 0x00010000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S02)
> > + {
> > + Name (_SUN, 0x02) // _SUN: Slot User Number
> > + Name (_ADR, 0x00020000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S03)
> > + {
> > + Name (_SUN, 0x03) // _SUN: Slot User Number
> > + Name (_ADR, 0x00030000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S04)
> > + {
> > + Name (_SUN, 0x04) // _SUN: Slot User Number
> > + Name (_ADR, 0x00040000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S05)
> > + {
> > + Name (_SUN, 0x05) // _SUN: Slot User Number
> > + Name (_ADR, 0x00050000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S06)
> > + {
> > + Name (_SUN, 0x06) // _SUN: Slot User Number
> > + Name (_ADR, 0x00060000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S07)
> > + {
> > + Name (_SUN, 0x07) // _SUN: Slot User Number
> > + Name (_ADR, 0x00070000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S08)
> > + {
> > + Name (_SUN, 0x08) // _SUN: Slot User Number
> > + Name (_ADR, 0x00080000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S09)
> > + {
> > + Name (_SUN, 0x09) // _SUN: Slot User Number
> > + Name (_ADR, 0x00090000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S0A)
> > + {
> > + Name (_SUN, 0x0A) // _SUN: Slot User Number
> > + Name (_ADR, 0x000A0000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S0B)
> > + {
> > + Name (_SUN, 0x0B) // _SUN: Slot User Number
> > + Name (_ADR, 0x000B0000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S0C)
> > + {
> > + Name (_SUN, 0x0C) // _SUN: Slot User Number
> > + Name (_ADR, 0x000C0000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S0D)
> > + {
> > + Name (_SUN, 0x0D) // _SUN: Slot User Number
> > + Name (_ADR, 0x000D0000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S0E)
> > + {
> > + Name (_SUN, 0x0E) // _SUN: Slot User Number
> > + Name (_ADR, 0x000E0000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S0F)
> > + {
> > + Name (_SUN, 0x0F) // _SUN: Slot User Number
> > + Name (_ADR, 0x000F0000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S10)
> > + {
> > + Name (_SUN, 0x10) // _SUN: Slot User Number
> > + Name (_ADR, 0x00100000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S11)
> > + {
> > + Name (_SUN, 0x11) // _SUN: Slot User Number
> > + Name (_ADR, 0x00110000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S12)
> > + {
> > + Name (_SUN, 0x12) // _SUN: Slot User Number
> > + Name (_ADR, 0x00120000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S13)
> > + {
> > + Name (_SUN, 0x13) // _SUN: Slot User Number
> > + Name (_ADR, 0x00130000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S14)
> > + {
> > + Name (_SUN, 0x14) // _SUN: Slot User Number
> > + Name (_ADR, 0x00140000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S15)
> > + {
> > + Name (_SUN, 0x15) // _SUN: Slot User Number
> > + Name (_ADR, 0x00150000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S16)
> > + {
> > + Name (_SUN, 0x16) // _SUN: Slot User Number
> > + Name (_ADR, 0x00160000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S17)
> > + {
> > + Name (_SUN, 0x17) // _SUN: Slot User Number
> > + Name (_ADR, 0x00170000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S18)
> > + {
> > + Name (_SUN, 0x18) // _SUN: Slot User Number
> > + Name (_ADR, 0x00180000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S19)
> > + {
> > + Name (_SUN, 0x19) // _SUN: Slot User Number
> > + Name (_ADR, 0x00190000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S1A)
> > + {
> > + Name (_SUN, 0x1A) // _SUN: Slot User Number
> > + Name (_ADR, 0x001A0000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S1B)
> > + {
> > + Name (_SUN, 0x1B) // _SUN: Slot User Number
> > + Name (_ADR, 0x001B0000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S1C)
> > + {
> > + Name (_SUN, 0x1C) // _SUN: Slot User Number
> > + Name (_ADR, 0x001C0000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S1D)
> > + {
> > + Name (_SUN, 0x1D) // _SUN: Slot User Number
> > + Name (_ADR, 0x001D0000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S1E)
> > + {
> > + Name (_SUN, 0x1E) // _SUN: Slot User Number
> > + Name (_ADR, 0x001E0000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Device (S1F)
> > + {
> > + Name (_SUN, 0x1F) // _SUN: Slot User Number
> > + Name (_ADR, 0x001F0000) // _ADR: Address
> > + Method (EJ0, 1, NotSerialized)
> > + {
> > + Return (PCEJ)
> > + _SUN
> > + }
> > + }
> > +
> > + Method (PCNT, 2, NotSerialized)
> > + {
> > + If (LEqual (Arg0, 0x01))
> > + {
> > + Notify (S01, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x02))
> > + {
> > + Notify (S02, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x03))
> > + {
> > + Notify (S03, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x04))
> > + {
> > + Notify (S04, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x05))
> > + {
> > + Notify (S05, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x06))
> > + {
> > + Notify (S06, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x07))
> > + {
> > + Notify (S07, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x08))
> > + {
> > + Notify (S08, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x09))
> > + {
> > + Notify (S09, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x0A))
> > + {
> > + Notify (S0A, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x0B))
> > + {
> > + Notify (S0B, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x0C))
> > + {
> > + Notify (S0C, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x0D))
> > + {
> > + Notify (S0D, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x0E))
> > + {
> > + Notify (S0E, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x0F))
> > + {
> > + Notify (S0F, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x10))
> > + {
> > + Notify (S10, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x11))
> > + {
> > + Notify (S11, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x12))
> > + {
> > + Notify (S12, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x13))
> > + {
> > + Notify (S13, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x14))
> > + {
> > + Notify (S14, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x15))
> > + {
> > + Notify (S15, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x16))
> > + {
> > + Notify (S16, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x17))
> > + {
> > + Notify (S17, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x18))
> > + {
> > + Notify (S18, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x19))
> > + {
> > + Notify (S19, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x1A))
> > + {
> > + Notify (S1A, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x1B))
> > + {
> > + Notify (S1B, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x1C))
> > + {
> > + Notify (S1C, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x1D))
> > + {
> > + Notify (S1D, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x1E))
> > + {
> > + Notify (S1E, Arg1)
> > + }
> > +
> > + If (LEqual (Arg0, 0x1F))
> > + {
> > + Notify (S1F, Arg1)
> > + }
> > + }
> > + }
> > + }
> > +}
> > +
> > --
> > 1.8.3.1