Bug 7985 - 2.4 -> 2.6 regression - Kernel panic - not syncing: fatal exception in interrupt - ASUS A7V8X
2.4 -> 2.6 regression - Kernel panic - not syncing: fatal exception in interr...
Status: REJECTED UNREPRODUCIBLE
Product: ACPI
Classification: Unclassified
Component: Config-Other
i386 Linux
: P2 normal
Assigned To: acpi_config-interrupts
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2007-02-11 05:26 UTC by Kuteynikov
Modified: 2007-12-09 21:25 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.17-2
Tree: Mainline
Regression: ---


Attachments

Description Kuteynikov 2007-02-11 05:26:17 UTC
Most recent kernel where this bug did *NOT* occur: 2.4.27-3
Distribution: Debian
Hardware Environment:

Machine: <ASUS A7V8X>
Processor: AMD Athlon(TM) XP 2000+

Memory: 256704 kB 
Partitions: </dev/hda6     ext3    19647252   6838176  11811040  37% /
tmpfs        tmpfs      128352         0    128352   0% /dev/shm
/dev/hda5     vfat    18786816  16929232   1857584  91% /mnt/archive

/dev/hdb5 reiserfs     1028060   1028060         0 100% /home/dima/ram
/dev/hda1     vfat    38867744  18915552  19952192  49% /mnt/diskc
>

Output of lspci -nn and lspci -vnn:
0000:00:00.0 0600: 1106:3189

0000:00:01.0 0604: 1106:b168
0000:00:09.0 0200: 14e4:4401 (rev 01)
0000:00:0e.0 0703: 134d:7892 (rev 02)
0000:00:10.0 0c03: 1106:3038 (rev 80)
0000:00:10.1 0c03: 1106:3038 (rev 80)
0000:00:10.2 0c03: 1106:3038 (rev 80)

0000:00:10.3 0c03: 1106:3104 (rev 82)
0000:00:11.0 0601: 1106:3177
0000:00:11.1 0101: 1106:0571 (rev 06)
0000:00:11.5 0401: 1106:3059 (rev 50)
0000:01:00.0 0300: 1002:5159

0000:00:00.0 0600: 1106:3189

        Subsystem: 1043:807f
           Flags: bus master, 66MHz, medium devsel, latency 0
           Memory at f8000000 (32-bit, prefetchable) [size=64M]
        Capabilities: <available only to root>


0000:00:01.0 0604: 1106:b168
           Flags: bus master, 66MHz, medium devsel, latency 0
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        I/O behind bridge: 0000d000-0000dfff

           Memory behind bridge: ef000000-efdfffff
           Prefetchable memory behind bridge: eff00000-f7ffffff
        Capabilities: <available only to root>

0000:00:09.0 0200: 14e4:4401 (rev 01)

        Subsystem: 1043:80a8
           Flags: bus master, fast devsel, latency 32, IRQ 5
           Memory at ee800000 (32-bit, non-prefetchable) [size=8K]
        Expansion ROM at efef0000 [disabled] [size=16K]

        Capabilities: <available only to root>

0000:00:0e.0 0703: 134d:7892 (rev 02) (prog-if 04)
        Subsystem: 134d:0001
           Flags: stepping, medium devsel, IRQ 10
        I/O ports at b800 [size=64]

        Capabilities: <available only to root>

0000:00:10.0 0c03: 1106:3038 (rev 80)
        Subsystem: 1043:808c
           Flags: bus master, medium devsel, latency 32, IRQ 9
        I/O ports at b400 [size=32]

        Capabilities: <available only to root>

0000:00:10.1 0c03: 1106:3038 (rev 80)
        Subsystem: 1043:808c
           Flags: bus master, medium devsel, latency 32, IRQ 9
        I/O ports at b000 [size=32]

        Capabilities: <available only to root>

0000:00:10.2 0c03: 1106:3038 (rev 80)
        Subsystem: 1043:808c
           Flags: bus master, medium devsel, latency 32, IRQ 9
        I/O ports at a800 [size=32]

        Capabilities: <available only to root>

0000:00:10.3 0c03: 1106:3104 (rev 82) (prog-if 20)
        Subsystem: 1043:808c
           Flags: bus master, medium devsel, latency 32, IRQ 9
           Memory at ee000000 (32-bit, non-prefetchable) [size=256]

        Capabilities: <available only to root>

0000:00:11.0 0601: 1106:3177
        Subsystem: 1043:808c
           Flags: bus master, stepping, medium devsel, latency 0
        Capabilities: <available only to root>


0000:00:11.1 0101: 1106:0571 (rev 06) (prog-if 8a [Master SecP PriP])
        Subsystem: 1043:808c
           Flags: bus master, medium devsel, latency 32
        I/O ports at a400 [size=16]
        Capabilities: <available only to root>


0000:00:11.5 0401: 1106:3059 (rev 50)
        Subsystem: 1043:8095
           Flags: medium devsel, IRQ 11
        I/O ports at e000 [size=256]
        Capabilities: <available only to root>


0000:01:00.0 0300: 1002:5159
        Subsystem: 1458:4002
           Flags: bus master, stepping, 66MHz, medium devsel, latency 64, IRQ 11
           Memory at f0000000 (32-bit, prefetchable) [size=128M]
        I/O ports at d800 [size=256]

           Memory at ef000000 (32-bit, non-prefetchable) [size=64K]
        Expansion ROM at effe0000 [disabled] [size=128K]
        Capabilities: <available only to root>

Software Environment:

kernel-image-2.6.17-2
glibc-2.3.6-2
gcc-4.1 (4.1.1-21)

Problem Description:
When I try to start 2.6.* kernels they always hang when recognizing devices
(halt without any error messages).
Debian 4.0 shows "Kernel panic - not syncing: fatal exception in interrupt". 
2.4.* works properly.

Steps to reproduce:
Run Linux with 2.6.* kernel.
Comment 1 Len Brown 2007-03-30 19:33:56 UTC
please attach the complete dmesg and /proc/interrupts
from a successful 2.4 boot.

On 2.6, please try booting with "acpi=off"
Comment 2 Kuteynikov 2007-04-01 16:44:06 UTC
=====================================dmesg=====================================
Linux version 2.4.27-3-686 (pbuilder@dl360-g3) (gcc version 3.3.5 (Debian
1:3.3.5-13)) #1 Tue Dec 5 21:03:54 UTC 2006
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000000fffc000 (usable)
 BIOS-e820: 000000000fffc000 - 000000000ffff000 (ACPI data)
 BIOS-e820: 000000000ffff000 - 0000000010000000 (ACPI NVS)
 BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
