Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Oct 2005 08:38:53 +0200
From:      Mathieu Prevot <mathieu_prevot@yahoo.fr>
To:        "Moore, Robert" <robert.moore@intel.com>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: ACPI errors on amd64 (sempron)
Message-ID:  <7B5FE857-16A8-4369-B577-3F3190B56840@yahoo.fr>
In-Reply-To: <971FCB6690CD0E4898387DBF7552B90E0323D7B6@orsmsx403.amr.corp.intel.com>
References:  <971FCB6690CD0E4898387DBF7552B90E0323D7B6@orsmsx403.amr.corp.intel.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail-2--901804979
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed


> I think that the generation of the OS for Amd64 needs to set this
> define:
>
> #define ACPI_MISALIGNED_TRANSFERS
>
> I will look into doing this automatically in the actypes.h header
>

To confirm, the same output on the same system but with  
6.0RC1i386GENERIC:

dmesg -v
sysctl hw.acpi
acpidump -t -d in the file

Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
     The Regents of the University of California. All rights reserved.
FreeBSD 6.0-RC1 #0: Sun Oct  9 20:32:57 UTC 2005
     root@x64.samsco.home:/usr/obj/usr/src/sys/GENERIC
Preloaded elf kernel "/boot/kernel/kernel" at 0xc0a88000.
Preloaded elf module "/boot/kernel/acpi.ko" at 0xc0a88194.
MP Configuration Table version 1.4 found at 0xc00f0d00
Table 'FACP' at 0x1bff3040
Table 'APIC' at 0x1bff7740
MADT: Found table at 0x1bff7740
APIC: Using the MADT enumerator.
MADT: Found CPU APIC ID 0 ACPI ID 0: enabled
ACPI APIC Table: <VIAK8  AWRDACPI>
Calibrating clock(s) ... i8254 clock: 1193127 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254" frequency 1193182 Hz quality 0
Calibrating TSC clock ... TSC clock: 1607408626 Hz
CPU: AMD Sempron(tm) Processor 2600+ (1607.41-MHz 686-class CPU)
   Origin = "AuthenticAMD"  Id = 0x20fc2  Stepping = 2
    
Features=0x78bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE, 
MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2>
   Features2=0x1<SSE3>
   AMD Features=0xe2500800<SYSCALL,NX,MMX+,<b25>,LM,3DNow+,3DNow>
Data TLB: 32 entries, fully associative
Instruction TLB: 32 entries, fully associative
L1 data cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L1 instruction cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way  
associative
L2 internal cache: 128 kbytes, 64 bytes/line, 1 lines/tag, 8-way  
associative
real memory  = 469696512 (447 MB)
Physical memory chunk(s):
0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages)
0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages)
0x0000000000c25000 - 0x000000001b7d7fff, 448475136 bytes (109491 pages)
avail memory = 450240512 (429 MB)
bios32: Found BIOS32 Service Directory header at 0xc00fac70
bios32: Entry = 0xfb0f0 (c00fb0f0)  Rev = 0  Len = 1
pcibios: PCI BIOS entry at 0xf0000+0xb140
pnpbios: Found PnP BIOS data at 0xc00fbbb0
pnpbios: Entry = f0000:bbe0  Rev = 1.0
Other BIOS signatures found:
APIC: CPU 0 has ACPI ID 0
MADT: Found IO APIC ID 2, Interrupt 0 at 0xfec00000
ioapic0: Routing external 8259A's -> intpin 0
ioapic0: intpin 0 -> ExtINT (edge, high)
ioapic0: intpin 1 -> ISA IRQ 1 (edge, high)
ioapic0: intpin 2 -> ISA IRQ 2 (edge, high)
ioapic0: intpin 3 -> ISA IRQ 3 (edge, high)
ioapic0: intpin 4 -> ISA IRQ 4 (edge, high)
ioapic0: intpin 5 -> ISA IRQ 5 (edge, high)
ioapic0: intpin 6 -> ISA IRQ 6 (edge, high)
ioapic0: intpin 7 -> ISA IRQ 7 (edge, high)
ioapic0: intpin 8 -> ISA IRQ 8 (edge, high)
ioapic0: intpin 9 -> ISA IRQ 9 (edge, high)
ioapic0: intpin 10 -> ISA IRQ 10 (edge, high)
ioapic0: intpin 11 -> ISA IRQ 11 (edge, high)
ioapic0: intpin 12 -> ISA IRQ 12 (edge, high)
ioapic0: intpin 13 -> ISA IRQ 13 (edge, high)
ioapic0: intpin 14 -> ISA IRQ 14 (edge, high)
ioapic0: intpin 15 -> ISA IRQ 15 (edge, high)
ioapic0: intpin 16 -> PCI IRQ 16 (level, low)
ioapic0: intpin 17 -> PCI IRQ 17 (level, low)
ioapic0: intpin 18 -> PCI IRQ 18 (level, low)
ioapic0: intpin 19 -> PCI IRQ 19 (level, low)
ioapic0: intpin 20 -> PCI IRQ 20 (level, low)
ioapic0: intpin 21 -> PCI IRQ 21 (level, low)
ioapic0: intpin 22 -> PCI IRQ 22 (level, low)
ioapic0: intpin 23 -> PCI IRQ 23 (level, low)
MADT: Interrupt override: source 0, irq 2
ioapic0: Routing IRQ 0 -> intpin 2
ioapic0: intpin 2 trigger: edge
ioapic0: intpin 2 polarity: high
MADT: Interrupt override: source 9, irq 9
ioapic0: intpin 9 trigger: level
ioapic0: intpin 9 polarity: low
lapic0: Routing NMI -> LINT1
ioapic0 <Version 0.3> irqs 0-23 on motherboard
cpu0 BSP:
      ID: 0x00000000   VER: 0x00050010 LDR: 0x01000000 DFR: 0x0fffffff
   lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff
   timer: 0x000100ef therm: 0x00010000 err: 0x00010000 pcm: 0x00010000
wlan: <802.11 Link Layer>
random: <entropy source, Software, Yarrow>
nfslock: pseudo-device
io: <I/O>
mem: <memory>
Pentium Pro MTRR support enabled
null: <null device, zero device>
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <VIAK8 AWRDACPI> on motherboard
acpi0: [MPSAFE]
pci_open(1):    mode 1 addr port (0x0cf8) is 0x80007804
pci_open(1a):    mode1res=0x80000000 (0x80000000)
pci_cfgcheck:    device 0 [class=060000] [hdr=80] is there (id=02041106)
pcibios: BIOS version 2.10
Found $PIR table, 7 entries at 0xc00fd570
PCI-Only Interrupts: 5 10 11
Location  Bus Device Pin  Link  IRQs
slot 1      0    9    A   0x02  3 4 5 6 7 9 10 11 14 15
slot 1      0    9    B   0x03  3 4 5 6 7 9 10 11 14 15
slot 1      0    9    C   0x05  3 4 5 6 7 9 10 11 14 15
slot 1      0    9    D   0x01  3 4 5 6 7 9 10 11 14 15
slot 2      0   10    A   0x03  3 4 5 6 7 9 10 11 14 15
slot 2      0   10    B   0x05  3 4 5 6 7 9 10 11 14 15
slot 2      0   10    C   0x01  3 4 5 6 7 9 10 11 14 15
slot 2      0   10    D   0x02  3 4 5 6 7 9 10 11 14 15
slot 3      0   11    A   0x05  3 4 5 6 7 9 10 11 14 15
slot 3      0   11    B   0x01  3 4 5 6 7 9 10 11 14 15
slot 3      0   11    C   0x02  3 4 5 6 7 9 10 11 14 15
slot 3      0   11    D   0x03  3 4 5 6 7 9 10 11 14 15
embedded    0   17    A   0x01  3 4 5 6 7 9 10 11 14 15
embedded    0   17    B   0x02  3 4 5 6 7 9 10 11 14 15
embedded    0   17    C   0x03  3 4 5 6 7 9 10 11 14 15
embedded    0   17    D   0x05  3 4 5 6 7 9 10 11 14 15
embedded    0    1    A   0x01  3 4 5 6 7 9 10 11 14 15
embedded    0    1    B   0x02  3 4 5 6 7 9 10 11 14 15
embedded    0    1    C   0x03  3 4 5 6 7 9 10 11 14 15
embedded    0    1    D   0x05  3 4 5 6 7 9 10 11 14 15
embedded    0   16    A   0x01  3 4 5 6 7 9 10 11 14 15
embedded    0   16    B   0x02  3 4 5 6 7 9 10 11 14 15
embedded    0   16    C   0x03  3 4 5 6 7 9 10 11 14 15
embedded    0   16    D   0x05  3 4 5 6 7 9 10 11 14 15
embedded    0   18    A   0x01  3 4 5 6 7 9 10 11 14 15
embedded    0   18    B   0x02  3 4 5 6 7 9 10 11 14 15
embedded    0   18    C   0x03  3 4 5 6 7 9 10 11 14 15
embedded    0   18    D   0x05  3 4 5 6 7 9 10 11 14 15
AcpiOsDerivePciId: bus 0 dev 17 func 1
AcpiOsDerivePciId: bus 0 dev 15 func 1
AcpiOsDerivePciId: bus 0 dev 15 func 0
AcpiOsDerivePciId: bus 0 dev 17 func 0
acpi0: Power Button (fixed)
pci_link0: <ACPI PCI Link LNKA> irq 11 on acpi0
pci_link0: Links after initial probe:
Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 6 7 10 11 12
pci_link0: Links after initial validation:
Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 6 7 10 11 12
pci_link0: Links after disable:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link1: <ACPI PCI Link LNKB> irq 5 on acpi0
pci_link1: Links after initial probe:
Index  IRQ  Rtd  Ref  IRQs
     0    5   N     0  3 4 6 7 10 11 12
pci_link1: Links after initial validation:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link1: Links after disable:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link2: <ACPI PCI Link LNKC> irq 10 on acpi0
pci_link2: Links after initial probe:
Index  IRQ  Rtd  Ref  IRQs
     0   10   N     0  3 4 6 7 10 11 12
pci_link2: Links after initial validation:
Index  IRQ  Rtd  Ref  IRQs
     0   10   N     0  3 4 6 7 10 11 12