255MB LOWMEM available.
On node 0 totalpages: 65532
zone(0): 4096 pages.
zone(1): 61436 pages.
zone(2): 0 pages.
ACPI: RSDP (v000 ASUS                                      ) @ 0x000f6140
ACPI: RSDT (v001 ASUS   A7V8X    0x42302e31 MSFT 0x31313031) @ 0x0fffc000
ACPI: FADT (v001 ASUS   A7V8X    0x42302e31 MSFT 0x31313031) @ 0x0fffc0b2
ACPI: BOOT (v001 ASUS   A7V8X    0x42302e31 MSFT 0x31313031) @ 0x0fffc030
ACPI: MADT (v001 ASUS   A7V8X    0x42302e31 MSFT 0x31313031) @ 0x0fffc058
ACPI: DSDT (v001   ASUS A7V8X    0x00001000 MSFT 0x0100000b) @ 0x00000000
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 Pentium(tm) Pro APIC version 16
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
Kernel command line: root=/dev/hda6 ro 
Found and enabled local APIC!
Initializing CPU#0
Detected 1658.560 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 3309.56 BogoMIPS
Memory: 252480k/262128k available (1198k kernel code, 9260k reserved, 451k data,
116k init, 0k highmem)
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0383fbff c1c3fbff 00000000 00000000
CPU:             Common caps: 0383fbff c1c3fbff 00000000 00000000
CPU: AMD Athlon(TM) XP 2000+ stepping 02
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1658.5919 MHz.
..... host bus clock speed is 265.3747 MHz.
cpu: 0, clocks: 2653747, slice: 1326873
CPU0<T0:2653744,T1:1326864,D:7,S:1326873,C:2653747>
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
ACPI: Subsystem revision 20040326
ACPI: Interpreter disabled.
PCI: PCI BIOS revision 2.10 entry at 0xf1ad0, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: ACPI tables contain no PCI IRQ routing entries
PCI: Probing PCI hardware (bus 00)
PCI: Using IRQ router VIA [1106/3177] at 00:11.0
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
VFS: Disk quotas vdquot_6.5.1
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x0
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with HUB-6 MANY_PORTS MULTIPORT
SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
PCI: Found IRQ 10 for device 00:0e.0
Redundant entry in serial pci_table.  Please send the output of
lspci -vv, this message (134d,7892,134d,0001)
and the manufacturer and name of serial board or modem board
to serial-pci-info@lists.sourceforge.net.
register_serial(): autoconfig failed
COMX: driver version 0.85 (C) 1995-1999 ITConsult-Pro Co. <info@itc.hu>
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
Initializing Cryptographic API
NET4: Linux TCP/IP 1.0 for NET4.0
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
Linux IP multicast router 0.06 plus PIM-SM
RAMDISK: cramfs filesystem found at block 0
RAMDISK: Loading 4108 blocks [1 disk] into ram disk... |/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|done.
Freeing initrd memory: 4108k freed
VFS: Mounted root (cramfs filesystem).
Freeing unused kernel memory: 116k freed
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ide: late registration of driver.
VP_IDE: IDE controller at PCI slot 00:11.1
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: VIA vt8235 (rev 00) IDE UDMA133 controller on pci00:11.1
    ide0: BM-DMA at 0xa400-0xa407, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xa408-0xa40f, BIOS settings: hdc:DMA, hdd:DMA
hda: ST380021A, ATA DISK drive
hdb: FUJITSU MPE3064AT, ATA DISK drive
blk: queue d0829c80, I/O limit 4095Mb (mask 0xffffffff)
blk: queue d0829dbc, I/O limit 4095Mb (mask 0xffffffff)
hdc: _NEC DV-5800C, ATAPI CD/DVD-ROM drive
hdd: _NEC CD-RW NR-9400A, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: attached ide-disk driver.
hda: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=155061/16/63, UDMA(100)
hdb: attached ide-disk driver.
hdb: 12672450 sectors (6488 MB) w/512KiB Cache, CHS=13410/15/63
Partition check:
 /dev/ide/host0/bus0/target0/lun0: [PTBL] [9729/255/63] p1 p2 < p5 p6 p7 >
 /dev/ide/host0/bus0/target1/lun0: [PTBL] [788/255/63] p1 p2
 p2: <bsd: >
Journalled Block Device driver loaded
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Adding Swap: 514040k swap-space (priority -1)
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,6), internal journal
Real Time Clock Driver v1.10f
hdc: attached ide-cdrom driver.
hdc: ATAPI 48X DVD-ROM drive, 512kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
hdd: attached ide-cdrom driver.
hdd: ATAPI 1X CD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)
MSDOS FS: IO charset koi8-r
PCI: Found IRQ 4 for device 00:11.5
IRQ routing conflict for 00:11.5, have irq 11, want irq 4
PCI: Setting latency timer of device 00:11.5 to 64
irda_init()
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
PCI: Found IRQ 3 for device 00:10.3
IRQ routing conflict for 00:10.0, have irq 9, want irq 3
IRQ routing conflict for 00:10.1, have irq 9, want irq 3
IRQ routing conflict for 00:10.2, have irq 9, want irq 3
IRQ routing conflict for 00:10.3, have irq 9, want irq 3
ehci_hcd 00:10.3: VIA Technologies, Inc. USB 2.0
ehci_hcd 00:10.3: irq 9, pci mem d09ab000
usb.c: new USB bus registered, assigned bus number 1
ehci_hcd 00:10.3: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4
hub.c: USB hub found
hub.c: 6 ports detected
uhci.c: USB Universal Host Controller Interface driver v1.1
PCI: Found IRQ 3 for device 00:10.0
IRQ routing conflict for 00:10.0, have irq 9, want irq 3
IRQ routing conflict for 00:10.1, have irq 9, want irq 3
IRQ routing conflict for 00:10.2, have irq 9, want irq 3
IRQ routing conflict for 00:10.3, have irq 9, want irq 3
uhci.c: USB UHCI at I/O 0xb400, IRQ 9
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Found IRQ 3 for device 00:10.1
IRQ routing conflict for 00:10.0, have irq 9, want irq 3
IRQ routing conflict for 00:10.1, have irq 9, want irq 3
IRQ routing conflict for 00:10.2, have irq 9, want irq 3
IRQ routing conflict for 00:10.3, have irq 9, want irq 3
uhci.c: USB UHCI at I/O 0xb000, IRQ 9
usb.c: new USB bus registered, assigned bus number 3
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Found IRQ 3 for device 00:10.2
IRQ routing conflict for 00:10.0, have irq 9, want irq 3
IRQ routing conflict for 00:10.1, have irq 9, want irq 3
IRQ routing conflict for 00:10.2, have irq 9, want irq 3
IRQ routing conflict for 00:10.3, have irq 9, want irq 3
uhci.c: USB UHCI at I/O 0xa800, IRQ 9
usb.c: new USB bus registered, assigned bus number 4
hub.c: USB hub found
hub.c: 2 ports detected
b44.c:v0.93 (Mar, 2004)
PCI: Found IRQ 5 for device 00:09.0
eth0: Broadcom 4400 10/100BaseT Ethernet 00:e0:18:b3:8d:56
hub.c: new USB device 00:10.3-1, assigned address 2
hub.c: USB hub found
hub.c: 4 ports detected
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
shpchp: acpi_shpchprm:get_device PCI ROOT HID fail=0x1001
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
pciehp: acpi_pciehprm:get_device PCI ROOT HID fail=0x1001
hub.c: new USB device 00:10.3-1.4, assigned address 3
usb.c: USB device 3 (vend/prod 0x402/0x5602) is not claimed by any active driver.
b44: eth0: Link is down.
b44: eth0: Link is up at 100 Mbps, full duplex.
b44: eth0: Flow control is on for TX and on for RX.
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16)
spurious 8259A interrupt: IRQ7.
[drm] Initialized radeon 1.7.0 20020828 on minor 0
[drm:radeon_unlock] *ERROR* Process 1368 using kernel context 0
==================================interrupts===================================
           CPU0
  0:      40427          XT-PIC  timer
  1:        770          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  5:       5543          XT-PIC  eth0
  8:          4          XT-PIC  rtc
  9:         43          XT-PIC  ehci_hcd, usb-uhci, usb-uhci, usb-uhci
 11:          0          XT-PIC  VIA8233
 12:      48969          XT-PIC  PS/2 Mouse
 14:      19570          XT-PIC  ide0
 15:         27          XT-PIC  ide1
NMI:          0
LOC:      40394
ERR:          8
MIS:          0
Comment 3 Len Brown 2007-04-02 21:55:52 UTC
> Linux version 2.4.27-3-686
...
> ACPI: Subsystem revision 20040326
> ACPI: Interpreter disabled.

2.4 is booting with ACPI disabled, so a direct comparison
of 2.6 vs 2.6 would be to boot 2.6 with "acpi=off".

Alternatively, you could boot 2.4 with "acpi=force" to see
if it can successfully boot in ACPI mode when 2.6 can not.
Please attach (do not paste) the resulting dmesg.

Also, please try the latest 2.6 kernel -- 2.6.21-rc5,
or at least the latest stable -- 2.6.20.stable
Comment 4 Kuteynikov 2007-04-07 02:42:08 UTC
I have run kernel 2.4 with acpi=force and it booted normally. dmesg said:
-------------------------------------
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec00000] global_irq_base[0x0])
IOAPIC[0]: Assigned apic_id 2
IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, IRQ 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl edge)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
Using ACPI (MADT) for SMP configuration information
Kernel command line: root=/dev/hda6 ro acpi=force
Initializing CPU#0
Detected 1658.560 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 3309.56 BogoMIPS
Memory: 252476k/262128k available (1198k kernel code, 9264k reserved, 451k data,
116k init, 0k highmem)
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0383fbff c1c3fbff 00000000 00000000
CPU:             Common caps: 0383fbff c1c3fbff 00000000 00000000
CPU: AMD Athlon(TM) XP 2000+ stepping 02
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
ENABLING IO-APIC IRQs
init IO_APIC IRQs
-------------------------------------

AND 

-------------------------------------
PCI: No IRQ known for interrupt pin A of device 00:11.1
PCI: Using ACPI for IRQ routing
PCI: Via IRQ fixup for 00:10.0, from 0 to 5
PCI: Via IRQ fixup for 00:10.1, from 0 to 5
PCI: Via IRQ fixup for 00:10.2, from 0 to 5
-------------------------------------
and other.

Knoppix with kernel 2.6.19 sometimes boots and often not. And I don't know what
it means because I don't change my system parameters. It's a mysticism! Is it a
random?
Comment 5 Natalie Protasevich 2007-10-03 22:50:14 UTC
Any update on this problem please.
Thanks.
Comment 6 ykzhao 2007-10-08 06:52:54 UTC
Hi, Kuteynikov
Will you please upload the info of acpidump?
Thanks.
Comment 7 Kuteynikov 2007-10-09 03:50:20 UTC
`acpidump -d` from FreeBSD 6.2:

PART ONE:

/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20041119
 *
 * Disassembly of /tmp/acpidump.XN4L3g, Tue Oct  9 14:43:11 2007
 */