pci_link2: Links after disable:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link3: <ACPI PCI Link LNKD> on acpi0
pci_link3: Links after initial probe:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link3: Links after initial validation:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link3: Links after disable:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link4: <ACPI PCI Link LNKE> on acpi0
pci_link4: Links after initial probe:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link4: Links after initial validation:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link4: Links after disable:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link5: <ACPI PCI Link LNKF> on acpi0
pci_link5: Links after initial probe:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link5: Links after initial validation:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link5: Links after disable:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link6: <ACPI PCI Link LNK0> on acpi0
pci_link6: Links after initial probe:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link6: Links after initial validation:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link6: Links after disable:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link7: <ACPI PCI Link LNK1> on acpi0
pci_link7: Links after initial probe:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link7: Links after initial validation:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link7: Links after disable:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 7 10 11 12
pci_link8: <ACPI PCI Link ALKA> irq 0 on acpi0
pci_link8: Links after initial probe:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  20
pci_link8: Links after initial validation:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  20
pci_link8: Links after disable:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  20
pci_link9: <ACPI PCI Link ALKB> irq 0 on acpi0
pci_link9: Links after initial probe:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  21
pci_link9: Links after initial validation:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  21
pci_link9: Links after disable:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  21
pci_link10: <ACPI PCI Link ALKC> irq 0 on acpi0
pci_link10: Links after initial probe:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  22
pci_link10: Links after initial validation:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  22
pci_link10: Links after disable:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  22
pci_link11: <ACPI PCI Link ALKD> irq 0 on acpi0
pci_link11: Links after initial probe:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  23
pci_link11: Links after initial validation:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  23
pci_link11: Links after disable:
Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  23
ACPI timer: 1/2 1/1 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 -> 10
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pci0: physical bus=0
found->    vendor=0x1106, dev=0x0204, revid=0x00
     bus=0, slot=0, func=0
     class=06-00-00, hdrtype=0x00, mfdev=1
     cmdreg=0x0006, statreg=0x2230, cachelnsz=0 (dwords)
     lattimer=0x08 (240 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     powerspec 2  supports D0 D3  current D0
     map[10]: type 3, range 32, base e0000000, size 26, enabled
found->    vendor=0x1106, dev=0x1204, revid=0x00
     bus=0, slot=0, func=1
     class=06-00-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0006, statreg=0x0200, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->    vendor=0x1106, dev=0x2204, revid=0x00
     bus=0, slot=0, func=2
     class=06-00-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0006, statreg=0x0200, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->    vendor=0x1106, dev=0x3204, revid=0x00
     bus=0, slot=0, func=3
     class=06-00-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0006, statreg=0x0200, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->    vendor=0x1106, dev=0x4204, revid=0x00
     bus=0, slot=0, func=4
     class=06-00-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0006, statreg=0x0200, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->    vendor=0x1106, dev=0x7204, revid=0x00
     bus=0, slot=0, func=7
     class=06-00-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0006, statreg=0x0200, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->    vendor=0x1106, dev=0xb188, revid=0x00
     bus=0, slot=1, func=0
     class=06-04-00, hdrtype=0x01, mfdev=0
     cmdreg=0x0007, statreg=0x0230, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x0c (3000 ns), maxlat=0x00 (0 ns)
found->    vendor=0x1106, dev=0x0571, revid=0x06
     bus=0, slot=15, func=0
     class=01-01-8a, hdrtype=0x00, mfdev=0
     cmdreg=0x0007, statreg=0x0290, cachelnsz=0 (dwords)
     lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     intpin=a, irq=255
     powerspec 2  supports D0 D3  current D0
     map[20]: type 4, range 32, base 0000d000, size  4, enabled
found->    vendor=0x1106, dev=0x3038, revid=0x81
     bus=0, slot=16, func=0
     class=0c-03-00, hdrtype=0x00, mfdev=1
     cmdreg=0x0007, statreg=0x0210, cachelnsz=8 (dwords)
     lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     intpin=a, irq=11
     powerspec 2  supports D0 D1 D2 D3  current D0
     map[20]: type 4, range 32, base 0000d400, size  5, enabled
pcib0: matched entry for 0.16.INTA (src \\_SB_.PCI0.ALKB:0)
pci_link9: Picked IRQ 21 with weight 0
pcib0: slot 16 INTA routed to irq 21 via \\_SB_.PCI0.ALKB
found->    vendor=0x1106, dev=0x3038, revid=0x81
     bus=0, slot=16, func=1
     class=0c-03-00, hdrtype=0x00, mfdev=1
     cmdreg=0x0007, statreg=0x0210, cachelnsz=8 (dwords)
     lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     intpin=a, irq=11
     powerspec 2  supports D0 D1 D2 D3  current D0
     map[20]: type 4, range 32, base 0000d800, size  5, enabled
pcib0: matched entry for 0.16.INTA (src \\_SB_.PCI0.ALKB:0)
pcib0: slot 16 INTA routed to irq 21 via \\_SB_.PCI0.ALKB
found->    vendor=0x1106, dev=0x3038, revid=0x81
     bus=0, slot=16, func=2
     class=0c-03-00, hdrtype=0x00, mfdev=1
     cmdreg=0x0007, statreg=0x0210, cachelnsz=8 (dwords)
     lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     intpin=b, irq=5
     powerspec 2  supports D0 D1 D2 D3  current D0
     map[20]: type 4, range 32, base 0000dc00, size  5, enabled
pcib0: matched entry for 0.16.INTB (src \\_SB_.PCI0.ALKB:0)
pcib0: slot 16 INTB routed to irq 21 via \\_SB_.PCI0.ALKB
found->    vendor=0x1106, dev=0x3038, revid=0x81
     bus=0, slot=16, func=3
     class=0c-03-00, hdrtype=0x00, mfdev=1
     cmdreg=0x0007, statreg=0x0210, cachelnsz=8 (dwords)
     lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     intpin=b, irq=5
     powerspec 2  supports D0 D1 D2 D3  current D0
     map[20]: type 4, range 32, base 0000e000, size  5, enabled
pcib0: matched entry for 0.16.INTB (src \\_SB_.PCI0.ALKB:0)
pcib0: slot 16 INTB routed to irq 21 via \\_SB_.PCI0.ALKB
found->    vendor=0x1106, dev=0x3104, revid=0x86
     bus=0, slot=16, func=4
     class=0c-03-20, hdrtype=0x00, mfdev=1
     cmdreg=0x0007, statreg=0x0210, cachelnsz=8 (dwords)
     lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     intpin=c, irq=10
     powerspec 2  supports D0 D1 D2 D3  current D0
     map[10]: type 1, range 32, base ea000000, size  8, enabled
pcib0: matched entry for 0.16.INTC (src \\_SB_.PCI0.ALKB:0)
pcib0: slot 16 INTC routed to irq 21 via \\_SB_.PCI0.ALKB
found->    vendor=0x1106, dev=0x3227, revid=0x00
     bus=0, slot=17, func=0
     class=06-01-00, hdrtype=0x00, mfdev=1
     cmdreg=0x0087, statreg=0x0210, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     powerspec 2  supports D0 D3  current D0
found->    vendor=0x1106, dev=0x3059, revid=0x60
     bus=0, slot=17, func=5
     class=04-01-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0001, statreg=0x0210, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     intpin=c, irq=10
     powerspec 2  supports D0 D1 D2 D3  current D0
     map[10]: type 4, range 32, base 0000e400, size  8, enabled
pcib0: matched entry for 0.17.INTC (src \\_SB_.PCI0.ALKC:0)
pci_link10: Picked IRQ 22 with weight 0
pcib0: slot 17 INTC routed to irq 22 via \\_SB_.PCI0.ALKC
found->    vendor=0x1106, dev=0x3065, revid=0x78
     bus=0, slot=18, func=0
     class=02-00-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0087, statreg=0x0210, cachelnsz=8 (dwords)
     lattimer=0x40 (1920 ns), mingnt=0x03 (750 ns), maxlat=0x08 (2000  
ns)
     intpin=a, irq=11
     powerspec 2  supports D0 D1 D2 D3  current D0
     map[10]: type 4, range 32, base 0000e800, size  8, enabled
     map[14]: type 1, range 32, base ea001000, size  8, enabled
pcib0: matched entry for 0.18.INTA (src \\_SB_.PCI0.ALKD:0)
pci_link11: Picked IRQ 23 with weight 0
pcib0: slot 18 INTA routed to irq 23 via \\_SB_.PCI0.ALKD
found->    vendor=0x1022, dev=0x1100, revid=0x00
     bus=0, slot=24, func=0
     class=06-00-00, hdrtype=0x00, mfdev=1
     cmdreg=0x0000, statreg=0x0010, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->    vendor=0x1022, dev=0x1101, revid=0x00
     bus=0, slot=24, func=1
     class=06-00-00, hdrtype=0x00, mfdev=1
     cmdreg=0x0000, statreg=0x0000, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->    vendor=0x1022, dev=0x1102, revid=0x00
     bus=0, slot=24, func=2
     class=06-00-00, hdrtype=0x00, mfdev=1
     cmdreg=0x0000, statreg=0x0000, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->    vendor=0x1022, dev=0x1103, revid=0x00
     bus=0, slot=24, func=3
     class=06-00-00, hdrtype=0x00, mfdev=1
     cmdreg=0x0000, statreg=0x0000, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
agp0: <VIA 8380 host to PCI bridge> mem 0xe0000000-0xe3ffffff at  
device 0.0 on pci0
AMD64: 1 Misc. Control unit(s) found.
agp0: Reserved 0x4000000 bytes for rid 0x10 type 3 at 0xe0000000
agp0: allocating GATT for aperture of size 64M
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pcib1:   secondary bus     1
pcib1:   subordinate bus   1
pcib1:   I/O decode        0xf000-0xfff
pcib1:   memory decode     0xe8000000-0xe9ffffff
pcib1:   prefetched decode 0xe4000000-0xe7ffffff
pci1: <PCI bus> on pcib1
pci1: physical bus=1
found->    vendor=0x1106, dev=0x3108, revid=0x01
     bus=1, slot=0, func=0
     class=03-00-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0007, statreg=0x0230, cachelnsz=0 (dwords)
     lattimer=0x20 (960 ns), mingnt=0x02 (500 ns), maxlat=0x00 (0 ns)
     intpin=a, irq=11
     powerspec 2  supports D0 D1 D2 D3  current D0
     map[10]: type 3, range 32, base e4000000, size 26, enabled
pcib1: (null) requested memory range 0xe4000000-0xe7ffffff: good
     map[14]: type 1, range 32, base e8000000, size 24, enabled
pcib1: (null) requested memory range 0xe8000000-0xe8ffffff: good
pcib0: matched entry for 0.1.INTA
pcib0: slot 1 INTA hardwired to IRQ 16
pcib1: slot 0 INTA is routed to irq 16
pci1: <display, VGA> at device 0.0 (no driver attached)
atapci0: <VIA 8237 UDMA133 controller> port  
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 15.0 on pci0
atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0xd000
ata0: <ATA channel 0> on atapci0
atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0
atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6
ata0: reset tp1 mask=03 ostat0=50 ostat1=00
ata0: stat0=0x90 err=0x90 lsb=0x90 msb=0x90
ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER>
ata0: [MPSAFE]
ata1: <ATA channel 1> on atapci0
atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170
atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376
ata1: reset tp1 mask=03 ostat0=50 ostat1=50
ata1: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb
ata1: stat1=0x00 err=0x01 lsb=0x14 msb=0xeb
ata1: reset tp2 stat0=00 stat1=00 devices=0xc<ATAPI_SLAVE,ATAPI_MASTER>
ata1: [MPSAFE]
uhci0: <VIA 83C572 USB controller> port 0xd400-0xd41f irq 21 at  
device 16.0 on pci0
uhci0: Reserved 0x20 bytes for rid 0x20 type 4 at 0xd400
uhci0: [GIANT-LOCKED]
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xd800-0xd81f irq 21 at  
device 16.1 on pci0
uhci1: Reserved 0x20 bytes for rid 0x20 type 4 at 0xd800
uhci1: [GIANT-LOCKED]
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <VIA 83C572 USB controller> port 0xdc00-0xdc1f irq 21 at  
device 16.2 on pci0
uhci2: Reserved 0x20 bytes for rid 0x20 type 4 at 0xdc00
uhci2: [GIANT-LOCKED]
usb2: <VIA 83C572 USB controller> on uhci2
usb2: USB revision 1.0
uhub2: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3: <VIA 83C572 USB controller> port 0xe000-0xe01f irq 21 at  
device 16.3 on pci0
uhci3: Reserved 0x20 bytes for rid 0x20 type 4 at 0xe000
uhci3: [GIANT-LOCKED]
usb3: <VIA 83C572 USB controller> on uhci3
usb3: USB revision 1.0
uhub3: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0: <VIA VT6202 USB 2.0 controller> mem 0xea000000-0xea0000ff irq  
21 at device 16.4 on pci0
ehci0: Reserved 0x100 bytes for rid 0x10 type 3 at 0xea000000
ehci0: [GIANT-LOCKED]
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <VIA VT6202 USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: VIA EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
isab0: <PCI-ISA bridge> at device 17.0 on pci0
isa0: <ISA bus> on isab0
pci0: <multimedia, audio> at device 17.5 (no driver attached)
vr0: <VIA VT6102 Rhine II 10/100BaseTX> port 0xe800-0xe8ff mem  
0xea001000-0xea0010ff irq 23 at device 18.0 on pci0
vr0: Reserved 0x100 bytes for rid 0x10 type 4 at 0xe800
miibus0: <MII bus> on vr0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: OUI 0x004063, model 0x0032, rev. 10
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr0: bpf attached
vr0: Ethernet address: 00:14:85:51:39:80
vr0: [MPSAFE]
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
atkbd: the current kbd controller command byte 0047
atkbd: keyboard ID 0x41ab (2)
kbd0 at atkbd0
kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000
atkbd0: [GIANT-LOCKED]
psm0: unable to allocate IRQ
ahc_isa_probe 13: ioport 0xdc00 alloc failed
ex_isa_identify()
ata: ata0 already exists; skipping it
ata: ata1 already exists; skipping it
atkbdc: atkbdc0 already exists; skipping it
pnp_identify: Trying Read_Port at 203
pnp_identify: Trying Read_Port at 243
pnp_identify: Trying Read_Port at 283
pnp_identify: Trying Read_Port at 2c3
pnp_identify: Trying Read_Port at 303
pnp_identify: Trying Read_Port at 343
pnp_identify: Trying Read_Port at 383
pnp_identify: Trying Read_Port at 3c3
PNP Identify complete
unknown: status reg test failed ff
unknown: status reg test failed ff
unknown: status reg test failed ff
unknown: status reg test failed ff
unknown: status reg test failed ff
unknown: status reg test failed ff
sc: sc0 already exists; skipping it
vga: vga0 already exists; skipping it
isa_probe_children: disabling PnP devices
isa_probe_children: probing non-PnP devices
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xcc000-0xd3fff on isa0
adv0: not probed (disabled)
aha0: not probed (disabled)
aic0: not probed (disabled)
bt0: not probed (disabled)
cs0: not probed (disabled)
ed0: not probed (disabled)
fdc0 failed to probe at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fe0: not probed (disabled)
ie0: not probed (disabled)
lnc0: not probed (disabled)
ppc0: parallel port not found.
ppc0: <Parallel port> failed to probe at irq 7 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sc0: fb0, kbd0, terminal emulator: sc (syscons terminal)
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0: irq maps: 0xc021 0xc021 0xc021 0xc021
sio0: probe failed test(s): 0 1 2 4 6 7 9
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 8250 or not responding
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
sio1: irq maps: 0xc021 0xc021 0xc021 0xc021
sio1: probe failed test(s): 0 1 2 4 6 7 9
sio1 failed to probe at port 0x2f8-0x2ff irq 3 on isa0
sio2: not probed (disabled)
sio3: not probed (disabled)
sn0: not probed (disabled)
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on  
isa0
vt0: not probed (disabled)
isa_probe_children: probing PnP devices
ums0: Logitech USB-PS/2 Optical Mouse, rev 2.00/20.00, addr 2, iclass  
3/1
ums0: 3 buttons and Z dir.
Device configuration finished.
procfs registered
lapic: Divisor 2, Frequency 100462226 hz
Timecounter "TSC" frequency 1607408626 Hz quality 800
Timecounters tick every 1.000 msec
lo0: bpf attached
ata0-master: pio=PIO4 wdma=WDMA2 udma=UDMA100 cable=80 wire
ad0: setting PIO4 on VIA 8237 chip
ad0: setting UDMA100 on VIA 8237 chip
ad0: 152626MB <Seagate ST3160023A 3.06> at ata0-master UDMA100
ad0: 312579695 sectors [310098C/16H/63S] 16 sectors/interrupt 1 depth  
queue
GEOM: new disk ad0
ad0: VIA check1 failed
ad0: Adaptec check1 failed
ad0: LSI (v3) check1 failed
ad0: LSI (v2) check1 failed
ad0: FreeBSD check1 failed
ata1-slave: pio=PIO4 wdma=WDMA2 udma=UDMA33 cable=40 wire
ata1-master: pio=PIO4 wdma=WDMA2 udma=UDMA33 cable=40 wire
acd0: setting PIO4 on VIA 8237 chip
acd0: setting UDMA33 on VIA 8237 chip
acd0: <NEC DVD RW ND-3500AG/2.16> DVDR drive at ata1 as master
acd0: read 8268KB/s (8268KB/s) write 8268KB/s (8268KB/s), 2048KB  
buffer, UDMA33
acd0: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, packet
acd0: Writes: CDR, CDRW, DVDR, test write, burnproof
acd0: Audio: play, 256 volume levels
acd0: Mechanism: ejectable tray, unlocked
acd0: Medium: no/blank disc
acd1: setting PIO4 on VIA 8237 chip
acd1: setting UDMA33 on VIA 8237 chip
acd1: <PLEXTOR CD-R PX-W5224A/1.03> CDRW drive at ata1 as slave
acd1: read 6890KB/s (6890KB/s) write 8958KB/s (8958KB/s), 2048KB  
buffer, UDMA33
acd1: Reads: CDR, CDRW, CDDA stream, packet
acd1: Writes: CDR, CDRW, test write, burnproof
acd1: Audio: play, 256 volume levels
acd1: Mechanism: ejectable tray, unlocked
acd1: Medium: CD-ROM unknown
ATA PseudoRAID loaded
ioapic0: routing intpin 1 (ISA IRQ 1) to cluster 0
ioapic0: routing intpin 4 (ISA IRQ 4) to cluster 0
ioapic0: routing intpin 9 (ISA IRQ 9) to cluster 0
ioapic0: routing intpin 13 (ISA IRQ 13) to cluster 0
ioapic0: routing intpin 14 (ISA IRQ 14) to cluster 0
ioapic0: routing intpin 15 (ISA IRQ 15) to cluster 0
ioapic0: routing intpin 21 (PCI IRQ 21) to cluster 0
ioapic0: routing intpin 23 (PCI IRQ 23) to cluster 0
Trying to mount root from ufs:/dev/ad0s2a
start_init: trying /sbin/init





hw.acpi.supported_sleep_state: S1 S4 S5
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S1
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 1
hw.acpi.s4bios: 0
hw.acpi.verbose: 1
hw.acpi.reset_video: 1
hw.acpi.cpu.cx_supported: C1/0
hw.acpi.cpu.cx_lowest: C1
hw.acpi.cpu.cx_usage: 100.00%






--Apple-Mail-2--901804979
Content-Transfer-Encoding: 7bit
Content-Type: application/octet-stream; x-unix-mode=0644; name="acpidump-t-d"
Content-Disposition: attachment;
	filename=acpidump-t-d

/*
  RSD PTR: OEM=VIAK8, ACPI_Rev=1.0x (0)
	RSDT=0x1bff3000, cksum=20
 */
/*
  RSDT: Length=44, Revision=1, Checksum=106,
	OEMID=VIAK8, OEM Table ID=AWRDACPI, OEM Revision=0x42302e31,
	Creator ID=AWRD, Creator Revision=0x1010101
	Entries={ 0x1bff3040, 0x1bff7740 }
 */
/*
  FACP: Length=116, Revision=1, Checksum=117,
	OEMID=VIAK8, OEM Table ID=AWRDACPI, OEM Revision=0x42302e31,
	Creator ID=AWRD, Creator Revision=0x1010101
 	FACS=0x1bff0000, DSDT=0x1bff30c0
	INT_MODEL=APIC
	Preferred_PM_Profile=Unspecified (0)
	SCI_INT=9
	SMI_CMD=0x402f, ACPI_ENABLE=0xa1, ACPI_DISABLE=0xa0, S4BIOS_REQ=0x0
	PSTATE_CNT=0x0
	PM1a_EVT_BLK=0x4000-0x4003
	PM1a_CNT_BLK=0x40f0-0x40f1
	PM_TMR_BLK=0x4008-0x400b
	GPE0_BLK=0x4020-0x4023
	P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
	FLUSH_SIZE=0, FLUSH_STRIDE=0
	DUTY_OFFSET=0, DUTY_WIDTH=0
	DAY_ALRM=125, MON_ALRM=126, CENTURY=50
	IAPC_BOOT_ARCH=
	Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4,RESET_REG}
	RESET_REG=0x00000000:0[0] (Memory), RESET_VALUE=0x44
 */
/*
  FACS:	Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
	Global_Lock=
	Flags=
	Version=0
 */
/*
  DSDT: Length=18020, Revision=1, Checksum=216,
	OEMID=VIAK8, OEM Table ID=AWRDACPI, OEM Revision=0x1000,
	Creator ID=MSFT, Creator Revision=0x100000c
 */
/*
  APIC: Length=90, Revision=1, Checksum=188,
	OEMID=VIAK8, OEM Table ID=AWRDACPI, OEM Revision=0x42302e31,
	Creator ID=AWRD, Creator Revision=0x1010101
	Local APIC ADDR=0xfee00000
	Flags={PC-AT}

	Type=Local APIC
	ACPI CPU=0
	Flags={ENABLED}
	APIC ID=0

	Type=IO APIC
	APIC ID=2
	INT BASE=0
	ADDR=0x00000000fec00000

	Type=INT Override
	BUS=0
	IRQ=0
	INTR=2
	Flags={Polarity=conforming, Trigger=conforming}

	Type=INT Override
	BUS=0
	IRQ=9
	INTR=9
	Flags={Polarity=active-lo, Trigger=level}

	Type=Local NMI
	ACPI CPU=0
	LINT Pin=1
	Flags={Polarity=conforming, Trigger=conforming}
 */
/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20041119
 *
 * Disassembly of /tmp/acpidump.xTDXLy, Fri Oct 21 08:32:25 2005
 */
DefinitionBlock ("DSDT.aml", "DSDT", 1, "VIAK8 ", "AWRDACPI", 4096)
{
    Scope (\_PR)
    {
        Processor (\_PR.CPU0, 0x00, 0x00000000, 0x00) {}
    }

    Name (\_S0, Package (0x04)
    {
        0x00, 
        0x00, 
        0x00, 
        0x00
    })
    Name (\_S1, Package (0x04)
    {
        0x04, 
        0x04, 
        0x04, 
        0x04
    })
    Name (\_S4, Package (0x04)
    {
        0x02, 
        0x02, 
        0x02, 
        0x02
    })
    Name (\_S5, Package (0x04)
    {
        0x02, 
        0x02, 
        0x02, 
        0x02
    })
    OperationRegion (\DEBG, SystemIO, 0x80, 0x01)
    Field (\DEBG, ByteAcc, NoLock, Preserve)
    {
        DBG1,   8
    }

    OperationRegion (EXTM, SystemMemory, 0x000FF830, 0x10)
    Field (EXTM, WordAcc, NoLock, Preserve)
    {
        ROM1,   16, 
        RMS1,   16, 
        ROM2,   16, 
        RMS2,   16, 
        ROM3,   16, 
        RMS3,   16, 
        AMEM,   32
    }

    OperationRegion (ELCR, SystemIO, 0x04D0, 0x02)
    Field (ELCR, ByteAcc, NoLock, Preserve)
    {
        ELC1,   8, 
        ELC2,   8
    }

    OperationRegion (\PMS, SystemIO, 0x4000, 0x02)
    Field (\PMS, ByteAcc, NoLock, Preserve)
    {
        AITS,   1, 
        Offset (0x01), 
        PBTS,   1, 
            ,   6, 
        WAKE,   1
    }

    OperationRegion (\GPST, SystemIO, 0x4020, 0x04)
    Field (\GPST, ByteAcc, NoLock, Preserve)
    {
        GS00,   1, 
        GS01,   1, 
        GS02,   1, 
        GS03,   1, 
        GS04,   1, 
        GS05,   1, 
        GS06,   1, 
        GS07,   1, 
        GS08,   1, 
        GS09,   1, 
        GS0A,   1, 
        GS0B,   1, 
        GS0C,   1, 
        Offset (0x02), 
        GE00,   1, 
        GE01,   1, 
        GE02,   1, 
        GE03,   1, 
        GE04,   1, 
        GE05,   1, 
        GE06,   1, 
        GE07,   1, 
        GE08,   1, 
        GE09,   1, 
        GE0A,   1, 
        GE0B,   1, 
        GE0C,   1, 
        Offset (0x04)
    }

    OperationRegion (\GPSE, SystemIO, 0x4024, 0x02)
    Field (\GPSE, ByteAcc, NoLock, Preserve)
    {
        GPS0,   1, 
        GPS1,   1, 
        KBCE,   1, 
        LANE,   1, 
        EXTE,   1, 
        PME,    1, 
        Offset (0x01), 
        RING,   1, 
            ,   5, 
        USBE,   1, 
        Offset (0x02)
    }

    OperationRegion (\GLOS, SystemIO, 0x4028, 0x02)
    Field (\GLOS, ByteAcc, NoLock, Preserve)
    {
            ,   6, 
        SSMI,   1, 
        PRII,   1, 
            ,   2, 
        SLPE,   1, 
        SIRS,   1, 
        Offset (0x02)
    }

    OperationRegion (\WIRQ, SystemIO, 0x402A, 0x01)
    Field (\WIRQ, ByteAcc, NoLock, Preserve)
    {
        IRQR,   8
    }

    OperationRegion (\SMIC, SystemIO, 0x402F, 0x01)
    Field (\SMIC, ByteAcc, NoLock, Preserve)
    {
        SCP,    8
    }

    OperationRegion (\STUS, SystemIO, 0x4030, 0x01)
    Field (\STUS, ByteAcc, NoLock, Preserve)
    {
        PADS,   8
    }

    OperationRegion (GPOB, SystemIO, 0x404C, 0x04)
    Field (GPOB, ByteAcc, NoLock, Preserve)
    {
        GP00,   1, 
        GP01,   1, 
        GP02,   1, 
        GP03,   1, 
        GP04,   1, 
        GP05,   1, 
        GP06,   1, 
        GP07,   1, 
        GP08,   1, 
        GP09,   1, 
        GP10,   1, 
        GP11,   1, 
        GP12,   1, 
        GP13,   1, 
        GP14,   1, 
        GP15,   1, 
        GP16,   1, 
        GP17,   1, 
        GP18,   1, 
        GP19,   1, 
        GP20,   1, 
        GP21,   1, 
        GP22,   1, 
        GP23,   1, 
        GP24,   1, 
        GP25,   1, 
        GP26,   1, 
        GP27,   1, 
        GP28,   1, 
        GP29,   1, 
        GP30,   1, 
        GPXX,   1
    }

    Name (OSFL, 0x01)
    Method (STRC, 2, NotSerialized)
    {
        If (LNot (LEqual (SizeOf (Arg0), SizeOf (Arg1))))
        {
            Return (0x00)
        }

        Add (SizeOf (Arg0), 0x01, Local0)
        Name (BUF0, Buffer (Local0) {})
        Name (BUF1, Buffer (Local0) {})
        Store (Arg0, BUF0)
        Store (Arg1, BUF1)
        While (Local0)
        {
            Decrement (Local0)
            If (LNot (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (BUF1, Local0)))))
            {
                Return (Zero)
            }
        }

        Return (One)
    }

    OperationRegion (INFO, SystemMemory, 0x000FF840, 0x01)
    Field (INFO, ByteAcc, NoLock, Preserve)
    {
        KBDI,   1, 
        RTCW,   1, 
        PS2F,   1, 
        IRFL,   2, 
        DISE,   1, 
        SSHU,   1
    }

    Scope (\)
    {
        Name (PICF, 0x00)
        Method (_PIC, 1, NotSerialized)
        {
            Store (Arg0, PICF)
        }
    }

    Name (SBFL, 0x00)
    Name (ATFL, 0x00)
    Method (\_PTS, 1, NotSerialized)
    {
        Or (Arg0, 0xF0, Local0)
        Store (Local0, DBG1)
        OSTP ()
        If (LEqual (Arg0, 0x01))
        {
            Or (PWC1, 0x10, PWC1)
            While (PRII)
            {
                Store (One, PRII)
            }

            While (LNot (LEqual (PADS, 0x00)))
            {
                Store (PADS, PADS)
            }

            Or (IRQR, 0x80, IRQR)
        }

        If (LEqual (Arg0, 0x03))
        {
            And (PWC1, 0xEF, PWC1)
            Or (Arg0, 0x50, Local1)
            Store (Local1, SCP)
        }

        If (LEqual (Arg0, 0x04))
        {
            Store (0x63, SMIP)
            And (PWC1, 0xEF, PWC1)
        }

        If (LEqual (Arg0, 0x05))
        {
            And (PWC1, 0xEF, PWC1)
        }

        If (LEqual (Arg0, 0x01))
        {
            Or (PWC1, 0x01, PWC1)
        }

        If (LEqual (Arg0, 0x03))
        {
            Or (PWC1, 0x01, PWC1)
        }
    }

    Method (\_WAK, 1, NotSerialized)
    {
        Store (0xFF, DBG1)
        If (LEqual (Arg0, 0x01))
        {
            And (PWC1, 0xFC, PWC1)
        }

        If (LEqual (Arg0, 0x03))
        {
            And (PWC1, 0xFC, PWC1)
        }

        If (LEqual (Arg0, 0x01))
        {
            And (IRQR, 0x7F, IRQR)
            While (PRII)
            {
                Store (One, PRII)
            }

            While (LNot (LEqual (PADS, 0x00)))
            {
                Store (PADS, PADS)
            }
        }

        Or (PWC1, 0x10, PWC1)
        If (LEqual (RTCW, 0x00))
        {
            Notify (\_SB.PWRB, 0x02)
        }
    }

    Scope (\_SI)
    {
        Method (_MSG, 1, NotSerialized)
        {
            Store (Local0, Local0)
        }

        Method (_SST, 1, NotSerialized)
        {
            If (LEqual (Arg0, 0x03)) {}
            If (LEqual (Arg0, 0x01)) {}
            If (LEqual (Arg0, Zero)) {}
            Store (Local0, Local0)
        }
    }

    Scope (\_GPE)
    {
        Method (_L03, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.LAN0, 0x02)
        }

        Method (_L05, 0, NotSerialized)
        {
            Notify (\_SB.PCI0, 0x02)
        }

        Method (_L08, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.UAR1, 0x02)
        }

        Method (_L09, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB0, 0x02)
        }

        Method (_L0E, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB0, 0x02)
            Notify (\_SB.PCI0.USB6, 0x02)
            Notify (\_SB.PCI0.USB7, 0x02)
            Notify (\_SB.PCI0.USB8, 0x02)
            Notify (\_SB.PCI0.USB9, 0x02)
        }
    }

    Scope (\_PR.CPU0)
    {
        Name (_PCT, Package (0x02)
        {
            ResourceTemplate ()
            {
                Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
            }, 

            ResourceTemplate ()
            {
                Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
            }
        })
        Method (_PPC, 0, NotSerialized)
        {
            Return (0x00)
        }

        Name (PPSS, Package (0x06)
        {
            Package (0x06)
            {
                0xFFFF, 
                0xFFFFFFFF, 
                0xFF, 
                0xFF, 
                0xFFFFFFFF, 
                0x03FF
            }, 

            Package (0x06)
            {
                0xFFFF, 
                0xFFFFFFFF, 
                0xFF, 
                0xFF, 
                0xFFFFFFFF, 
                0x03FF
            }, 

            Package (0x06)
            {
                0xFFFF, 
                0xFFFFFFFF, 
                0xFF, 
                0xFF, 
                0xFFFFFFFF, 
                0x03FF
            }, 

            Package (0x06)
            {
                0xFFFF, 
                0xFFFFFFFF, 
                0xFF, 
                0xFF, 
                0xFFFFFFFF, 
                0x03FF
            }, 

            Package (0x06)
            {
                0xFFFF, 
                0xFFFFFFFF, 
                0xFF, 
                0xFF, 
                0xFFFFFFFF, 
                0x03FF
            }, 

            Package (0x06)
            {
                0xFFFF, 
                0xFFFFFFFF, 
                0xFF, 
                0xFF, 
                0xFFFFFFFF, 
                0x03FF
            }
        })
    }

    Scope (\_SB)
    {
        Device (PWRB)
        {
            Name (_HID, EisaId ("PNP0C0C"))
            Method (_STA, 0, NotSerialized)
            {
                Return (0x0B)
            }
        }

        OperationRegion (SXTM, SystemMemory, 0x000FFEA1, 0x04)
        Field (SXTM, WordAcc, NoLock, Preserve)
        {
            SMEM,   32
        }

        Device (MEM)
        {
            Name (_HID, EisaId ("PNP0C01"))
            Method (_CRS, 0, NotSerialized)
            {
                Name (BUF0, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite, 0x000F0000, 0x00004000)
                    Memory32Fixed (ReadWrite, 0x000F4000, 0x00004000)
                    Memory32Fixed (ReadWrite, 0x000F8000, 0x00004000)
                    Memory32Fixed (ReadWrite, 0x000FC000, 0x00004000)
                    Memory32Fixed (ReadWrite, 0x00000000, 0x00010000)
                    Memory32Fixed (ReadWrite, 0xFFFF0000, 0x00010000)
                    Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
                    Memory32Fixed (ReadWrite, 0x00100000, 0x00000000)
                    Memory32Fixed (ReadWrite, 0x00000000, 0x00000000)
                    Memory32Fixed (ReadWrite, 0xFEC00000, 0x00001000)
                    Memory32Fixed (ReadWrite, 0xFEE00000, 0x00001000)
                    Memory32Fixed (ReadWrite, 0xFFF80000, 0x00070000)
                })
                CreateDWordField (BUF0, 0x34, ACMM)
                CreateDWordField (BUF0, 0x04, RMA1)
                CreateDWordField (BUF0, 0x08, RSS1)
                CreateDWordField (BUF0, 0x10, RMA2)
                CreateDWordField (BUF0, 0x14, RSS2)
                CreateDWordField (BUF0, 0x1C, RMA3)
                CreateDWordField (BUF0, 0x20, RSS3)
                CreateDWordField (BUF0, 0x28, RMA4)
                CreateDWordField (BUF0, 0x2C, RSS4)
                CreateDWordField (BUF0, 0x5C, EXTM)
                CreateDWordField (BUF0, 0x64, SXT1)
                CreateDWordField (BUF0, 0x68, SXT2)
                If (LNot (LEqual (SMEM, Zero)))
                {
                    Add (AMEM, 0x00010000, SXT1)
                }
                Else
                {
                    Store (Zero, SXT1)
                }

                Store (SMEM, SXT2)
                Subtract (AMEM, 0x00100000, EXTM)
                If (LNot (LEqual (ROM1, Zero)))
                {
                    Store (RMA1, RMA2)
                    ShiftLeft (ROM1, 0x08, Local0)
                    Store (Local0, RMA1)
                    ShiftLeft (RMS1, 0x08, Local0)
                    Store (Local0, RSS1)
                    Store (0x8000, RSS2)
                }

                If (LNot (LEqual (ROM2, Zero)))
                {
                    Store (RMA2, RMA3)
                    ShiftLeft (ROM2, 0x08, Local0)
                    Store (Local0, RMA2)
                    ShiftLeft (RMS2, 0x08, Local0)
                    Store (Local0, RSS2)
                    Store (0xC000, RSS3)
                }

                If (LNot (LEqual (ROM3, Zero)))
                {
                    Store (RMA3, RMA4)
                    ShiftLeft (ROM3, 0x08, Local0)
                    Store (Local0, RMA3)
                    ShiftLeft (RMS3, 0x08, Local0)
                    Store (Local0, RSS3)
                    Store (0x00010000, RSS4)
                }

                Store (AMEM, ACMM)
                Return (BUF0)
            }
        }

        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_ADR, 0x00)
            Name (_UID, 0x01)
            Name (_BBN, 0x00)
            Method (SS3D, 0, NotSerialized)
            {
                If (LEqual (OSFL, 0x02))
                {
                    Return (0x02)
                }
                Else
                {
                    Return (0x03)
                }
            }

            OperationRegion (GART, PCI_Config, 0x80, 0x01)
            Scope (\)
            {
                Field (\_SB.PCI0.GART, ByteAcc, NoLock, Preserve)
                {
                    GAR1,   8
                }
            }

            OperationRegion (GARA, PCI_Config, 0x88, 0x01)
            Scope (\)
            {
                Field (\_SB.PCI0.GARA, ByteAcc, NoLock, Preserve)
                {
                    GAR2,   8
                }
            }

            Method (_STA, 0, NotSerialized)
            {
                Return (0x0F)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Name (BUF0, ResourceTemplate ()
                {
                    WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
                        0x0000,
                        0x0000,
                        0x00FF,
                        0x0000,
                        0x0100)
                    IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
                    WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                        0x0000,
                        0x0000,
                        0x0CF7,
                        0x0000,
                        0x0CF8)
                    WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                        0x0000,
                        0x0D00,
                        0xFFFF,
                        0x0000,
                        0xF300)
                    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,
                        0x000A0000,
                        0x000BFFFF,
                        0x00000000,
                        0x00020000)
                    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,
                        0x000C0000,
                        0x000DFFFF,
                        0x00000000,
                        0x00020000)
                    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,
                        0x00100000,
                        0xFEBFFFFF,
                        0x00000000,
                        0xFFF00000)
                })
                CreateDWordField (BUF0, 0x76, TCMM)
                CreateDWordField (BUF0, 0x82, TOMM)
                Add (AMEM, 0x00010000, TCMM)
                Add (TCMM, SMEM, TCMM)
                Subtract (0xFEC00000, TCMM, TOMM)
                Return (BUF0)
            }

            Name (PICM, Package (0x20)
            {
                Package (0x04)
                {
                    0x0009FFFF, 
                    0x00, 
                    \_SB.PCI0.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0009FFFF, 
                    0x01, 
                    \_SB.PCI0.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0009FFFF, 
                    0x02, 
                    \_SB.PCI0.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0009FFFF, 
                    0x03, 
                    \_SB.PCI0.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000AFFFF, 
                    0x00, 
                    \_SB.PCI0.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000AFFFF, 
                    0x01, 
                    \_SB.PCI0.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000AFFFF, 
                    0x02, 
                    \_SB.PCI0.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000AFFFF, 
                    0x03, 
                    \_SB.PCI0.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000BFFFF, 
                    0x00, 
                    \_SB.PCI0.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000BFFFF, 
                    0x01, 
                    \_SB.PCI0.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000BFFFF, 
                    0x02, 
                    \_SB.PCI0.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000BFFFF, 
                    0x03, 
                    \_SB.PCI0.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0010FFFF, 
                    0x00, 
                    \_SB.PCI0.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0010FFFF, 
                    0x01, 
                    \_SB.PCI0.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0010FFFF, 
                    0x02, 
                    \_SB.PCI0.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0010FFFF, 
                    0x03, 
                    \_SB.PCI0.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0011FFFF, 
                    0x00, 
                    \_SB.PCI0.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0011FFFF, 
                    0x01, 
                    \_SB.PCI0.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0011FFFF, 
                    0x02, 
                    \_SB.PCI0.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0011FFFF, 
                    0x03, 
                    \_SB.PCI0.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x00, 
                    \_SB.PCI0.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x01, 
                    \_SB.PCI0.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x02, 
                    \_SB.PCI0.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x03, 
                    \_SB.PCI0.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0012FFFF, 
                    0x00, 
                    \_SB.PCI0.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0012FFFF, 
                    0x01, 
                    \_SB.PCI0.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0012FFFF, 
                    0x02, 
                    \_SB.PCI0.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0012FFFF, 
                    0x03, 
                    \_SB.PCI0.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x00, 
                    \_SB.PCI0.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x01, 
                    \_SB.PCI0.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x02, 
                    \_SB.PCI0.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x03, 
                    \_SB.PCI0.LNKA, 
                    0x00
                }
            })
            Name (APIC, Package (0x20)
            {
                Package (0x04)
                {
                    0x0009FFFF, 
                    0x00, 
                    0x00, 
                    0x11
                }, 

                Package (0x04)
                {
                    0x0009FFFF, 
                    0x01, 
                    0x00, 
                    0x12
                }, 

                Package (0x04)
                {
                    0x0009FFFF, 
                    0x02, 
                    0x00, 
                    0x13
                }, 

                Package (0x04)
                {
                    0x0009FFFF, 
                    0x03, 
                    0x00, 
                    0x10
                }, 

                Package (0x04)
                {
                    0x000AFFFF, 
                    0x00, 
                    0x00, 
                    0x12
                }, 

                Package (0x04)
                {
                    0x000AFFFF, 
                    0x01, 
                    0x00, 
                    0x13
                }, 

                Package (0x04)
                {
                    0x000AFFFF, 
                    0x02, 
                    0x00, 
                    0x10
                }, 

                Package (0x04)
                {
                    0x000AFFFF, 
                    0x03, 
                    0x00, 
                    0x11
                }, 

                Package (0x04)
                {
                    0x000BFFFF, 
                    0x00, 
                    0x00, 
                    0x13
                }, 

                Package (0x04)
                {
                    0x000BFFFF, 
                    0x01, 
                    0x00, 
                    0x10
                }, 

                Package (0x04)
                {
                    0x000BFFFF, 
                    0x02, 
                    0x00, 
                    0x11
                }, 

                Package (0x04)
                {
                    0x000BFFFF, 
                    0x03, 
                    0x00, 
                    0x12
                }, 

                Package (0x04)
                {
                    0x0010FFFF, 
                    0x00, 
                    ALKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0010FFFF, 
                    0x01, 
                    ALKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0010FFFF, 
                    0x02, 
                    ALKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0010FFFF, 
                    0x03, 
                    ALKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0011FFFF, 
                    0x00, 
                    ALKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0011FFFF, 
                    0x01, 
                    ALKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0011FFFF, 
                    0x02, 
                    ALKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0011FFFF, 
                    0x03, 
                    ALKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x00, 
                    0x00, 
                    0x10
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x01, 
                    0x00, 
                    0x11
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x02, 
                    0x00, 
                    0x12
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x03, 
                    0x00, 
                    0x13
                }, 

                Package (0x04)
                {
                    0x0012FFFF, 
                    0x00, 
                    ALKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0012FFFF, 
                    0x01, 
                    ALKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0012FFFF, 
                    0x02, 
                    ALKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0012FFFF, 
                    0x03, 
                    ALKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x00, 
                    ALKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x01, 
                    ALKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x02, 
                    ALKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x03, 
                    ALKA, 
                    0x00
                }
            })
            Method (_PRT, 0, NotSerialized)
            {
                If (LNot (PICF))
                {
                    Return (PICM)
                }
                Else
                {
                    Return (APIC)
                }
            }

            Device (PMIO)
            {
                Name (_HID, EisaId ("PNP0C02"))
                Name (_UID, 0x02)
                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUF0, ResourceTemplate ()
                    {
                        IO (Decode16, 0x4000, 0x4000, 0x01, 0x80)
                        IO (Decode16, 0x40F0, 0x40F0, 0x01, 0x10)
                        IO (Decode16, 0x5000, 0x5000, 0x01, 0x10)
                    })
                    Return (BUF0)
                }
            }

            Device (VT86)
            {
                Name (_ADR, 0x00110000)
                OperationRegion (USBC, PCI_Config, 0x50, 0x02)
                Scope (\)
                {
                    Field (\_SB.PCI0.VT86.USBC, ByteAcc, NoLock, Preserve)
                    {
                        IDEB,   8
                    }
                }

                OperationRegion (VTSB, PCI_Config, 0x00, 0xE8)
                Scope (\)
                {
                    Field (\_SB.PCI0.VT86.VTSB, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x02), 
                        DEID,   16, 
                        Offset (0x2C), 
                        ID2C,   8, 
                        ID2D,   8, 
                        ID2E,   8, 
                        ID2F,   8, 
                        Offset (0x44), 
                        PIRE,   4, 
                        PIRF,   4, 
                        PIRG,   4, 
                        PIRH,   4, 
                        POLE,   1, 
                        POLF,   1, 
                        POLG,   1, 
                        POLH,   1, 
                        ENR8,   1, 
                        Offset (0x50), 
                        ESB4,   1, 
                        ESB3,   1, 
                        ESB2,   1, 
                        EIDE,   1, 
                        EUSB,   1, 
                        ESB1,   1, 
                        EAMC,   2, 
                        EKBC,   1, 
                        KBCC,   1, 
                        EPS2,   1, 
                        ERTC,   1, 
                        ELAN,   1, 
                            ,   2, 
                        USBD,   1, 
                        SIRQ,   8, 
                        Offset (0x55), 
                        PIRA,   8, 
                        PIBC,   8, 
                        PIRD,   8, 
                        Offset (0x75), 
                        BSAT,   1, 
                        Offset (0x94), 
                        PWC1,   8
                    }
                }
            }

            Device (IDE0)
            {
                Name (_ADR, 0x00110001)
                Name (REGF, 0x01)
                Method (_STA, 0, NotSerialized)
                {
                    If (LNot (LEqual (VID, 0x1106)))
                    {
                        Return (0x00)
                    }
                    Else
                    {
                        If (LEqual (CMD0, 0x00))
                        {
                            Return (0x0D)
                        }
                        Else
                        {
                            Return (0x0F)
                        }
                    }
                }

                Method (_REG, 2, NotSerialized)
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        Store (Arg1, REGF)
                    }
                }

                Method (A133, 0, NotSerialized)
                {
                    If (LNot (LEqual (DEID, 0x3177)))
                    {
                        If (LEqual (DEID, 0x3147))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                OperationRegion (VIDE, PCI_Config, 0x00, 0xC2)
                Scope (\)
                {
                    Field (\_SB.PCI0.IDE0.VIDE, ByteAcc, NoLock, Preserve)
                    {
                        VID,    16, 
                        Offset (0x04), 
                        CMD0,   3, 
                        Offset (0x09), 
                        ENAT,   4, 
                        Offset (0x3C), 
                        IDEI,   4
                    }
                }

                Name (TIM0, Package (0x0F)
                {
                    Package (0x04)
                    {
                        0x78, 
                        0xB4, 
                        0xF0, 
                        0x0258
                    }, 

                    Package (0x04)
                    {
                        0x20, 
                        0x31, 
                        0x65, 
                        0xA8
                    }, 

                    Package (0x08)
                    {
                        0x02, 
                        0x01, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00
                    }, 

                    Package (0x08)
                    {
                        0x04, 
                        0x03, 
                        0x02, 
                        0x02, 
                        0x01, 
                        0x01, 
                        0x00, 
                        0x00
                    }, 

                    Package (0x06)
                    {
                        0x78, 
                        0x50, 
                        0x3C, 
                        0x2D, 
                        0x1E, 
                        0x14
                    }, 

                    Package (0x05)
                    {
                        0x02, 
                        0x01, 
                        0x00, 
                        0x00, 
                        0x00
                    }, 

                    Package (0x05)
                    {
                        0x06, 
                        0x04, 
                        0x02, 
                        0x01, 
                        0x00
                    }, 

                    Package (0x05)
                    {
                        0x00, 
                        0x00, 
                        0x00, 
                        0x01, 
                        0x01
                    }, 

                    Package (0x04)
                    {
                        0x04, 
                        0x03, 
                        0x02, 
                        0x00
                    }, 

                    Package (0x04)
                    {
                        0x02, 
                        0x01, 
                        0x00, 
                        0x00
                    }, 

                    Package (0x0B)
                    {
                        0x05, 
                        0x04, 
                        0x03, 
                        0x03, 
                        0x02, 
                        0x02, 
                        0x01, 
                        0x01, 
                        0x01, 
                        0x01, 
                        0x00
                    }, 

                    Package (0x06)
                    {
                        0x0A, 
                        0x06, 
                        0x04, 
                        0x02, 
                        0x01, 
                        0x00
                    }, 

                    Package (0x07)
                    {
                        0x78, 
                        0x50, 
                        0x3C, 
                        0x2D, 
                        0x1E, 
                        0x14, 
                        0x0F
                    }, 

                    Package (0x0F)
                    {
                        0x06, 
                        0x05, 
                        0x04, 
                        0x04, 
                        0x03, 
                        0x03, 
                        0x02, 
                        0x02, 
                        0x01, 
                        0x01, 
                        0x01, 
                        0x01, 
                        0x01, 
                        0x01, 
                        0x00
                    }, 

                    Package (0x07)
                    {
                        0x0E, 
                        0x08, 
                        0x06, 
                        0x04, 
                        0x02, 
                        0x01, 
                        0x00
                    }
                })
                Name (TMD0, Buffer (0x14) {})
                CreateDWordField (TMD0, 0x00, PIO0)
                CreateDWordField (TMD0, 0x04, DMA0)
                CreateDWordField (TMD0, 0x08, PIO1)
                CreateDWordField (TMD0, 0x0C, DMA1)
                CreateDWordField (TMD0, 0x10, CHNF)
                OperationRegion (CFG2, PCI_Config, 0x40, 0x20)
                Field (CFG2, DWordAcc, NoLock, Preserve)
                {
                    Offset (0x08), 
                    SSPT,   8, 
                    SMPT,   8, 
                    PSPT,   8, 
                    PMPT,   8, 
                    Offset (0x10), 
                    SSUT,   4, 
                    SSCT,   1, 
                    SSUE,   3, 
                    SMUT,   4, 
                    SMCT,   1, 
                    SMUE,   3, 
                    PSUT,   4, 
                    PSCT,   1, 
                    PSUE,   3, 
                    PMUT,   4, 
                    PMCT,   1, 
                    PMUE,   3
                }

                Name (GMPT, 0x00)
                Name (GMUE, 0x00)
                Name (GMUT, 0x00)
                Name (GSPT, 0x00)
                Name (GSUE, 0x00)
                Name (GSUT, 0x00)
                Device (CHN0)
                {
                    Name (_ADR, 0x00)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Return (GTM (PMPT, PMUE, PMUT, PSPT, PSUE, PSUT))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, TMD0)
                        Store (PMPT, GMPT)
                        Store (PMUE, GMUE)
                        Store (PMUT, GMUT)
                        Store (PSPT, GSPT)
                        Store (PSUE, GSUE)
                        Store (PSUT, GSUT)
                        STM ()
                        Store (GMPT, PMPT)
                        Store (GMUE, PMUE)
                        Store (GMUT, PMUT)
                        Store (GSPT, PSPT)
                        Store (GSUE, PSUE)
                        Store (GSUT, PSUT)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (GTF (0x00, PMUE, PMUT, PMPT))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (GTF (0x01, PSUE, PSUT, PSPT))
                        }
                    }
                }

                Device (CHN1)
                {
                    Name (_ADR, 0x01)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Return (GTM (SMPT, SMUE, SMUT, SSPT, SSUE, SSUT))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, TMD0)
                        Store (SMPT, GMPT)
                        Store (SMUE, GMUE)
                        Store (SMUT, GMUT)
                        Store (SSPT, GSPT)
                        Store (SSUE, GSUE)
                        Store (SSUT, GSUT)
                        STM ()
                        Store (GMPT, SMPT)
                        Store (GMUE, SMUE)
                        Store (GMUT, SMUT)
                        Store (GSPT, SSPT)
                        Store (GSUE, SSUE)
                        Store (GSUT, SSUT)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (GTF (0x02, SMUE, SMUT, SMPT))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (GTF (0x03, SSUE, SSUT, SSPT))
                        }
                    }
                }

                Method (GTF, 4, Serialized)
                {
                    Store (Buffer (0x07)
                        {
                            0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                        }, Local1)
                    Store (Buffer (0x07)
                        {
                            0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                        }, Local2)
                    CreateByteField (Local1, 0x01, MODE)
                    CreateByteField (Local2, 0x01, UMOD)
                    CreateByteField (Local1, 0x05, PCHA)
                    CreateByteField (Local2, 0x05, UCHA)
                    And (Arg0, 0x03, Local3)
                    If (LEqual (And (Local3, 0x01), 0x01))
                    {
                        Store (0xB0, PCHA)
                        Store (0xB0, UCHA)
                    }

                    If (Arg1)
                    {
                        If (A133 ())
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0D)), Arg2)), UMOD)
                        }
                        Else
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0A)), Arg2)), UMOD)
                        }

                        Or (UMOD, 0x40, UMOD)
                    }
                    Else
                    {
                        Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local0)
                        Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x09)), Local0)), UMOD)
                    }

                    Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local0)
                    Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x08)), Local0)), MODE)
                    Concatenate (Local1, Local2, Local6)
                    Return (Local6)
                }

                Method (GTM, 6, Serialized)
                {
                    Store (Ones, PIO0)
                    Store (Ones, PIO1)
                    Store (Ones, DMA0)
                    Store (Ones, DMA1)
                    Store (0x10, CHNF)
                    If (REGF) {}
                    Else
                    {
                        Return (TMD0)
                    }

                    Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg0, MTR, 0x00, 0x00), Local6)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
                    Store (Local7, DMA0)
                    Store (Local7, PIO0)
                    Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local6)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
                    Store (Local7, DMA1)
                    Store (Local7, PIO1)
                    If (Arg1)
                    {
                        If (A133 ())
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0D)), Arg2)), Local5)
                        }
                        Else
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0A)), Arg2)), Local5)
                        }

                        If (A133 ())
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0C)), Local5)), DMA0)
                        }
                        Else
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local5)), DMA0)
                        }

                        Or (CHNF, 0x01, CHNF)
                    }

                    If (Arg4)
                    {
                        If (A133 ())
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0D)), Arg5)), Local5)
                        }
                        Else
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0A)), Arg5)), Local5)
                        }

                        If (A133 ())
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0C)), Local5)), DMA1)
                        }
                        Else
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local5)), DMA1)
                        }

                        Or (CHNF, 0x04, CHNF)
                    }

                    Return (TMD0)
                }

                Method (STM, 0, Serialized)
                {
                    If (REGF) {}
                    Else
                    {
                        Return (TMD0)
                    }

                    Store (0x00, GMUE)
                    Store (0x00, GSUE)
                    Store (0x07, GMUT)
                    Store (0x07, GSUT)
                    If (And (CHNF, 0x01))
                    {
                        If (A133 ())
                        {
                            Store (Match (DerefOf (Index (TIM0, 0x0C)), MLE, DMA0, MTR, 0x00, 0x00), Local0)
                        }
                        Else
                        {
                            Store (Match (DerefOf (Index (TIM0, 0x04)), MLE, DMA0, MTR, 0x00, 0x00), Local0)
                        }

                        If (A133 ())
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0E)), Local0)), GMUT)
                        }
                        Else
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0B)), Local0)), GMUT)
                        }

                        Or (GMUE, 0x07, GMUE)
                    }
                    Else
                    {
                        If (Or (LEqual (PIO0, Ones), LEqual (PIO0, 0x00)))
                        {
                            If (And (LLess (DMA0, Ones), LGreater (DMA0, 0x00)))
                            {
                                Store (DMA0, PIO0)
                            }
                        }
                    }

                    If (And (CHNF, 0x04))
                    {
                        If (A133 ())
                        {
                            Store (Match (DerefOf (Index (TIM0, 0x0C)), MLE, DMA1, MTR, 0x00, 0x00), Local0)
                        }
                        Else
                        {
                            Store (Match (DerefOf (Index (TIM0, 0x04)), MLE, DMA1, MTR, 0x00, 0x00), Local0)
                        }

                        If (A133 ())
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0E)), Local0)), GSUT)
                        }
                        Else
                        {
                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0B)), Local0)), GSUT)
                        }

                        Or (GSUE, 0x07, GSUE)
                    }
                    Else
                    {
                        If (Or (LEqual (PIO1, Ones), LEqual (PIO1, 0x00)))
                        {
                            If (And (LLess (DMA1, Ones), LGreater (DMA1, 0x00)))
                            {
                                Store (DMA1, PIO1)
                            }
                        }
                    }

                    And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO0, MTR, 0x00, 0x00), 0x03, Local0)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1)
                    Store (Local1, GMPT)
                    And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO1, MTR, 0x00, 0x00), 0x03, Local0)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1)
                    Store (Local1, GSPT)
                }
            }

            Device (SATA)
            {
                Name (_ADR, 0x000F0001)
                Method (_STA, 0, NotSerialized)
                {
                    If (LNot (LEqual (\_SB.PCI0.SATA.VID, 0x1106)))
                    {
                        Return (0x00)
                    }
                    Else
                    {
                        If (LEqual (\_SB.PCI0.SATA.CMDR, 0x00))
                        {
                            Return (0x0D)
                        }
                        Else
                        {
                            Return (0x0F)
                        }
                    }
                }

                OperationRegion (SAPR, PCI_Config, 0x00, 0xC2)
                Field (SAPR, ByteAcc, NoLock, Preserve)
                {
                    VID,    16, 
                    Offset (0x04), 
                    CMDR,   3, 
                    Offset (0x3C), 
                    IDEI,   4, 
                    Offset (0x49), 
                        ,   6, 
                    EPHY,   1
                }
            }

            Device (PATA)
            {
                Name (_ADR, 0x000F0000)
                Name (REGF, 0x01)
                Method (_STA, 0, NotSerialized)
                {
                    If (LNot (LEqual (\_SB.PCI0.PATA.VID, 0x1106)))
                    {
                        Return (0x00)
                    }
                    Else
                    {
                        If (LEqual (\_SB.PCI0.PATA.CMDR, 0x00))
                        {
                            Return (0x0D)
                        }
                        Else
                        {
                            Return (0x0F)
                        }
                    }
                }

                Method (_REG, 2, NotSerialized)
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        Store (Arg1, REGF)
                    }
                }

                Name (TIM0, Package (0x07)
                {
                    Package (0x05)
                    {
                        0x78, 
                        0xB4, 
                        0xF0, 
                        0x017F, 
                        0x0258
                    }, 

                    Package (0x05)
                    {
                        0x20, 
                        0x22, 
                        0x33, 
                        0x47, 
                        0x5D
                    }, 

                    Package (0x05)
                    {
                        0x04, 
                        0x03, 
                        0x02, 
                        0x01, 
                        0x00
                    }, 

                    Package (0x04)
                    {
                        0x02, 
                        0x01, 
                        0x00, 
                        0x00
                    }, 

                    Package (0x07)
                    {
                        0x78, 
                        0x50, 
                        0x3C, 
                        0x2D, 
                        0x1E, 
                        0x14, 
                        0x0F
                    }, 

                    Package (0x0F)
                    {
                        0x06, 
                        0x05, 
                        0x04, 
                        0x04, 
                        0x03, 
                        0x03, 
                        0x02, 
                        0x02, 
                        0x01, 
                        0x01, 
                        0x01, 
                        0x01, 
                        0x01, 
                        0x01, 
                        0x00
                    }, 

                    Package (0x07)
                    {
                        0x0E, 
                        0x08, 
                        0x06, 
                        0x04, 
                        0x02, 
                        0x01, 
                        0x00
                    }
                })
                Name (TMD0, Buffer (0x14) {})
                CreateDWordField (TMD0, 0x00, PIO0)
                CreateDWordField (TMD0, 0x04, DMA0)
                CreateDWordField (TMD0, 0x08, PIO1)
                CreateDWordField (TMD0, 0x0C, DMA1)
                CreateDWordField (TMD0, 0x10, CHNF)
                OperationRegion (PAPR, PCI_Config, 0x00, 0xC2)
                Field (PAPR, ByteAcc, NoLock, Preserve)
                {
                    VID,    16, 
                    Offset (0x04), 
                    CMDR,   3, 
                    Offset (0x09), 
                    ENAT,   4, 
                    Offset (0x3C), 
                    IDEI,   4, 
                    Offset (0x40), 
                    ESCH,   1, 
                    EPCH,   1, 
                    Offset (0x48), 
                    SSPT,   8, 
                    SMPT,   8, 
                    PSPT,   8, 
                    PMPT,   8, 
                    Offset (0x50), 
                    SSUT,   4, 
                    SSCT,   1, 
                    SSUE,   3, 
                    SMUT,   4, 
                    SMCT,   1, 
                    SMUE,   3, 
                    PSUT,   4, 
                    PSCT,   1, 
                    PSUE,   3, 
                    PMUT,   4, 
                    PMCT,   1, 
                    PMUE,   3
                }

                Name (GMPT, 0x00)
                Name (GMUE, 0x00)
                Name (GMUT, 0x00)
                Name (GSPT, 0x00)
                Name (GSUE, 0x00)
                Name (GSUT, 0x00)
                Device (CHN0)
                {
                    Name (_ADR, 0x00)
                    Method (_STA, 0, NotSerialized)
                    {
                        If (LNot (LEqual (\_SB.PCI0.PATA.EPCH, 0x01)))
                        {
                            Return (0x00)
                        }
                        Else
                        {
                            Return (0x0F)
                        }
                    }

                    Method (_GTM, 0, NotSerialized)
                    {
                        Return (GTM (PMPT, PMUE, PMUT, PSPT, PSUE, PSUT))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, TMD0)
                        Store (PMPT, GMPT)
                        Store (PMUE, GMUE)
                        Store (PMUT, GMUT)
                        Store (PSPT, GSPT)
                        Store (PSUE, GSUE)
                        Store (PSUT, GSUT)
                        STM ()
                        Store (GMPT, PMPT)
                        Store (GMUE, PMUE)
                        Store (GMUT, PMUT)
                        Store (GSPT, PSPT)
                        Store (GSUE, PSUE)
                        Store (GSUT, PSUT)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (GTF (0x00, PMUE, PMUT, PMPT))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (GTF (0x01, PSUE, PSUT, PSPT))
                        }
                    }
                }

                Device (CHN1)
                {
                    Name (_ADR, 0x01)
                    Method (_STA, 0, NotSerialized)
                    {
                        If (LNot (LEqual (\_SB.PCI0.PATA.ESCH, 0x01)))
                        {
                            Return (0x00)
                        }
                        Else
                        {
                            Return (0x0F)
                        }
                    }

                    Method (_GTM, 0, NotSerialized)
                    {
                        Return (GTM (SMPT, SMUE, SMUT, SSPT, SSUE, SSUT))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, TMD0)
                        Store (SMPT, GMPT)
                        Store (SMUE, GMUE)
                        Store (SMUT, GMUT)
                        Store (SSPT, GSPT)
                        Store (SSUE, GSUE)
                        Store (SSUT, GSUT)
                        STM ()
                        Store (GMPT, SMPT)
                        Store (GMUE, SMUE)
                        Store (GMUT, SMUT)
                        Store (GSPT, SSPT)
                        Store (GSUE, SSUE)
                        Store (GSUT, SSUT)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (GTF (0x02, SMUE, SMUT, SMPT))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (GTF (0x03, SSUE, SSUT, SSPT))
                        }
                    }
                }

                Method (GTF, 4, Serialized)
                {
                    Store (Buffer (0x07)
                        {
                            0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                        }, Local1)
                    Store (Buffer (0x07)
                        {
                            0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                        }, Local2)
                    CreateByteField (Local1, 0x01, MODE)
                    CreateByteField (Local2, 0x01, UMOD)
                    CreateByteField (Local1, 0x05, PCHA)
                    CreateByteField (Local2, 0x05, UCHA)
                    And (Arg0, 0x03, Local3)
                    If (LEqual (And (Local3, 0x01), 0x01))
                    {
                        Store (0xB0, PCHA)
                        Store (0xB0, UCHA)
                    }

                    If (Arg1)
                    {
                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg2)), UMOD)
                        Or (UMOD, 0x40, UMOD)
                    }
                    Else
                    {
                        Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local0)
                        Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local0)), UMOD)
                    }

                    Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local0)
                    Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), MODE)
                    Concatenate (Local1, Local2, Local6)
                    Return (Local6)
                }

                Method (GTM, 6, Serialized)
                {
                    Store (Ones, PIO0)
                    Store (Ones, PIO1)
                    Store (Ones, DMA0)
                    Store (Ones, DMA1)
                    Store (0x10, CHNF)
                    If (REGF) {}
                    Else
                    {
                        Return (TMD0)
                    }

                    Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg0, MTR, 0x00, 0x00), Local6)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
                    Store (Local7, DMA0)
                    Store (Local7, PIO0)
                    Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local6)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
                    Store (Local7, DMA1)
                    Store (Local7, PIO1)
                    If (Arg1)
                    {
                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg2)), Local5)
                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local5)), DMA0)
                        Or (CHNF, 0x01, CHNF)
                    }

                    If (Arg4)
                    {
                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg5)), Local5)
                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local5)), DMA1)
                        Or (CHNF, 0x04, CHNF)
                    }

                    Return (TMD0)
                }

                Method (STM, 0, Serialized)
                {
                    If (REGF) {}
                    Else
                    {
                        Return (TMD0)
                    }

                    Store (0x00, GMUE)
                    Store (0x00, GSUE)
                    Store (0x07, GMUT)
                    Store (0x07, GSUT)
                    If (And (CHNF, 0x01))
                    {
                        Store (Match (DerefOf (Index (TIM0, 0x04)), MLE, DMA0, MTR, 0x00, 0x00), Local0)
                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), GMUT)
                        Or (GMUE, 0x07, GMUE)
                    }
                    Else
                    {
                        If (Or (LEqual (PIO0, Ones), LEqual (PIO0, 0x00)))
                        {
                            If (And (LLess (DMA0, Ones), LGreater (DMA0, 0x00)))
                            {
                                Store (DMA0, PIO0)
                            }
                        }
                    }

                    If (And (CHNF, 0x04))
                    {
                        Store (Match (DerefOf (Index (TIM0, 0x04)), MLE, DMA1, MTR, 0x00, 0x00), Local0)
                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), GSUT)
                        Or (GSUE, 0x07, GSUE)
                    }
                    Else
                    {
                        If (Or (LEqual (PIO1, Ones), LEqual (PIO1, 0x00)))
                        {
                            If (And (LLess (DMA1, Ones), LGreater (DMA1, 0x00)))
                            {
                                Store (DMA1, PIO1)
                            }
                        }
                    }

                    And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO0, MTR, 0x00, 0x00), 0x03, Local0)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1)
                    Store (Local1, GMPT)
                    And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO1, MTR, 0x00, 0x00), 0x03, Local0)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1)
                    Store (Local1, GSPT)
                }
            }

            Device (USB0)
            {
                Name (_ADR, 0x00110002)
                Name (_PRW, Package (0x02)
                {
                    0x09, 
                    0x03
                })
                Method (SS3D, 0, NotSerialized)
                {
                    If (LEqual (OSFL, 0x02))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }
            }

            Device (USB1)
            {
                Name (_ADR, 0x00110003)
                Name (_PRW, Package (0x02)
                {
                    0x09, 
                    0x03
                })
                Method (SS3D, 0, NotSerialized)
                {
                    If (LEqual (OSFL, 0x02))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }
            }

            Device (USB2)
            {
                Name (_ADR, 0x00110004)
                Name (_PRW, Package (0x02)
                {
                    0x09, 
                    0x03
                })
                Method (SS3D, 0, NotSerialized)
                {
                    If (LEqual (OSFL, 0x02))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }
            }

            Device (USB6)
            {
                Name (_ADR, 0x00100000)
                Name (_PRW, Package (0x02)
                {
                    0x0E, 
                    0x03
                })
                Method (SS3D, 0, NotSerialized)
                {
                    If (LEqual (OSFL, 0x02))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }
            }

            Device (USB7)
            {
                Name (_ADR, 0x00100001)
                Name (_PRW, Package (0x02)
                {
                    0x0E, 
                    0x03
                })
                Method (SS3D, 0, NotSerialized)
                {
                    If (LEqual (OSFL, 0x02))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }
            }

            Device (USB8)
            {
                Name (_ADR, 0x00100002)
                Name (_PRW, Package (0x02)
                {
                    0x0E, 
                    0x03
                })
                Method (SS3D, 0, NotSerialized)
                {
                    If (LEqual (OSFL, 0x02))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }
            }

            Device (USB9)
            {
                Name (_ADR, 0x00100003)
                Name (_PRW, Package (0x02)
                {
                    0x0E, 
                    0x03
                })
                Method (SS3D, 0, NotSerialized)
                {
                    If (LEqual (OSFL, 0x02))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }
            }

            Device (LAN0)
            {
                Name (_ADR, 0x00120000)
                Name (_PRW, Package (0x02)
                {
                    0x03, 
                    0x05
                })
            }

            Device (AC97)
            {
                Name (_ADR, 0x00110005)
            }

            Scope (\)
            {
                Method (DISD, 1, NotSerialized)
                {
                    Store (Arg0, Local0)
                }

                Method (CKIO, 2, NotSerialized)
                {
                    Store (Arg0, Local0)
                }

                Method (SLDM, 2, NotSerialized)
                {
                    Store (Arg0, Local0)
                }
            }

            Device (LNKA)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, 0x01)
                Method (_STA, 0, NotSerialized)
                {
                    And (PIRA, 0xF0, Local0)
                    If (LEqual (Local0, 0x00))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Name (BUFB, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {3,4,6,7,10,11,12}
                    })
                    Return (BUFB)
                }

                Method (_DIS, 0, NotSerialized)
                {
                    And (PIRA, 0x0F, PIRA)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUFB, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    CreateByteField (BUFB, 0x01, IRB1)
                    CreateByteField (BUFB, 0x02, IRB2)
                    Store (0x00, Local3)
                    Store (0x00, Local4)
                    And (PIRA, 0xF0, Local1)
                    ShiftRight (Local1, 0x04, Local1)
                    If (LNot (LEqual (Local1, 0x00)))
                    {
                        If (LGreater (Local1, 0x07))
                        {
                            Subtract (Local1, 0x08, Local2)
                            ShiftLeft (One, Local2, Local4)
                        }
                        Else
                        {
                            If (LGreater (Local1, 0x00))
                            {
                                ShiftLeft (One, Local1, Local3)
                            }
                        }

                        Store (Local3, IRB1)
                        Store (Local4, IRB2)
                    }

                    Return (BUFB)
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x01, IRB1)
                    CreateByteField (Arg0, 0x02, IRB2)
                    ShiftLeft (IRB2, 0x08, Local0)
                    Or (Local0, IRB1, Local0)
                    Store (0x00, Local1)
                    ShiftRight (Local0, 0x01, Local0)
                    While (LGreater (Local0, 0x00))
                    {
                        Increment (Local1)
                        ShiftRight (Local0, 0x01, Local0)
                    }

                    And (PIRA, 0x0F, PIRA)
                    ShiftLeft (Local1, 0x04, Local1)
                    Or (PIRA, Local1, PIRA)
                }
            }

            Device (LNKB)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, 0x02)
                Method (_STA, 0, NotSerialized)
                {
                    And (PIBC, 0x0F, Local0)
                    If (LEqual (Local0, 0x00))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Name (BUFA, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {3,4,6,7,10,11,12}
                    })
                    Return (BUFA)
                }

                Method (_DIS, 0, NotSerialized)
                {
                    And (PIBC, 0xF0, PIBC)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUFA, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    CreateByteField (BUFA, 0x01, IRA1)
                    CreateByteField (BUFA, 0x02, IRA2)
                    Store (0x00, Local3)
                    Store (0x00, Local4)
                    And (PIBC, 0x0F, Local1)
                    If (LNot (LEqual (Local1, 0x00)))
                    {
                        If (LGreater (Local1, 0x07))
                        {
                            Subtract (Local1, 0x08, Local2)
                            ShiftLeft (One, Local2, Local4)
                        }
                        Else
                        {
                            If (LGreater (Local1, 0x00))
                            {
                                ShiftLeft (One, Local1, Local3)
                            }
                        }

                        Store (Local3, IRA1)
                        Store (Local4, IRA2)
                    }

                    Return (BUFA)
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x01, IRA1)
                    CreateByteField (Arg0, 0x02, IRA2)
                    ShiftLeft (IRA2, 0x08, Local0)
                    Or (Local0, IRA1, Local0)
                    Store (0x00, Local1)
                    ShiftRight (Local0, 0x01, Local0)
                    While (LGreater (Local0, 0x00))
                    {
                        Increment (Local1)
                        ShiftRight (Local0, 0x01, Local0)
                    }

                    And (PIBC, 0xF0, PIBC)
                    Or (PIBC, Local1, PIBC)
                }
            }

            Device (LNKC)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, 0x03)
                Method (_STA, 0, NotSerialized)
                {
                    And (PIBC, 0xF0, Local0)
                    If (LEqual (Local0, 0x00))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Name (BUFC, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {3,4,6,7,10,11,12}
                    })
                    Return (BUFC)
                }

                Method (_DIS, 0, NotSerialized)
                {
                    And (PIBC, 0x0F, PIBC)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUFC, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    CreateByteField (BUFC, 0x01, IRC1)
                    CreateByteField (BUFC, 0x02, IRC2)
                    Store (0x00, Local3)
                    Store (0x00, Local4)
                    And (PIBC, 0xF0, Local1)
                    ShiftRight (Local1, 0x04, Local1)
                    If (LNot (LEqual (Local1, 0x00)))
                    {
                        If (LGreater (Local1, 0x07))
                        {
                            Subtract (Local1, 0x08, Local2)
                            ShiftLeft (One, Local2, Local4)
                        }
                        Else
                        {
                            If (LGreater (Local1, 0x00))
                            {
                                ShiftLeft (One, Local1, Local3)
                            }
                        }

                        Store (Local3, IRC1)
                        Store (Local4, IRC2)
                    }

                    Return (BUFC)
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x01, IRC1)
                    CreateByteField (Arg0, 0x02, IRC2)
                    ShiftLeft (IRC2, 0x08, Local0)
                    Or (Local0, IRC1, Local0)
                    Store (0x00, Local1)
                    ShiftRight (Local0, 0x01, Local0)
                    While (LGreater (Local0, 0x00))
                    {
                        Increment (Local1)
                        ShiftRight (Local0, 0x01, Local0)
                    }

                    And (PIBC, 0x0F, PIBC)
                    ShiftLeft (Local1, 0x04, Local1)
                    Or (PIBC, Local1, PIBC)
                }
            }

            Device (LNKD)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, 0x04)
                Method (_STA, 0, NotSerialized)
                {
                    And (PIRD, 0xF0, Local0)
                    If (LEqual (Local0, 0x00))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Name (BUFD, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {3,4,6,7,10,11,12}
                    })
                    Return (BUFD)
                }

                Method (_DIS, 0, NotSerialized)
                {
                    And (PIRD, 0x0F, PIRD)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUFD, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    CreateByteField (BUFD, 0x01, IRD1)
                    CreateByteField (BUFD, 0x02, IRD2)
                    Store (0x00, Local3)
                    Store (0x00, Local4)
                    And (PIRD, 0xF0, Local1)
                    ShiftRight (Local1, 0x04, Local1)
                    If (LNot (LEqual (Local1, 0x00)))
                    {
                        If (LGreater (Local1, 0x07))
                        {
                            Subtract (Local1, 0x08, Local2)
                            ShiftLeft (One, Local2, Local4)
                        }
                        Else
                        {
                            If (LGreater (Local1, 0x00))
                            {
                                ShiftLeft (One, Local1, Local3)
                            }
                        }

                        Store (Local3, IRD1)
                        Store (Local4, IRD2)
                    }

                    Return (BUFD)
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x01, IRD1)
                    CreateByteField (Arg0, 0x02, IRD2)
                    ShiftLeft (IRD2, 0x08, Local0)
                    Or (Local0, IRD1, Local0)
                    Store (0x00, Local1)
                    ShiftRight (Local0, 0x01, Local0)
                    While (LGreater (Local0, 0x00))
                    {
                        Increment (Local1)
                        ShiftRight (Local0, 0x01, Local0)
                    }

                    And (PIRD, 0x0F, PIRD)
                    ShiftLeft (Local1, 0x04, Local1)
                    Or (PIRD, Local1, PIRD)
                }
            }

            Device (LNKE)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, 0x05)
                Method (_STA, 0, NotSerialized)
                {
                    If (LEqual (PIRE, 0x00))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Name (BUFE, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {3,4,6,7,10,11,12}
                    })
                    Return (BUFE)
                }

                Method (_DIS, 0, NotSerialized)
                {
                    Store (Zero, PIRE)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUFE, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    CreateByteField (BUFE, 0x01, IRE1)
                    CreateByteField (BUFE, 0x02, IRE2)
                    Store (Zero, IRE1)
                    Store (Zero, IRE2)
                    Store (PIRE, Local0)
                    If (LGreater (Local0, 0x00))
                    {
                        If (LGreater (Local0, 0x07))
                        {
                            Subtract (Local0, 0x08, Local1)
                            ShiftLeft (One, Local1, IRE2)
                        }
                        Else
                        {
                            Store (Local0, Local1)
                            ShiftLeft (One, Local1, IRE1)
                        }
                    }

                    Return (BUFE)
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x01, IRE1)
                    CreateByteField (Arg0, 0x02, IRE2)
                    If (LGreater (IRE2, Zero))
                    {
                        FindSetLeftBit (IRE2, Local0)
                        Decrement (Local0)
                        Add (Local0, 0x08, Local0)
                    }
                    Else
                    {
                        FindSetLeftBit (IRE1, Local0)
                        Decrement (Local0)
                    }

                    Store (One, ENR8)
                    Store (Zero, POLE)
                    Store (Local0, PIRE)
                }
            }

            Device (LNKF)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, 0x06)
                Method (_STA, 0, NotSerialized)
                {
                    If (LEqual (PIRF, 0x00))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Name (BUFF, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {3,4,6,7,10,11,12}
                    })
                    Return (BUFF)
                }

                Method (_DIS, 0, NotSerialized)
                {
                    Store (Zero, PIRF)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUFF, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    CreateByteField (BUFF, 0x01, IRF1)
                    CreateByteField (BUFF, 0x02, IRF2)
                    Store (Zero, IRF1)
                    Store (Zero, IRF2)
                    Store (PIRF, Local0)
                    If (LGreater (Local0, 0x00))
                    {
                        If (LGreater (Local0, 0x07))
                        {
                            Subtract (Local0, 0x08, Local1)
                            ShiftLeft (One, Local0, IRF2)
                        }
                        Else
                        {
                            Store (Local0, Local1)
                            ShiftLeft (One, Local1, IRF1)
                        }
                    }

                    Return (BUFF)
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x01, IRF1)
                    CreateByteField (Arg0, 0x02, IRF2)
                    If (LGreater (IRF2, Zero))
                    {
                        FindSetLeftBit (IRF2, Local0)
                        Decrement (Local0)
                        Add (Local0, 0x08, Local0)
                    }
                    Else
                    {
                        FindSetLeftBit (IRF1, Local0)
                        Decrement (Local0)
                    }

                    Store (One, ENR8)
                    Store (Zero, POLF)
                    Store (Local0, PIRF)
                }
            }

            Device (LNK0)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, 0x07)
                Method (_STA, 0, NotSerialized)
                {
                    If (LEqual (PIRG, 0x00))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Name (BUFG, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {3,4,6,7,10,11,12}
                    })
                    Return (BUFG)
                }

                Method (_DIS, 0, NotSerialized)
                {
                    Store (Zero, PIRG)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUFG, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    CreateByteField (BUFG, 0x01, IRG1)
                    CreateByteField (BUFG, 0x02, IRG2)
                    Store (Zero, IRG1)
                    Store (Zero, IRG2)
                    Store (PIRG, Local0)
                    If (LGreater (Local0, 0x00))
                    {
                        If (LGreater (Local0, 0x07))
                        {
                            Subtract (Local0, 0x08, Local0)
                            ShiftLeft (One, Local0, IRG2)
                        }
                        Else
                        {
                            Store (0x01, Local1)
                            ShiftLeft (Local1, Local0, IRG1)
                        }
                    }

                    Return (BUFG)
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x01, IRG1)
                    CreateByteField (Arg0, 0x02, IRG2)
                    If (LGreater (IRG2, Zero))
                    {
                        FindSetLeftBit (IRG2, Local0)
                        Decrement (Local0)
                        Add (Local0, 0x08, Local0)
                    }
                    Else
                    {
                        FindSetLeftBit (IRG1, Local0)
                        Decrement (Local0)
                    }

                    Store (One, ENR8)
                    Store (Zero, POLG)
                    Store (Local0, PIRG)
                }
            }

            Device (LNK1)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, 0x08)
                Method (_STA, 0, NotSerialized)
                {
                    If (LEqual (PIRH, 0x00))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Name (BUFH, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {3,4,6,7,10,11,12}
                    })
                    Return (BUFH)
                }

                Method (_DIS, 0, NotSerialized)
                {
                    Store (Zero, PIRH)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUFH, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    CreateByteField (BUFH, 0x01, IRH1)
                    CreateByteField (BUFH, 0x02, IRH2)
                    Store (Zero, IRH1)
                    Store (Zero, IRH2)
                    Store (PIRH, Local0)
                    If (LGreater (Local0, 0x00))
                    {
                        If (LGreater (Local0, 0x07))
                        {
                            Subtract (Local0, 0x08, Local0)
                            ShiftLeft (One, Local0, IRH2)
                        }
                        Else
                        {
                            Store (0x01, Local1)
                            ShiftLeft (Local1, Local0, IRH1)
                        }
                    }

                    Return (BUFH)
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x01, IRH1)
                    CreateByteField (Arg0, 0x02, IRH2)
                    If (LGreater (IRH2, Zero))
                    {
                        FindSetLeftBit (IRH2, Local0)
                        Decrement (Local0)
                        Add (Local0, 0x08, Local0)
                    }
                    Else
                    {
                        FindSetLeftBit (IRH1, Local0)
                        Decrement (Local0)
                    }

                    Store (One, ENR8)
                    Store (Zero, POLH)
                    Store (Local0, PIRH)
                }
            }

            Device (ALKA)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, 0x01)
                Method (_STA, 0, NotSerialized)
                {
                    And (PIRA, 0xF0, Local0)
                    If (LEqual (Local0, 0x00))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Name (A37A, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,10,11,12,14,15}
                    })
                    Name (A47C, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
                        {
                            0x00000010,
                            0x00000011,
                            0x00000012,
                            0x00000013,
                            0x00000014,
                            0x00000015,
                            0x00000016,
                            0x00000017,
                        }
                    })
                    Name (A47N, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
                        {
                            0x00000014,
                        }
                    })
                    If (LNot (LEqual (DEID, 0x3177)))
                    {
                        If (LNot (LEqual (DEID, 0x3147)))
                        {
                            If (LEqual (DEID, 0x3227))
                            {
                                Return (A47N)
                            }
                            Else
                            {
                                Return (A37A)
                            }
                        }
                        Else
                        {
                            If (LEqual (ENAT, 0x0A))
                            {
                                Return (A47C)
                            }
                            Else
                            {
                                Return (A47N)
                            }
                        }
                    }
                    Else
                    {
                        Return (A47N)
                    }
                }

                Method (_DIS, 0, NotSerialized)
                {
                    And (PIRA, 0x0F, PIRA)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (B37A, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    CreateByteField (B37A, 0x01, IRB1)
                    CreateByteField (B37A, 0x02, IRB2)
                    Name (B47A, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
                        {
                            0x00000000,
                        }
                    })
                    If (LNot (LEqual (DEID, 0x3177)))
                    {
                        If (LNot (LEqual (DEID, 0x3147)))
                        {
                            If (LEqual (DEID, 0x3227))
                            {
                                Return (B47A)
                            }
                            Else
                            {
                                Return (B37A)
                            }
                        }
                        Else
                        {
                            Return (B47A)
                        }
                    }
                    Else
                    {
                        Return (B47A)
                    }

                    Store (0x00, Local3)
                    Store (0x00, Local4)
                    And (PIRA, 0xF0, Local1)
                    ShiftRight (Local1, 0x04, Local1)
                    If (LNot (LEqual (Local1, 0x00)))
                    {
                        If (LGreater (Local1, 0x07))
                        {
                            Subtract (Local1, 0x08, Local2)
                            ShiftLeft (One, Local2, Local4)
                        }
                        Else
                        {
                            If (LGreater (Local1, 0x00))
                            {
                                ShiftLeft (One, Local1, Local3)
                            }
                        }

                        Store (Local3, IRB1)
                        Store (Local4, IRB2)
                    }
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x01, IRB1)
                    CreateByteField (Arg0, 0x02, IRB2)
                    ShiftLeft (IRB2, 0x08, Local0)
                    Or (Local0, IRB1, Local0)
                    Store (0x00, Local1)
                    ShiftRight (Local0, 0x01, Local0)
                    While (LGreater (Local0, 0x00))
                    {
                        Increment (Local1)
                        ShiftRight (Local0, 0x01, Local0)
                    }

                    And (PIRA, 0x0F, PIRA)
                    ShiftLeft (Local1, 0x04, Local1)
                    Or (PIRA, Local1, PIRA)
                }
            }

            Device (ALKB)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, 0x02)
                Method (_STA, 0, NotSerialized)
                {
                    And (PIBC, 0x0F, Local0)
                    If (LEqual (Local0, 0x00))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Name (A37B, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,10,11,12,14,15}
                    })
                    Name (A47B, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
                        {
                            0x00000010,
                            0x00000011,
                            0x00000012,
                            0x00000013,
                            0x00000014,
                            0x00000015,
                            0x00000016,
                            0x00000017,
                        }
                    })
                    Name (A77B, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
                        {
                            0x00000015,
                        }
                    })
                    If (LNot (LEqual (DEID, 0x3177)))
                    {
                        If (LNot (LEqual (DEID, 0x3147)))
                        {
                            If (LEqual (DEID, 0x3227))
                            {
                                Return (A77B)
                            }
                            Else
                            {
                                Return (A37B)
                            }
                        }
                        Else
                        {
                            Return (A47B)
                        }
                    }
                    Else
                    {
                        Return (A77B)
                    }
                }

                Method (_DIS, 0, NotSerialized)
                {
                    And (PIBC, 0xF0, PIBC)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (B37B, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    CreateByteField (B37B, 0x01, IRA1)
                    CreateByteField (B37B, 0x02, IRA2)
                    Name (B47B, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
                        {
                            0x00000000,
                        }
                    })
                    If (LNot (LEqual (DEID, 0x3177)))
                    {
                        If (LNot (LEqual (DEID, 0x3147)))
                        {
                            If (LEqual (DEID, 0x3227))
                            {
                                Return (B47B)
                            }
                            Else
                            {
                                Return (B37B)
                            }
                        }
                        Else
                        {
                            Return (B47B)
                        }
                    }
                    Else
                    {
                        Return (B47B)
                    }

                    Store (0x00, Local3)
                    Store (0x00, Local4)
                    And (PIBC, 0x0F, Local1)
                    If (LNot (LEqual (Local1, 0x00)))
                    {
                        If (LGreater (Local1, 0x07))
                        {
                            Subtract (Local1, 0x08, Local2)
                            ShiftLeft (One, Local2, Local4)
                        }
                        Else
                        {
                            If (LGreater (Local1, 0x00))
                            {
                                ShiftLeft (One, Local1, Local3)
                            }
                        }

                        Store (Local3, IRA1)
                        Store (Local4, IRA2)
                    }
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x01, IRA1)
                    CreateByteField (Arg0, 0x02, IRA2)
                    ShiftLeft (IRA2, 0x08, Local0)
                    Or (Local0, IRA1, Local0)
                    Store (0x00, Local1)
                    ShiftRight (Local0, 0x01, Local0)
                    While (LGreater (Local0, 0x00))
                    {
                        Increment (Local1)
                        ShiftRight (Local0, 0x01, Local0)
                    }

                    And (PIBC, 0xF0, PIBC)
                    Or (PIBC, Local1, PIBC)
                }
            }

            Device (ALKC)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, 0x03)
                Method (_STA, 0, NotSerialized)
                {
                    And (PIBC, 0xF0, Local0)
                    If (LEqual (Local0, 0x00))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Name (A37C, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,10,11,12,14,15}
                    })
                    Name (A47C, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
                        {
                            0x00000016,
                        }
                    })
                    If (LNot (LEqual (DEID, 0x3177)))
                    {
                        If (LNot (LEqual (DEID, 0x3147)))
                        {
                            If (LEqual (DEID, 0x3227))
                            {
                                Return (A47C)
                            }
                            Else
                            {
                                Return (A37C)
                            }
                        }
                        Else
                        {
                            Return (A47C)
                        }
                    }
                    Else
                    {
                        Return (A47C)
                    }
                }

                Method (_DIS, 0, NotSerialized)
                {
                    And (PIBC, 0x0F, PIBC)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (B37C, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    Name (B47C, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
                        {
                            0x00000000,
                        }
                    })
                    CreateByteField (B37C, 0x01, IRC1)
                    CreateByteField (B37C, 0x02, IRC2)
                    Store (0x00, Local3)
                    Store (0x00, Local4)
                    And (PIBC, 0xF0, Local1)
                    ShiftRight (Local1, 0x04, Local1)
                    If (LNot (LEqual (Local1, 0x00)))
                    {
                        If (LGreater (Local1, 0x07))
                        {
                            Subtract (Local1, 0x08, Local2)
                            ShiftLeft (One, Local2, Local4)
                        }
                        Else
                        {
                            If (LGreater (Local1, 0x00))
                            {
                                ShiftLeft (One, Local1, Local3)
                            }
                        }

                        Store (Local3, IRC1)
                        Store (Local4, IRC2)
                    }

                    If (LNot (LEqual (DEID, 0x3177)))
                    {
                        If (LNot (LEqual (DEID, 0x3147)))
                        {
                            If (LEqual (DEID, 0x3227))
                            {
                                Return (B47C)
                            }
                            Else
                            {
                                Return (B37C)
                            }
                        }
                        Else
                        {
                            Return (B47C)
                        }
                    }
                    Else
                    {
                        Return (B47C)
                    }
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x01, IRC1)
                    CreateByteField (Arg0, 0x02, IRC2)
                    ShiftLeft (IRC2, 0x08, Local0)
                    Or (Local0, IRC1, Local0)
                    Store (0x00, Local1)
                    ShiftRight (Local0, 0x01, Local0)
                    While (LGreater (Local0, 0x00))
                    {
                        Increment (Local1)
                        ShiftRight (Local0, 0x01, Local0)
                    }

                    And (PIBC, 0x0F, PIBC)
                    ShiftLeft (Local1, 0x04, Local1)
                    Or (PIBC, Local1, PIBC)
                }
            }

            Device (ALKD)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, 0x04)
                Method (_STA, 0, NotSerialized)
                {
                    And (PIRD, 0xF0, Local0)
                    If (LEqual (Local0, 0x00))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Name (A37D, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,10,11,12,14,15}
                    })
                    Name (A47D, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
                        {
                            0x00000015,
                        }
                    })
                    Name (A77D, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
                        {
                            0x00000017,
                        }
                    })
                    If (LNot (LEqual (DEID, 0x3177)))
                    {
                        If (LNot (LEqual (DEID, 0x3147)))
                        {
                            If (LEqual (DEID, 0x3227))
                            {
                                Return (A77D)
                            }
                            Else
                            {
                                Return (A37D)
                            }
                        }
                        Else
                        {
                            Return (A47D)
                        }
                    }
                    Else
                    {
                        Return (A77D)
                    }
                }

                Method (_DIS, 0, NotSerialized)
                {
                    And (PIRD, 0x0F, PIRD)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (B37D, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    CreateByteField (B37D, 0x01, IRD1)
                    CreateByteField (B37D, 0x02, IRD2)
                    Name (B47D, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
                        {
                            0x00000000,
                        }
                    })
                    If (LNot (LEqual (DEID, 0x3177)))
                    {
                        If (LNot (LEqual (DEID, 0x3147)))
                        {
                            If (LEqual (DEID, 0x3227))
                            {
                                Return (B47D)
                            }
                            Else
                            {
                                Return (B37D)
                            }
                        }
                        Else
                        {
                            Return (B47D)
                        }
                    }
                    Else
                    {
                        Return (B47D)
                    }

                    Store (0x00, Local3)
                    Store (0x00, Local4)
                    And (PIRD, 0xF0, Local1)
                    ShiftRight (Local1, 0x04, Local1)
                    If (LNot (LEqual (Local1, 0x00)))
                    {
                        If (LGreater (Local1, 0x07))
                        {
                            Subtract (Local1, 0x08, Local2)
                            ShiftLeft (One, Local2, Local4)
                        }
                        Else
                        {
                            If (LGreater (Local1, 0x00))
                            {
                                ShiftLeft (One, Local1, Local3)
                            }
                        }

                        Store (Local3, IRD1)
                        Store (Local4, IRD2)
                    }
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x01, IRD1)
                    CreateByteField (Arg0, 0x02, IRD2)
                    ShiftLeft (IRD2, 0x08, Local0)
                    Or (Local0, IRD1, Local0)
                    Store (0x00, Local1)
                    ShiftRight (Local0, 0x01, Local0)
                    While (LGreater (Local0, 0x00))
                    {
                        Increment (Local1)
                        ShiftRight (Local0, 0x01, Local0)
                    }

                    And (PIRD, 0x0F, PIRD)
                    ShiftLeft (Local1, 0x04, Local1)
                    Or (PIRD, Local1, PIRD)
                }
            }

            Scope (\)
            {
                OperationRegion (\SCPP, SystemIO, 0x402F, 0x01)
                Field (\SCPP, ByteAcc, NoLock, Preserve)
                {
                    SMIP,   8
                }
            }

            Method (\_SB.PCI0._INI, 0, NotSerialized)
            {
                If (STRC (\_OS, "Microsoft Windows"))
                {
                    Store (0x56, SMIP)
                }
                Else
                {
                    If (STRC (\_OS, "Microsoft Windows NT"))
                    {
                        Store (0x58, SMIP)
                        Store (0x00, OSFL)
                    }
                    Else
                    {
                        Store (0x57, SMIP)
                        Store (0x02, OSFL)
                    }
                }
            }

            Scope (\)
            {
                Method (OSTP, 0, NotSerialized)
                {
                    If (LEqual (OSFL, 0x01))
                    {
                        Store (0x56, SMIP)
                    }

                    If (LEqual (OSFL, 0x02))
                    {
                        Store (0x57, SMIP)
                    }

                    If (LEqual (OSFL, 0x00))
                    {
                        Store (0x58, SMIP)
                    }
                }
            }

            Device (SYSR)
            {
                Name (_HID, EisaId ("PNP0C02"))
                Name (_UID, 0x01)
                Name (_CRS, ResourceTemplate ()
                {
                    IO (Decode16, 0x0010, 0x0010, 0x01, 0x10)
                    IO (Decode16, 0x0022, 0x0022, 0x01, 0x1E)
                    IO (Decode16, 0x0044, 0x0044, 0x01, 0x1C)
                    IO (Decode16, 0x0062, 0x0062, 0x01, 0x02)
                    IO (Decode16, 0x0065, 0x0065, 0x01, 0x0B)
                    IO (Decode16, 0x0074, 0x0074, 0x01, 0x0C)
                    IO (Decode16, 0x0091, 0x0091, 0x01, 0x03)
                    IO (Decode16, 0x00A2, 0x00A2, 0x01, 0x1E)
                    IO (Decode16, 0x00E0, 0x00E0, 0x01, 0x10)
                    IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02)
                    IO (Decode16, 0x0290, 0x0290, 0x01, 0x10)
                    IO (Decode16, 0x0800, 0x0800, 0x01, 0x06)
                })
            }

            Device (PIC)
            {
                Name (_HID, EisaId ("PNP0000"))
                Name (_CRS, ResourceTemplate ()
                {
                    IO (Decode16, 0x0020, 0x0020, 0x01, 0x02)
                    IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02)
                    IRQNoFlags () {2}
                })
            }

            Device (DMA1)
            {
                Name (_HID, EisaId ("PNP0200"))
                Name (_CRS, ResourceTemplate ()
                {
                    DMA (Compatibility, BusMaster, Transfer8) {4}
                    IO (Decode16, 0x0000, 0x0000, 0x01, 0x10)
                    IO (Decode16, 0x0080, 0x0080, 0x01, 0x11)
                    IO (Decode16, 0x0094, 0x0094, 0x01, 0x0C)
                    IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20)
                })
            }

            Device (TMR)
            {
                Name (_HID, EisaId ("PNP0100"))
                Name (_CRS, ResourceTemplate ()
                {
                    IO (Decode16, 0x0040, 0x0040, 0x01, 0x04)
                    IRQNoFlags () {0}
                })
            }

            Device (RTC)
            {
                Name (_HID, EisaId ("PNP0B00"))
                Name (_CRS, ResourceTemplate ()
                {
                    IO (Decode16, 0x0070, 0x0070, 0x04, 0x04)
                    IRQNoFlags () {8}
                })
            }

            Device (SPKR)
            {
                Name (_HID, EisaId ("PNP0800"))
                Name (_CRS, ResourceTemplate ()
                {
                    IO (Decode16, 0x0061, 0x0061, 0x01, 0x01)
                })
            }

            Device (COPR)
            {
                Name (_HID, EisaId ("PNP0C04"))
                Name (_CRS, ResourceTemplate ()
                {
                    IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x10)
                    IRQNoFlags () {13}
                })
            }

            Scope (\)
            {
                OperationRegion (WIN1, SystemIO, 0x2E, 0x02)
                Field (WIN1, ByteAcc, NoLock, Preserve)
                {
                    INDP,   8, 
                    DATP,   8
                }

                IndexField (INDP, DATP, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x02), 
                    CFG,    8, 
                    Offset (0x07), 
                    LDN,    8, 
                    Offset (0x20), 
                    IDHI,   8, 
                    IDLO,   8, 
                    POWC,   8, 
                    Offset (0x30), 
                    ACTR,   8, 
                    Offset (0x60), 
                    IOAH,   8, 
                    IOAL,   8, 
                    IO2H,   8, 
                    IO2L,   8, 
                    Offset (0x70), 
                    INTR,   8, 
                    Offset (0x72), 
                    INT1,   8, 
                    Offset (0x74), 
                    DMCH,   8, 
                    Offset (0xC0), 
                    GP40,   8, 
                    Offset (0xF0), 
                    OPT1,   8, 
                    OPT2,   8, 
                    OPT3,   8, 
                    OPT4,   8
                }

                Method (ENFG, 0, NotSerialized)
                {
                    Store (0x87, INDP)
                    Store (0x01, INDP)
                    Store (0x55, INDP)
                    Store (0x55, INDP)
                }

                Method (EXFG, 0, NotSerialized)
                {
                    Store (0x02, CFG)
                }

                Method (GSRG, 1, NotSerialized)
                {
                    Store (Arg0, INDP)
                    Return (DATP)
                }

                Method (SSRG, 2, NotSerialized)
                {
                    Store (Arg0, INDP)
                    Store (Arg1, DATP)
                }
            }

            Device (FDC0)
            {
                Name (_HID, EisaId ("PNP0700"))
                Method (_STA, 0, NotSerialized)
                {
                    ENFG ()
                    Store (Zero, LDN)
                    If (ACTR)
                    {
                        EXFG ()
                        Return (0x0F)
                    }
                    Else
                    {
                        If (LOr (IOAH, IOAL))
                        {
                            EXFG ()
                            Return (0x0D)
                        }
                        Else
                        {
                            EXFG ()
                            Return (0x00)
                        }
                    }
                }

                Method (_DIS, 0, NotSerialized)
                {
                    ENFG ()
                    Store (0x00, LDN)
                    Store (Zero, ACTR)
                    SLDM (DMCH, 0x04)
                    EXFG ()
                    DISD (0x03)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUF0, ResourceTemplate ()
                    {
                        IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
                        IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
                        IRQNoFlags () {6}
                        DMA (Compatibility, NotBusMaster, Transfer8) {2}
                    })
                    CreateByteField (BUF0, 0x02, IOLO)
                    CreateByteField (BUF0, 0x03, IOHI)
                    CreateByteField (BUF0, 0x04, IORL)
                    CreateByteField (BUF0, 0x05, IORH)
                    ENFG ()
                    EXFG ()
                    Return (BUF0)
                }

                Name (_PRS, ResourceTemplate ()
                {
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
                        IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
                        IRQNoFlags () {6}
                        DMA (Compatibility, NotBusMaster, Transfer8) {2}
                    }
                    EndDependentFn ()
                })
                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x02, IOLO)
                    CreateByteField (Arg0, 0x03, IOHI)
                    CreateWordField (Arg0, 0x02, IOAD)
                    CreateWordField (Arg0, 0x19, IRQW)
                    CreateByteField (Arg0, 0x1C, DMAV)
                    ENFG ()
                    Store (Zero, LDN)
                    Store (One, ACTR)
                    SLDM (DMCH, DMCH)
                    CKIO (IOAD, 0x03)
                    EXFG ()
                }
            }

            Device (UAR1)
            {
                Name (_HID, EisaId ("PNP0501"))
                Name (_UID, 0x01)
                Method (_STA, 0, NotSerialized)
                {
                    ENFG ()
                    Store (0x01, LDN)
                    If (ACTR)
                    {
                        EXFG ()
                        Return (0x0F)
                    }
                    Else
                    {
                        If (LOr (IOAH, IOAL))
                        {
                            EXFG ()
                            Return (0x0D)
                        }
                        Else
                        {
                            EXFG ()
                            Return (0x00)
                        }
                    }

                    EXFG ()
                }

                Method (_DIS, 0, NotSerialized)
                {
                    ENFG ()
                    Store (0x01, LDN)
                    Store (Zero, ACTR)
                    EXFG ()
                    DISD (0x00)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUF1, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
                        IRQNoFlags () {}
                    })
                    CreateByteField (BUF1, 0x02, IOLO)
                    CreateByteField (BUF1, 0x03, IOHI)
                    CreateByteField (BUF1, 0x04, IORL)
                    CreateByteField (BUF1, 0x05, IORH)
                    CreateWordField (BUF1, 0x09, IRQW)
                    ENFG ()
                    Store (0x01, LDN)
                    Store (IOAL, IOLO)
                    Store (IOAL, IORL)
                    Store (IOAH, IOHI)
                    Store (IOAH, IORH)
                    Store (One, Local0)
                    ShiftLeft (Local0, INTR, IRQW)
                    EXFG ()
                    Return (BUF1)
                }

                Name (_PRS, ResourceTemplate ()
                {
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    EndDependentFn ()
                })
                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x02, IOLO)
                    CreateByteField (Arg0, 0x03, IOHI)
                    CreateWordField (Arg0, 0x02, IOAD)
                    CreateWordField (Arg0, 0x09, IRQW)
                    ENFG ()
                    Store (0x01, LDN)
                    Store (One, ACTR)
                    Store (IOLO, IOAL)
                    Store (IOHI, IOAH)
                    FindSetRightBit (IRQW, Local0)
                    Subtract (Local0, 0x01, INTR)
                    EXFG ()
                    CKIO (IOAD, 0x00)
                }
            }

            Device (UAR2)
            {
                Method (_HID, 0, NotSerialized)
                {
                    Return (0x0105D041)
                }

                Name (_UID, 0x02)
                Method (_STA, 0, NotSerialized)
                {
                    ENFG ()
                    Store (0x02, LDN)
                    And (OPT2, 0x07, Local0)
                    If (LNot (LEqual (Local0, 0x01)))
                    {
                        If (ACTR)
                        {
                            EXFG ()
                            Return (0x0F)
                        }
                        Else
                        {
                            If (LOr (IOAH, IOAL))
                            {
                                EXFG ()
                                Return (0x0D)
                            }
                            Else
                            {
                                EXFG ()
                                Return (0x00)
                            }
                        }
                    }
                    Else
                    {
                        EXFG ()
                        Return (0x00)
                    }
                }

                Method (_DIS, 0, NotSerialized)
                {
                    ENFG ()
                    Store (0x02, LDN)
                    Store (Zero, ACTR)
                    EXFG ()
                    DISD (0x01)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUF2, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
                        IRQNoFlags () {4}
                    })
                    CreateByteField (BUF2, 0x02, IOLO)
                    CreateByteField (BUF2, 0x03, IOHI)
                    CreateByteField (BUF2, 0x04, IORL)
                    CreateByteField (BUF2, 0x05, IORH)
                    CreateWordField (BUF2, 0x09, IRQW)
                    ENFG ()
                    Store (0x02, LDN)
                    Store (IOAL, IOLO)
                    Store (IOAL, IORL)
                    Store (IOAH, IOHI)
                    Store (IOAH, IORH)
                    Store (One, Local0)
                    ShiftLeft (Local0, INTR, IRQW)
                    EXFG ()
                    Return (BUF2)
                }

                Name (_PRS, ResourceTemplate ()
                {
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    EndDependentFn ()
                })
                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x02, IOLO)
                    CreateByteField (Arg0, 0x03, IOHI)
                    CreateWordField (Arg0, 0x02, IOAD)
                    CreateWordField (Arg0, 0x09, IRQW)
                    ENFG ()
                    Store (0x02, LDN)
                    Store (One, ACTR)
                    Store (IOLO, IOAL)
                    Store (IOHI, IOAH)
                    FindSetRightBit (IRQW, Local0)
                    Subtract (Local0, 0x01, INTR)
                    EXFG ()
                    CKIO (IOAD, 0x01)
                }
            }

            Device (IRDA)
            {
                Name (_HID, EisaId ("PNP0510"))
                Method (_STA, 0, NotSerialized)
                {
                    ENFG ()
                    Store (0x02, LDN)
                    And (OPT2, 0x07, Local0)
                    If (LEqual (Local0, 0x01))
                    {
                        If (ACTR)
                        {
                            EXFG ()
                            Return (0x0F)
                        }
                        Else
                        {
                            If (LOr (IOAH, IOAL))
                            {
                                EXFG ()
                                Return (0x0D)
                            }
                            Else
                            {
                                EXFG ()
                                Return (0x00)
                            }
                        }
                    }
                    Else
                    {
                        EXFG ()
                        Return (0x00)
                    }
                }

                Method (_DIS, 0, NotSerialized)
                {
                    If (LEqual (DISE, 0x01))
                    {
                        ENFG ()
                        Store (0x02, LDN)
                        Store (Zero, ACTR)
                        EXFG ()
                        DISD (0x01)
                    }

                    Store (Local0, Local0)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUF4, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
                        IRQNoFlags () {}
                    })
                    CreateByteField (BUF4, 0x02, IOLO)
                    CreateByteField (BUF4, 0x03, IOHI)
                    CreateByteField (BUF4, 0x04, IORL)
                    CreateByteField (BUF4, 0x05, IORH)
                    CreateWordField (BUF4, 0x09, IRQW)
                    ENFG ()
                    Store (0x02, LDN)
                    Store (IOAL, IOLO)
                    Store (IOAL, IORL)
                    Store (IOAH, IOHI)
                    Store (IOAH, IORH)
                    ShiftLeft (0x01, INTR, IRQW)
                    EXFG ()
                    Return (BUF4)
                }

                Name (_PRS, ResourceTemplate ()
                {
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    EndDependentFn ()
                })
                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x02, IOLO)
                    CreateByteField (Arg0, 0x03, IOHI)
                    CreateWordField (Arg0, 0x02, IOAD)
                    CreateWordField (Arg0, 0x09, IRQW)
                    ENFG ()
                    Store (0x02, LDN)
                    Store (One, ACTR)
                    Store (IOLO, IOAL)
                    Store (IOHI, IOAH)
                    FindSetRightBit (IRQW, Local0)
                    Subtract (Local0, 0x01, INTR)
                    EXFG ()
                    CKIO (IOAD, 0x01)
                }
            }

            Device (LPT1)
            {
                Name (_HID, EisaId ("PNP0400"))
                Method (_STA, 0, NotSerialized)
                {
                    ENFG ()
                    Store (0x03, LDN)
                    And (OPT1, 0x02, Local0)
                    If (LNot (LEqual (Local0, 0x02)))
                    {
                        If (ACTR)
                        {
                            EXFG ()
                            Return (0x0F)
                        }
                        Else
                        {
                            If (LOr (IOAH, IOAL))
                            {
                                EXFG ()
                                Return (0x0D)
                            }
                            Else
                            {
                                EXFG ()
                                Return (0x00)
                            }
                        }
                    }
                    Else
                    {
                        EXFG ()
                        Return (0x00)
                    }
                }

                Method (_DIS, 0, NotSerialized)
                {
                    ENFG ()
                    Store (0x03, LDN)
                    Store (Zero, ACTR)
                    EXFG ()
                    DISD (0x02)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUF5, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
                        IRQNoFlags () {}
                    })
                    CreateByteField (BUF5, 0x02, IOLO)
                    CreateByteField (BUF5, 0x03, IOHI)
                    CreateByteField (BUF5, 0x04, IORL)
                    CreateByteField (BUF5, 0x05, IORH)
                    CreateByteField (BUF5, 0x07, IOLE)
                    CreateWordField (BUF5, 0x09, IRQW)
                    ENFG ()
                    Store (0x03, LDN)
                    Store (IOAL, IOLO)
                    Store (IOLO, IORL)
                    Store (IOAH, IOHI)
                    Store (IOHI, IORH)
                    If (LEqual (IOLO, 0xBC))
                    {
                        Store (0x04, IOLE)
                    }
                    Else
                    {
                        Store (0x08, IOLE)
                    }

                    Store (One, Local0)
                    Store (INTR, Local5)
                    ShiftLeft (Local0, Local5, IRQW)
                    EXFG ()
                    Return (BUF5)
                }

                Name (_PRS, ResourceTemplate ()
                {
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    EndDependentFn ()
                })
                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x02, IOLO)
                    CreateByteField (Arg0, 0x03, IOHI)
                    CreateWordField (Arg0, 0x02, IOAD)
                    CreateByteField (Arg0, 0x04, IORL)
                    CreateByteField (Arg0, 0x05, IORH)
                    CreateWordField (Arg0, 0x09, IRQW)
                    ENFG ()
                    Store (0x03, LDN)
                    Store (One, ACTR)
                    Store (IOLO, IOAL)
                    Store (IOHI, IOAH)
                    FindSetLeftBit (IRQW, Local0)
                    Subtract (Local0, 0x01, Local0)
                    Store (Local0, INTR)
                    EXFG ()
                    CKIO (IOAD, 0x02)
                }
            }

            Device (ECP1)
            {
                Name (_HID, EisaId ("PNP0401"))
                Method (_STA, 0, NotSerialized)
                {
                    ENFG ()
                    Store (0x03, LDN)
                    And (OPT1, 0x02, Local0)
                    If (LEqual (Local0, 0x02))
                    {
                        If (ACTR)
                        {
                            EXFG ()
                            Return (0x0F)
                        }
                        Else
                        {
                            If (LOr (IOAH, IOAL))
                            {
                                EXFG ()
                                Return (0x0D)
                            }
                            Else
                            {
                                EXFG ()
                                Return (0x00)
                            }
                        }
                    }
                    Else
                    {
                        EXFG ()
                        Return (0x00)
                    }
                }

                Method (_DIS, 0, NotSerialized)
                {
                    ENFG ()
                    Store (0x03, LDN)
                    Store (Zero, ACTR)
                    SLDM (DMCH, 0x04)
                    EXFG ()
                    DISD (0x02)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUF6, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x04)
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x04)
                        IRQNoFlags () {}
                        DMA (Compatibility, NotBusMaster, Transfer8) {}
                    })
                    CreateByteField (BUF6, 0x02, IOLO)
                    CreateByteField (BUF6, 0x03, IOHI)
                    CreateByteField (BUF6, 0x04, IORL)
                    CreateByteField (BUF6, 0x05, IORH)
                    CreateByteField (BUF6, 0x07, IOLE)
                    CreateByteField (BUF6, 0x0A, IOEL)
                    CreateByteField (BUF6, 0x0B, IOEH)
                    CreateByteField (BUF6, 0x0C, IOML)
                    CreateByteField (BUF6, 0x0D, IOMH)
                    CreateWordField (BUF6, 0x11, IRQW)
                    CreateByteField (BUF6, 0x14, DMAC)
                    ENFG ()
                    Store (0x03, LDN)
                    Store (IOAL, Local2)
                    Store (Local2, IOLO)
                    Store (IOAH, Local3)
                    Store (Local3, IOHI)
                    Or (Local3, 0x04, Local3)
                    Store (Local3, IOEH)
                    Store (Local3, IOMH)
                    Store (IOLO, IORL)
                    Store (IOLO, IOEL)
                    Store (IOLO, IOML)
                    Store (IOHI, IORH)
                    If (LEqual (IOLO, 0xBC))
                    {
                        Store (0x04, IOLE)
                    }
                    Else
                    {
                        Store (0x08, IOLE)
                    }

                    Store (One, Local0)
                    Store (INTR, Local5)
                    ShiftLeft (Local0, Local5, IRQW)
                    Store (One, Local0)
                    Store (DMCH, Local5)
                    ShiftLeft (Local0, Local5, DMAC)
                    EXFG ()
                    Return (BUF6)
                }

                Name (_PRS, ResourceTemplate ()
                {
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0378, 0x0378, 0x00, 0x08)
                        IO (Decode16, 0x0778, 0x0778, 0x00, 0x04)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                        DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0278, 0x0278, 0x00, 0x08)
                        IO (Decode16, 0x0678, 0x0678, 0x00, 0x04)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                        DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03BC, 0x03BC, 0x00, 0x04)
                        IO (Decode16, 0x07BC, 0x07BC, 0x00, 0x04)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                        DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
                    }
                    EndDependentFn ()
                })
                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x02, IOLO)
                    CreateByteField (Arg0, 0x03, IOHI)
                    CreateWordField (Arg0, 0x02, IOAD)
                    CreateWordField (Arg0, 0x11, IRQW)
                    CreateByteField (Arg0, 0x14, DMAC)
                    ENFG ()
                    Store (0x03, LDN)
                    Store (One, ACTR)
                    Store (IOLO, IOAL)
                    Store (IOHI, IOAH)
                    FindSetLeftBit (IRQW, Local0)
                    Subtract (Local0, 0x01, Local0)
                    Store (Local0, INTR)
                    FindSetLeftBit (DMAC, Local1)
                    Store (DMCH, Local0)
                    Subtract (Local1, 0x01, DMCH)
                    SLDM (Local0, DMCH)
                    EXFG ()
                    CKIO (IOAD, 0x02)
                }
            }

            OperationRegion (KBCT, SystemIO, 0x60, 0x05)
            Field (KBCT, ByteAcc, NoLock, Preserve)
            {
                P060,   8, 
                Offset (0x04), 
                P064,   8
            }

            Device (PS2M)
            {
                Name (_HID, EisaId ("PNP0F13"))
                Method (_STA, 0, NotSerialized)
                {
                    If (LEqual (PS2F, 0x00))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (0x00)
                    }
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUF1, ResourceTemplate ()
                    {
                        IRQNoFlags () {12}
                    })
                    Name (BUF2, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
                        IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
                        IRQNoFlags () {12}
                    })
                    If (LEqual (KBDI, 0x01))
                    {
                        If (LEqual (OSFL, 0x02))
                        {
                            Return (BUF1)
                        }

                        If (LEqual (OSFL, 0x01))
                        {
                            Return (BUF1)
                        }
                        Else
                        {
                            Return (BUF2)
                        }
                    }
                    Else
                    {
                        Return (BUF1)
                    }
                }
            }

            Device (PS2K)
            {
                Name (_HID, EisaId ("PNP0303"))
                Method (_STA, 0, NotSerialized)
                {
                    If (LEqual (KBDI, 0x01))
                    {
                        Return (0x00)
                    }
                    Else
                    {
                        Return (0x0F)
                    }
                }

                Name (_CRS, ResourceTemplate ()
                {
                    IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
                    IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
                    IRQNoFlags () {1}
                })
            }

            Device (PSMR)
            {
                Name (_HID, EisaId ("PNP0C02"))
                Name (_UID, 0x03)
                Method (_STA, 0, NotSerialized)
                {
                    If (LEqual (KBDI, 0x00))
                    {
                        Return (0x00)
                    }

                    If (LEqual (PS2F, 0x00))
                    {
                        If (LEqual (OSFL, 0x02))
                        {
                            Return (0x0F)
                        }

                        If (LEqual (OSFL, 0x01))
                        {
                            Return (0x0F)
                        }

                        Return (0x00)
                    }

                    Return (0x00)
                }

                Name (_CRS, ResourceTemplate ()
                {
                    IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
                    IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
                })
            }

            Device (MIDI)
            {
                Name (_HID, EisaId ("PNPB006"))
                Method (_STA, 0, NotSerialized)
                {
                    ENFG ()
                    Store (0x08, LDN)
                    If (ACTR)
                    {
                        EXFG ()
                        Return (0x0F)
                    }
                    Else
                    {
                        If (LOr (IOAH, IOAL))
                        {
                            EXFG ()
                            Return (0x0D)
                        }
                        Else
                        {
                            EXFG ()
                            Return (0x00)
                        }
                    }

                    EXFG ()
                }

                Method (_DIS, 0, NotSerialized)
                {
                    ENFG ()
                    Store (0x08, LDN)
                    Store (Zero, ACTR)
                    EXFG ()
                    DISD (0x05)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    Name (BUF1, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x02)
                        IRQNoFlags () {}
                    })
                    CreateByteField (BUF1, 0x02, IOLO)
                    CreateByteField (BUF1, 0x03, IOHI)
                    CreateByteField (BUF1, 0x04, IORL)
                    CreateByteField (BUF1, 0x05, IORH)
                    CreateWordField (BUF1, 0x09, IRQW)
                    ENFG ()
                    Store (0x08, LDN)
                    Store (IOAL, IOLO)
                    Store (IOAL, IORL)
                    Store (IOAH, IOHI)
                    Store (IOAH, IORH)
                    Store (One, Local0)
                    ShiftLeft (Local0, INTR, IRQW)
                    EXFG ()
                    Return (BUF1)
                }

                Name (_PRS, ResourceTemplate ()
                {
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0330, 0x0330, 0x01, 0x02)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0300, 0x0300, 0x01, 0x02)
                        IRQNoFlags () {3,4,5,7,9,10,11,12}
                    }
                    EndDependentFn ()
                })
                Method (_SRS, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x02, IOLO)
                    CreateByteField (Arg0, 0x03, IOHI)
                    CreateWordField (Arg0, 0x02, IOAD)
                    CreateWordField (Arg0, 0x09, IRQW)
                    ENFG ()
                    Store (0x08, LDN)
                    Store (One, ACTR)
                    Store (IOLO, IOAL)
                    Store (IOHI, IOAH)
                    FindSetRightBit (IRQW, Local0)
                    Subtract (Local0, 0x01, INTR)
                    EXFG ()
                    CKIO (IOAD, 0x05)
                }
            }

            Method (_PRW, 0, NotSerialized)
            {
                Return (Package (0x02)
                {
                    0x05, 
                    0x05
                })
            }

            Method (\_SB.PCI0.UAR1._PRW, 0, NotSerialized)
            {
                Return (Package (0x02)
                {
                    0x08, 
                    0x05
                })
            }

            Method (\_SB.PCI0.LPT1._PRW, 0, NotSerialized)
            {
                Return (Package (0x02)
                {
                    0x08, 
                    0x05
                })
            }

            Method (\_SB.PCI0.ECP1._PRW, 0, NotSerialized)
            {
                Return (Package (0x02)
                {
                    0x08, 
                    0x05
                })
            }
        }
    }
}


--Apple-Mail-2--901804979--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7B5FE857-16A8-4369-B577-3F3190B56840>