DefinitionBlock ("DSDT.aml", "DSDT", 1, "ASUS", "A7V8X   ", 4096)
{
    Scope (\_PR)
    {
        Processor (\_PR.CPU0, 0x00, 0x00000000, 0x00) {}
    }

    OperationRegion (FSEG, SystemMemory, 0x000FDF00, 0x0100)
    Field (FSEG, AnyAcc, NoLock, Preserve)
    {
        ACPR,   32, 
        MMSZ,   16, 
        NPS2,   8, 
        STRF,   8, 
        HCUD,   8, 
        HCPI,   8, 
        HDUD,   8, 
        HDPI,   8, 
        HEUD,   8, 
        HEPI,   8, 
        HFUD,   8, 
        HFPI,   8, 
        LPTM,   8, 
        CM2M,   8, 
        IRMD,   8, 
        FLG0,   8, 
        RTCS,   8
    }

    OperationRegion (NVSR, SystemMemory, ACPR, 0x0100)
    Field (NVSR, AnyAcc, NoLock, Preserve)
    {
        TRTY,   8, 
        SLPT,   8, 
        KPSW,   8, 
        MPSW,   8, 
        TRD0,   8, 
        TRD1,   8, 
        TRD2,   8, 
        TRD3,   8, 
        OSFL,   8, 
        INFB,   8, 
        INFO,   1600
    }

    Method (MIN, 2, NotSerialized)
    {
        If (LLess (Arg0, Arg1))
        {
            Return (Arg0)
        }
        Else
        {
            Return (Arg1)
        }
    }

    Method (SLEN, 1, NotSerialized)
    {
        Return (SizeOf (Arg0))
    }

    Method (S2BF, 1, Serialized)
    {
        Add (SLEN (Arg0), One, Local0)
        Name (BUFF, Buffer (Local0) {})
        Store (Arg0, BUFF)
        Return (BUFF)
    }

    Method (SCMP, 2, NotSerialized)
    {
        Store (S2BF (Arg0), Local0)
        Store (S2BF (Arg1), Local1)
        Store (Zero, Local4)
        Store (SLEN (Arg0), Local5)
        Store (SLEN (Arg1), Local6)
        Store (MIN (Local5, Local6), Local7)
        While (LLess (Local4, Local7))
        {
            Store (DerefOf (Index (Local0, Local4)), Local2)
            Store (DerefOf (Index (Local1, Local4)), Local3)
            If (LGreater (Local2, Local3))
            {
                Return (One)
            }
            Else
            {
                If (LLess (Local2, Local3))
                {
                    Return (Ones)
                }
            }

            Increment (Local4)
        }

        If (LLess (Local4, Local5))
        {
            Return (One)
        }
        Else
        {
            If (LLess (Local4, Local6))
            {
                Return (Ones)
            }
            Else
            {
                Return (Zero)
            }
        }
    }

    OperationRegion (GPSC, SystemIO, 0xE42F, 0x01)
    Field (GPSC, ByteAcc, NoLock, Preserve)
    {
        SMCM,   8
    }

    Method (ISMI, 1, Serialized)
    {
        Store (Arg0, TRTY)
        Store (0xA7, SMCM)
    }

    OperationRegion (\DEBG, SystemIO, 0x80, 0x01)
    Field (\DEBG, ByteAcc, NoLock, Preserve)
    {
        DBG1,   8
    }

    Method (DIAG, 1, NotSerialized)
    {
        Store (Arg0, DBG1)
    }

    Method (SSLP, 1, NotSerialized)
    {
        Store (Arg0, SLPT)
    }

    Scope (\_SI)
    {
        Method (_MSG, 1, NotSerialized)
        {
            If (LEqual (Arg0, Zero))
            {
                ISMI (0x00)
            }
            Else
            {
                ISMI (0x01)
            }
        }
    }

    Mutex (PSMX, 0x00)
    Name (BU00, Buffer (0x08)
    {
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    })
    CreateDWordField (BU00, 0x00, AG88)
    CreateDWordField (BU00, 0x04, AG98)
    Method (\_PTS, 1, NotSerialized)
    {
        SSLP (Arg0)
        Store (\_SB.PCI0.AG88, \AG88)
        Store (\_SB.PCI0.AG98, \AG98)
        Or (Arg0, 0xF0, Local2)
        Store (Local2, TRD0)
        Store (0xAB, SMCM)
        ISMI (0x3E)
        ISMI (0x3D)
    }

    Method (\_WAK, 1, NotSerialized)
    {
        Store (\AG88, \_SB.PCI0.AG88)
        Store (\AG98, \_SB.PCI0.AG98)
        ISMI (0x3C)
        ISMI (0x3F)
        Store (0xFF, TRD0)
        Store (0xAB, SMCM)
        If (LEqual (RTCS, Zero))
        {
            Notify (\_SB.PWRB, 0x02)
        }
    }

    Name (\_S0, Package (0x04)
    {
        0x00, 
        0x00, 
        0x00, 
        0x00
    })
    Name (\_S1, Package (0x04)
    {
        0x07, 
        0x00, 
        0x00, 
        0x00
    })
    Name (\S_3, Package (0x04)
    {
        0x07, 
        0x00, 
        0x00, 
        0x00
    })
    Name (\_S4, Package (0x04)
    {
        0x07, 
        0x00, 
        0x00, 
        0x00
    })
    Name (\_S5, Package (0x04)
    {
        0x07, 
        0x00, 
        0x00, 
        0x00
    })
    Name (\PICF, 0x00)
    Method (_PIC, 1, NotSerialized)
    {
        Store (Arg0, \PICF)
        \_SB.PCI0.PX40.SPIC ()
    }

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

        Device (MEM1)
        {
            Name (_HID, EisaId ("PNP0C01"))
            Method (_CRS, 0, NotSerialized)
            {
                Name (BUF1, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
                    Memory32Fixed (ReadOnly, 0x000F0000, 0x00010000)
                    Memory32Fixed (ReadWrite, 0x00100000, 0x00000000)
                    Memory32Fixed (ReadWrite, 0xFEC00000, 0x00000100)
                    Memory32Fixed (ReadWrite, 0xFEE00000, 0x00001000)
                })
                CreateDWordField (BUF1, 0x20, EMLN)
                Store (MEMS (), EMLN)
                Decrement (EMLN)
                ShiftLeft (EMLN, 0x14, EMLN)
                Return (BUF1)
            }
        }

        Method (MEMS, 0, NotSerialized)
        {
            Return (MMSZ)
        }

        Device (LNKA)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x01)
            Method (_STA, 0, NotSerialized)
            {
                Store (\_SB.PCI0.PX40.PIRA, Local0)
                If (LNot (LEqual (Local0, Zero)))
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Name (_PRS, ResourceTemplate ()
            {
                IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11,12}
            })
            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, \_SB.PCI0.PX40.PIRA)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Name (BUFA, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared) {}
                })
                CreateWordField (BUFA, 0x01, IRA)
                Store (\_SB.PCI0.PX40.PIRA, Local0)
                ShiftLeft (One, Local0, Local1)
                Store (Local1, IRA)
                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)
                }

                Store (Local1, \_SB.PCI0.PX40.PIRA)
            }
        }

        Device (LNKB)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x02)
            Method (_STA, 0, NotSerialized)
            {
                Store (\_SB.PCI0.PX40.PIRB, Local0)
                If (LNot (LEqual (Local0, Zero)))
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Name (_PRS, ResourceTemplate ()
            {
                IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11,12}
            })
            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, \_SB.PCI0.PX40.PIRB)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Name (BUFB, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared) {}
                })
                CreateWordField (BUFB, 0x01, IRB)
                Store (\_SB.PCI0.PX40.PIRB, Local0)
                ShiftLeft (One, Local0, Local1)
                Store (Local1, IRB)
                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)
                }

                Store (Local1, \_SB.PCI0.PX40.PIRB)
            }
        }

        Device (LNKC)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x03)
            Method (_STA, 0, NotSerialized)
            {
                Store (\_SB.PCI0.PX40.PIRC, Local0)
                If (LNot (LEqual (Local0, Zero)))
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Name (_PRS, ResourceTemplate ()
            {
                IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11,12}
            })
            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, \_SB.PCI0.PX40.PIRC)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Name (BUFC, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared) {}
                })
                CreateWordField (BUFC, 0x01, IRC)
                Store (\_SB.PCI0.PX40.PIRC, Local0)
                ShiftLeft (One, Local0, Local1)
                Store (Local1, IRC)
                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)
                }

                Store (Local1, \_SB.PCI0.PX40.PIRC)
            }
        }

        Device (LNKD)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x04)
            Method (_STA, 0, NotSerialized)
            {
                Store (\_SB.PCI0.PX40.PIRD, Local0)
                If (LNot (LEqual (Local0, Zero)))
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Name (_PRS, ResourceTemplate ()
            {
                IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11,12}
            })
            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, \_SB.PCI0.PX40.PIRD)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Name (BUFD, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared) {}
                })
                CreateWordField (BUFD, 0x01, IRD)
                Store (\_SB.PCI0.PX40.PIRD, Local0)
                ShiftLeft (One, Local0, Local1)
                Store (Local1, IRD)
                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)
                }

                Store (Local1, \_SB.PCI0.PX40.PIRD)
            }
        }

        Device (LNKE)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x05)
            Method (_STA, 0, NotSerialized)
            {
                Store (Zero, Local0)
                If (LNot (\_SB.PCI0.PX40.UPT0))
                {
                    Store (One, Local0)
                }

                If (LNot (\_SB.PCI0.PX40.UPT1))
                {
                    Store (One, Local0)
                }

                If (LNot (\_SB.PCI0.PX40.UPT2))
                {
                    Store (One, Local0)
                }

                If (LNot (\_SB.PCI0.PX40.SU20))
                {
                    Store (One, Local0)
                }

                If (Local0)
                {
                    Return (0x0B)
                }

                Return (0x09)
            }

            Name (_PRS, ResourceTemplate ()
            {
                IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11,12}
            })
            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, \_SB.PCI0.USB0.UIRQ)
                Store (Zero, \_SB.PCI0.USB1.UIRQ)
                Store (Zero, \_SB.PCI0.USB2.UIRQ)
                Store (Zero, \_SB.PCI0.SU20.UIRQ)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Name (BUFE, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared) {}
                })
                CreateWordField (BUFE, 0x01, IRE)
                Store (\_SB.PCI0.USB0.UIRQ, Local0)
                ShiftLeft (One, Local0, Local1)
                Store (Local1, IRE)
                Return (BUFE)
            }

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

                Store (Local1, \_SB.PCI0.USB0.UIRQ)
                Store (Local1, \_SB.PCI0.USB1.UIRQ)
                Store (Local1, \_SB.PCI0.USB2.UIRQ)
                Store (Local1, \_SB.PCI0.SU20.UIRQ)
            }
        }

        Device (LNKF)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x06)
            Method (_STA, 0, NotSerialized)
            {
                Store (Zero, Local0)
                If (LNot (\_SB.PCI0.PX40.FNC5))
                {
                    Store (One, Local0)
                }

                If (LNot (\_SB.PCI0.PX40.FNC6))
                {
                    Store (One, Local0)
                }

                If (Local0)
                {
                    Return (0x0B)
                }

                Return (0x09)
            }

            Name (_PRS, ResourceTemplate ()
            {
                IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11,12}
            })
            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, \_SB.PCI0.AC97.PIRF)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Name (BUFF, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared) {}
                })
                CreateWordField (BUFF, 0x01, IRF)
                Store (\_SB.PCI0.AC97.PIRF, Local0)
                ShiftLeft (One, Local0, Local1)
                Store (Local1, IRF)
                Return (BUFF)
            }

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

                Store (Local1, \_SB.PCI0.AC97.PIRF)
            }
        }

        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_ADR, 0x00)
            OperationRegion (TMP0, PCI_Config, 0x80, 0x20)
            Field (TMP0, ByteAcc, NoLock, Preserve)
            {
                AG80,   32, 
                Offset (0x05), 
                Offset (0x06), 
                Offset (0x07), 
                Offset (0x08), 
                AG88,   32, 
                Offset (0x0D), 
                Offset (0x0E), 
                Offset (0x0F), 
                Offset (0x10), 
                AG90,   32, 
                AG94,   32, 
                AG98,   32
            }

            Method (_INI, 0, NotSerialized)
            {
                Store (0x00, OSFL)
                If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                {
                    Store (0x02, OSFL)
                }

                If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                {
                    Store (0x01, OSFL)
                }

                If (LEqual (SCMP (\_OS, "Microsoft WindowsME: Millennium Edition"), Zero))
                {
                    Store (0x03, OSFL)
                }
            }

            Method (_CRS, 0, NotSerialized)
            {
                Name (CRES, ResourceTemplate ()
                {
                    WordBusNumber (ResourceProducer, MinFixed, MaxFixed, 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,
                        0x000C8000,
                        0x000DFFFF,
                        0x00000000,
                        0x00018000)
                    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,
                        0x00100000,
                        0xFEBFFFFF,
                        0x00000000,
                        0xFEB00000)
                })
                CreateDWordField (CRES, 0x76, RAMT)
                CreateDWordField (CRES, 0x82, RAMR)
                Store (MEMS (), RAMT)
                ShiftLeft (RAMT, 0x14, RAMT)
                Subtract (0xFEBFFFFF, RAMT, RAMR)
                Increment (RAMR)
                Return (CRES)
            }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                Package (0x04)
                {
                    0x0011FFFF, 
                    0x02, 
                    \_SB.LNKF, 
                    0x00
                }
            })
            Name (APIC, Package (0x20)
            {
                Package (0x04)
                {
                    0x0007FFFF, 
                    0x00, 
                    0x00, 
                    0x11
                }, 

                Package (0x04)
                {
                    0x0008FFFF, 
                    0x00, 
                    0x00, 
                    0x11
                }, 

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

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

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

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

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

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

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

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

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

                Package (0x04)
                {
                    0x000EFFFF, 
                    0x00, 
                    0x00, 
                    0x11
                }, 

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

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

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

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

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

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

                Package (0x04)
                {
                    0x000FFFFF, 
                    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)
                {
                    0x000AFFFF, 
                    0x00, 
                    0x00, 
                    0x10
                }, 

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

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

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

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

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

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

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

                Package (0x04)
                {
                    0x0011FFFF, 
                    0x02, 
                    0x00, 
                    0x16
                }
            })
            Method (_PRT, 0, NotSerialized)
            {
                If (LNot (\PICF))
                {
                    Return (PICM)
                }
                Else
                {
                    Return (APIC)
                }
            }

            Device (PCI1)
            {
                Name (_ADR, 0x00010000)
                Method (S_3D, 0, NotSerialized)
                {
                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                    {
                        Return (0x03)
                    }

                    If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (0x02)
                    }
                }

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

                Name (PICM, Package (0x02)
                {
                    Package (0x04)
                    {
                        0xFFFF, 
                        0x00, 
                        \_SB.LNKA, 
                        0x00
                    }, 

                    Package (0x04)
                    {
                        0xFFFF, 
                        0x01, 
                        \_SB.LNKB, 
                        0x00
                    }
                })
                Name (APIC, Package (0x02)
                {
                    Package (0x04)
                    {
                        0xFFFF, 
                        0x00, 
                        0x00, 
                        0x10
                    }, 

                    Package (0x04)
                    {
                        0xFFFF, 
                        0x01, 
                        0x00, 
                        0x11
                    }
                })
                Method (_PRT, 0, NotSerialized)
                {
                    If (LNot (\PICF))
                    {
                        Return (PICM)
                    }
                    Else
                    {
                        Return (APIC)
                    }
                }
            }

            Scope (\_SB)
            {
                OperationRegion (PIDE, SystemIO, 0x03F6, 0x01)
                Field (PIDE, ByteAcc, NoLock, Preserve)
                {
                        ,   3, 
                    HMMM,   1, 
                        ,   3, 
                    PBSY,   1
                }
Comment 8 Kuteynikov 2007-10-09 03:51:07 UTC
PART TWO:


                OperationRegion (SIDE, SystemIO, 0x0376, 0x01)
                Field (SIDE, ByteAcc, NoLock, Preserve)
                {
                        ,   3, 
                    RMMM,   1, 
                        ,   3, 
                    SBSY,   1
                }
            }

            Device (IDE0)
            {
                Name (_ADR, 0x00110001)
                Name (PIOT, Package (0x05)
                {
                    0x0258, 
                    0x017C, 
                    0xF0, 
                    0xB4, 
                    0x78
                })
                Name (UDMT, Package (0x07)
                {
                    0x78, 
                    0x50, 
                    0x3C, 
                    0x2D, 
                    0x1E, 
                    0x14, 
                    0x0F
                })
                Method (CVDR, 3, NotSerialized)
                {
                    Name (GTFB, Buffer (0x0E)
                    {
                        0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x03, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
                    })
                    CreateByteField (GTFB, 0x01, MDDM)
                    CreateByteField (GTFB, 0x05, DRDM)
                    CreateByteField (GTFB, 0x08, MDPI)
                    CreateByteField (GTFB, 0x0C, DRPI)
                    If (LNot (LEqual (Arg1, 0x0F)))
                    {
                        Or (Arg1, 0x40, MDDM)
                    }
                    Else
                    {
                        Store (Arg0, Local0)
                        Subtract (Local0, 0x02, Local0)
                        Or (Local0, 0x20, MDDM)
                    }

                    Store (Arg2, DRDM)
                    Or (Arg0, 0x08, MDPI)
                    Store (Arg2, DRPI)
                    Return (GTFB)
                }

                Method (SUDM, 3, NotSerialized)
                {
                    And (Arg2, 0x01, Local0)
                    If (Local0)
                    {
                        Store (0x04, Local0)
                    }
                    Else
                    {
                        Store (0x01, Local0)
                    }

                    And (Arg0, Local0, Local0)
                    If (Local0)
                    {
                        Store (Match (UDMT, MEQ, Arg1, MTR, 0x00, 0x00), Local0)
                        If (LNot (LEqual (Local0, Ones)))
                        {
                            Store (Arg2, TRD0)
                            Store (Local0, TRD1)
                            ISMI (0x08)
                        }
                    }
                    Else
                    {
                        Store (Arg2, TRD0)
                        Store (0xFF, TRD1)
                        ISMI (0x08)
                    }
                }

                Method (GTMC, 4, NotSerialized)
                {
                    Name (BU00, Buffer (0x14)
                    {
                        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                        0x00, 0x00, 0x00, 0x00
                    })
                    CreateDWordField (BU00, 0x00, PIO0)
                    CreateDWordField (BU00, 0x04, DMA0)
                    CreateDWordField (BU00, 0x08, PIO1)
                    CreateDWordField (BU00, 0x0C, DMA1)
                    CreateDWordField (BU00, 0x10, FLAG)
                    Store (0x10, FLAG)
                    If (LNot (LEqual (Arg0, 0x0F)))
                    {
                        Store (DerefOf (Index (PIOT, Arg0)), PIO0)
                        Or (FLAG, 0x02, FLAG)
                    }

                    If (LNot (LEqual (Arg1, 0x0F)))
                    {
                        Store (DerefOf (Index (UDMT, Arg1)), DMA0)
                        Or (FLAG, 0x01, FLAG)
                    }
                    Else
                    {
                        Store (PIO0, DMA0)
                    }

                    If (LNot (LEqual (Arg2, 0x0F)))
                    {
                        Store (DerefOf (Index (PIOT, Arg2)), PIO1)
                        Or (FLAG, 0x08, FLAG)
                    }

                    If (LNot (LEqual (Arg3, 0x0F)))
                    {
                        Store (DerefOf (Index (UDMT, Arg3)), DMA1)
                        Or (FLAG, 0x04, FLAG)
                    }
                    Else
                    {
                        Store (PIO1, DMA1)
                    }

                    Return (BU00)
                }

                Device (CHN0)
                {
                    Name (_ADR, 0x00)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Return (GTMC (HCPI, HCUD, HDPI, HDUD))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        CreateDWordField (Arg0, 0x00, PIO0)
                        CreateDWordField (Arg0, 0x04, DMA0)
                        CreateDWordField (Arg0, 0x08, PIO1)
                        CreateDWordField (Arg0, 0x0C, DMA1)
                        CreateDWordField (Arg0, 0x10, FLAG)
                        SUDM (FLAG, DMA0, 0x00)
                        SUDM (FLAG, DMA1, 0x01)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            While (LOr (LEqual (\_SB.PBSY, 0x01), LEqual (\_SB.HMMM, 0x01)))
                            {
                                Sleep (0x64)
                            }

                            Return (CVDR (HCPI, HCUD, 0xA0))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            While (LOr (LEqual (\_SB.PBSY, 0x01), LEqual (\_SB.HMMM, 0x01)))
                            {
                                Sleep (0x64)
                            }

                            Return (CVDR (HDPI, HDUD, 0xB0))
                        }
                    }
                }

                Device (CHN1)
                {
                    Name (_ADR, 0x01)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Return (GTMC (HEPI, HEUD, HFPI, HFUD))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        CreateDWordField (Arg0, 0x00, PIO0)
                        CreateDWordField (Arg0, 0x04, DMA0)
                        CreateDWordField (Arg0, 0x08, PIO1)
                        CreateDWordField (Arg0, 0x0C, DMA1)
                        CreateDWordField (Arg0, 0x10, FLAG)
                        SUDM (FLAG, DMA0, 0x02)
                        SUDM (FLAG, DMA1, 0x03)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            While (LOr (LEqual (\_SB.SBSY, 0x01), LEqual (\_SB.RMMM, 0x01)))
                            {
                                Sleep (0x64)
                            }

                            Return (CVDR (HEPI, HEUD, 0xA0))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            While (LOr (LEqual (\_SB.SBSY, 0x01), LEqual (\_SB.RMMM, 0x01)))
                            {
                                Sleep (0x64)
                            }

                            Return (CVDR (HFPI, HFUD, 0xB0))
                        }
                    }
                }
            }

            Device (PX40)
            {
                Name (_ADR, 0x00110000)
                OperationRegion (SIRQ, PCI_Config, 0x44, 0x01)
                Field (SIRQ, ByteAcc, NoLock, Preserve)
                {
                    RSCI,   3
                }

                OperationRegion (USBE, PCI_Config, 0x50, 0x02)
                Field (USBE, ByteAcc, NoLock, Preserve)
                {
                    SAUD,   1, 
                    SU20,   1, 
                    UPT2,   1, 
                    SIDE,   1, 
                    UPT0,   1, 
                    UPT1,   1, 
                    FNC5,   1, 
                    FNC6,   1, 
                        ,   4, 
                    SLEN,   1
                }

                OperationRegion (PIRQ, PCI_Config, 0x55, 0x03)
                Field (PIRQ, ByteAcc, NoLock, Preserve)
                {
                        ,   4, 
                    PIRA,   4, 
                    PIRB,   4, 
                    PIRC,   4, 
                        ,   4, 
                    PIRD,   4
                }

                Method (SPIC, 0, NotSerialized)
                {
                }

                Device (SBIO)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x04)
                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, ResourceTemplate ()
                        {
                            IO (Decode16, 0xE400, 0xE400, 0x01, 0x80)
                            IO (Decode16, 0xE800, 0xE800, 0x01, 0x20)
                            Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000)
                            Memory32Fixed (ReadOnly, 0xFFB80000, 0x00080000)
                        })
                        Return (BUF1)
                    }
                }

                Device (SYS1)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x01)
                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0010, 0x0010, 0x00, 0x10)
                            IO (Decode16, 0x0022, 0x0022, 0x00, 0x0C)
                            IO (Decode16, 0x0030, 0x0030, 0x00, 0x10)
                            IO (Decode16, 0x0044, 0x0044, 0x00, 0x1C)
                            IO (Decode16, 0x0062, 0x0062, 0x00, 0x02)
                            IO (Decode16, 0x0065, 0x0065, 0x00, 0x0B)
                            IO (Decode16, 0x0074, 0x0074, 0x00, 0x0C)
                            IO (Decode16, 0x0091, 0x0091, 0x00, 0x03)
                            IO (Decode16, 0x00A2, 0x00A2, 0x00, 0x1E)
                            IO (Decode16, 0x00E0, 0x00E0, 0x00, 0x10)
                            IO (Decode16, 0x04D0, 0x04D0, 0x00, 0x02)
                        })
                        Return (BUF1)
                    }
                }

                Device (SYS3)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x02)
                    Method (_STA, 0, NotSerialized)
                    {
                        And (NPS2, 0x10, Local0)
                        And (NPS2, 0x08, Local1)
                        If (LEqual (Local1, 0x08))
                        {
                            If (LEqual (Local0, 0x10))
                            {
                                Return (0x0F)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }
                        Else
                        {
                            And (FLG0, 0x04, Local1)
                            If (LEqual (Local1, 0x04))
                            {
                                Return (0x00)
                            }
                            Else
                            {
                                If (LEqual (Local0, 0x10))
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    Return (0x00)
                                }
                            }
                        }
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, ResourceTemplate ()
                        {
                            IRQ (Edge, ActiveHigh, Exclusive) {12}
                        })
                        Return (BUF1)
                    }
                }

                Device (PSMR)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x06)
                    Method (_STA, 0, NotSerialized)
                    {
                        And (NPS2, 0x01, Local0)
                        And (NPS2, 0x08, Local1)
                        If (LEqual (Local0, Zero))
                        {
                            Return (0x00)
                        }
                        Else
                        {
                            If (LEqual (Local1, 0x00))
                            {
                                If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                                    {
                                        Return (0x00)
                                    }
                                    Else
                                    {
                                        Return (0x0F)
                                    }
                                }
                            }
                            Else
                            {
                                Return (0x0F)
                            }
                        }
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
                            IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
                        })
                        Return (BUF1)
                    }
                }

                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, 0x01, 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}
                    })
                }

                Device (FDC0)
                {
                    Name (_HID, EisaId ("PNP0700"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x0A)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x0B)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
                            IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
                            IRQ (Edge, ActiveHigh, Exclusive) {6}
                            DMA (Compatibility, NotBusMaster, Transfer8) {2}
                        })
                        Return (BUF0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
                        IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
                        IRQ (Edge, ActiveHigh, Exclusive) {6}
                        DMA (Compatibility, NotBusMaster, Transfer8) {2}
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x0E)
                        Release (PSMX)
                    }
                }

                Device (LPT)
                {
                    Name (_HID, EisaId ("PNP0400"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x0F)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x10)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0378, 0x0378, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {7}
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x11)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0378, 0x0378, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {5,7}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0278, 0x0278, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {5,7}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03BC, 0x03BC, 0x00, 0x04)
                            IRQ (Edge, ActiveHigh, Exclusive) {5,7}
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x13)
                        Release (PSMX)
                    }
                }

                Device (ECP)
                {
                    Name (_HID, EisaId ("PNP0401"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x14)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x10)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0378, 0x0378, 0x00, 0x08)
                            IO (Decode16, 0x0778, 0x0778, 0x00, 0x04)
                            IRQ (Edge, ActiveHigh, Exclusive) {7}
                            DMA (Compatibility, NotBusMaster, Transfer8) {1}
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x16)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0378, 0x0378, 0x00, 0x08)
                            IO (Decode16, 0x0778, 0x0778, 0x00, 0x04)
                            IRQ (Edge, ActiveHigh, Exclusive) {5,7}
                            DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0278, 0x0278, 0x00, 0x08)
                            IO (Decode16, 0x0678, 0x0678, 0x00, 0x04)
                            IRQ (Edge, ActiveHigh, Exclusive) {5,7}
                            DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03BC, 0x03BC, 0x00, 0x04)
                            IO (Decode16, 0x07BC, 0x07BC, 0x00, 0x04)
                            IRQ (Edge, ActiveHigh, Exclusive) {5,7}
                            DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x18)
                        Release (PSMX)
                    }
                }

                Device (UAR1)
                {
                    Name (_HID, EisaId ("PNP0501"))
                    Name (_UID, 0x01)
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x19)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x1A)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x1B)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {3}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03E8, 0x03E8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x02E8, 0x02E8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {10}
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x1D)
                        Release (PSMX)
                    }
                }

                Device (UAR2)
                {
                    Name (_HID, EisaId ("PNP0501"))
                    Name (_UID, 0x02)
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x1E)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x1F)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {3}
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x20)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {3}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03E8, 0x03E8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x02E8, 0x02E8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {10}
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x22)
                        Release (PSMX)
                    }
                }

                Device (IRDA)
                {
                    Name (_HID, EisaId ("PNP0510"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x23)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x24)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {3}
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x25)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {3}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03E8, 0x03E8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x02E8, 0x02E8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {10}
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x27)
                        Release (PSMX)
                    }
                }

                Device (PS2K)
                {
                    Name (_HID, EisaId ("PNP0303"))
                    Name (_CID, 0x0B03D041)
                    Method (_STA, 0, NotSerialized)
                    {
                        And (NPS2, 0x01, Local0)
                        If (LEqual (Local0, 0x01))
                        {
                            Return (0x00)
                        }
                        Else
                        {
                            Return (0x0F)
                        }
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
                            IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
                            IRQ (Edge, ActiveHigh, Exclusive) {1}
                        })
                        Return (BUF0)
                    }
                }

                Device (PS2M)
                {
                    Name (_HID, EisaId ("PNP0F03"))
                    Name (_CID, 0x130FD041)
                    Method (_STA, 0, NotSerialized)
                    {
                        And (NPS2, 0x08, Local0)
                        If (LEqual (Local0, 0x08))
                        {
                            Return (0x00)
                        }

                        And (FLG0, 0x04, Local1)
                        If (LEqual (Local1, 0x04))
                        {
                            Return (0x0F)
                        }
                        Else
                        {
                            Return (0x00)
                        }
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
                            IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
                            IRQ (Edge, ActiveHigh, Exclusive) {12}
                        })
                        Name (BUF2, ResourceTemplate ()
                        {
                            IRQ (Edge, ActiveHigh, Exclusive) {12}
                        })
                        And (NPS2, 0x01, Local0)
                        If (LEqual (Local0, 0x01))
                        {
                            If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                            {
                                Return (BUF2)
                            }
                            Else
                            {
                                If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                                {
                                    Return (BUF1)
                                }
                                Else
                                {
                                    Return (BUF2)
                                }
                            }
                        }
                        Else
                        {
                            Return (BUF2)
                        }
                    }
                }

                Device (MIDI)
                {
                    Name (_HID, EisaId ("PNPB006"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x28)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x29)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0300, 0x0300, 0x00, 0x02)
                            IRQ (Edge, ActiveHigh, Exclusive) {5}
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x2A)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0330, 0x0330, 0x00, 0x02)
                            IRQ (Edge, ActiveHigh, Exclusive) {3,4,5,7,10,12}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0300, 0x0300, 0x00, 0x02)
                            IRQ (Edge, ActiveHigh, Exclusive) {3,4,5,7,10,12}
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x2C)
                        Release (PSMX)
                    }
                }

                Device (GAME)
                {
                    Name (_HID, EisaId ("PNPB02F"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x2D)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x2E)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0208, 0x0208, 0x00, 0x08)
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x2F)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0208, 0x0208, 0x00, 0x08)
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0200, 0x0200, 0x00, 0x08)
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x31)
                        Release (PSMX)
                    }
                }

                Device (SYS2)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x03)
                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, ResourceTemplate ()
                        {
                            IO (Decode16, 0x002E, 0x002E, 0x00, 0x02)
                            IO (Decode16, 0x0290, 0x0290, 0x00, 0x02)
                            IO (Decode16, 0x0370, 0x0370, 0x00, 0x03)
                        })
                        Return (BUF1)
                    }
                }
            }

            Device (USB0)
            {
                Name (_ADR, 0x00100000)
                OperationRegion (PIRQ, PCI_Config, 0x3C, 0x01)
                Field (PIRQ, ByteAcc, NoLock, Preserve)
                {
                    UIRQ,   4
                }

                Method (S_3D, 0, NotSerialized)
                {
                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                    {
                        Return (0x03)
                    }

                    If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (0x02)
                    }
                }

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

            Device (USB1)
            {
                Name (_ADR, 0x00100001)
                OperationRegion (PIRQ, PCI_Config, 0x3C, 0x01)
                Field (PIRQ, ByteAcc, NoLock, Preserve)
                {
                    UIRQ,   4
                }

                Method (S_3D, 0, NotSerialized)
                {
                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                    {
                        Return (0x03)
                    }

                    If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (0x02)
                    }
                }

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

            Device (USB2)
            {
                Name (_ADR, 0x00100002)
                OperationRegion (PIRQ, PCI_Config, 0x3C, 0x01)
                Field (PIRQ, ByteAcc, NoLock, Preserve)
                {
                    UIRQ,   4
                }

                Method (S_3D, 0, NotSerialized)
                {
                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                    {
                        Return (0x03)
                    }

                    If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (0x02)
                    }
                }

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

            Device (SU20)
            {
                Name (_ADR, 0x00100003)
                OperationRegion (PIRQ, PCI_Config, 0x3C, 0x01)
                Field (PIRQ, ByteAcc, NoLock, Preserve)
                {
                    UIRQ,   4
                }

                Method (S_3D, 0, NotSerialized)
                {
                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                    {
                        Return (0x03)
                    }

                    If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (0x02)
                    }
                }

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

            Device (AC97)
            {
                Name (_ADR, 0x00110005)
                OperationRegion (AIRQ, PCI_Config, 0x3C, 0x01)
                Field (AIRQ, ByteAcc, NoLock, Preserve)
                {
                    PIRF,   4
                }
            }

            Device (MC97)
            {
                Name (_ADR, 0x00110006)
                Method (S_3D, 0, NotSerialized)
                {
                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                    {
                        Return (0x03)
                    }

                    If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (0x02)
                    }
                }
            }

            Method (S_3D, 0, NotSerialized)
            {
                If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                {
                    Return (0x03)
                }

                If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                {
                    Return (0x03)
                }
                Else
                {
                    Return (0x02)
                }
            }

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

            Device (LAN)
            {
                Name (_ADR, 0x00090000)
                Method (S_3D, 0, NotSerialized)
                {
                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                    {
                        Return (0x03)
                    }

                    If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (0x02)
                    }
                }

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

    Scope (\_GPE)
    {
        Method (_L0E, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB0, 0x02)
            Notify (\_SB.PCI0.USB1, 0x02)
        }

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

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

Comment 9 Fu Michael 2007-11-12 17:29:27 UTC
Kuteynikov, Do you still have this issue on the latest kernel? I see some others use the same mobo reported bugs, but their system are at least working.

BTW, please use attachement in the future to provide dmesg or other log file, otherwise the bug comments were made less readable... thanks.
Comment 10 Kuteynikov 2007-11-13 01:07:11 UTC
It seams that new 2.6.22 kernel works better. It (LiveCD) didn't hang yet but it probably can in the future. I think I'll install some of new Linux distributions on my hard drive and watch more closely on it's behavior.
Comment 11 Fu Michael 2007-12-09 21:25:54 UTC
I'll mark this bug as unproducible now according to comment# 10. if it still exist, please reopen then. thanks.

Note You need to log in before you can comment on or make changes to this bug.