misc/56372: acpi don't work on TYAN tiger100 M/B

Masaru Oenoki & enokion at yahoo.co.jp
Wed Sep 3 07:50:24 PDT 2003


>Number:         56372
>Category:       misc
>Synopsis:       acpi don't work on TYAN tiger100 M/B
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 03 07:50:18 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Masaru Oenoki & <enokion at yahoo.co.jp>
>Release:        FreeBSD 5.1-RELEASE i386
>Organization:
n/a
>Environment:
System: FreeBSD leliel.enoki.jp 5.1-RELEASE FreeBSD 5.1-RELEASE #1: Thu Aug 7 22:28:01 JST 2003 enoki at leliel.enoki.jp:/usr/src/sys/i386/compile/LELIEL i386
Motherboad: Tyan Tiger100
BIOS Version: 2.00.05(latest)
CPU: PentiumIII 500Mhz x 2(SMP)

>Description:
 AE_AML_REGION_LIMIT error occured and ACPI function do not work
correctly.
-------- dmesg -------------
ACPI_DEBUG: set 'ACPI_ALL_COMPONENTS'
ACPI_DEBUG: set 'ACPI_BUS'
ACPI_DEBUG: set 'ACPI_LV_WARN'
ACPI_DEBUG: set 'ACPI_LV_ERROR'
ACPI_DEBUG: set 'ACPI_LV_OBJECTS'
ACPI debug layer 0x13fff  debug level 0x8003
Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD 5.1-RELEASE #1: Thu Aug  7 22:28:01 JST 2003
    enoki at leliel.enoki.jp:/usr/src/sys/i386/compile/LELIEL
Preloaded elf kernel "/boot/kernel/kernel" at 0xc046e000.
Preloaded acpi_dsdt "/boot/acpi_dsdt.aml" at 0xc046e244.
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 501138182 Hz
CPU: Pentium III/Pentium III Xeon/Celeron (501.14-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x673  Stepping = 3
  Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CM
OV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 268304384 (255 MB)
avail memory = 255741952 (243 MB)
Programming 24 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): apic id:  0, version: 0x00040011, at 0xfee00000
 cpu1 (AP):  apic id:  1, version: 0x00040011, at 0xfee00000
 io0 (APIC): apic id:  2, version: 0x00170011, at 0xfec00000
Pentium Pro MTRR support enabled
ACPI: DSDT was overridden.
   tbget-0375: *** Info: Table [DSDT] replaced by host OS
acpi0: <OEMTYN OEMTYNTB> on motherboard
pcibios: BIOS version 2.10
acpi0: power button is handled as a fixed feature programming model.
    ACPI-0803 [03] acpi_probe_children   : device identify routines
Timecounter "ACPI-safe"  frequency 3579545 Hz
    ACPI-0815 [03] acpi_probe_children   : namespace scan
    ACPI-0867 [06] acpi_probe_child      : scanning '\\_PR_.CPU1'
acpi_cpu0: <CPU> on acpi0
    ACPI-0867 [06] acpi_probe_child      : scanning '\\_PR_.CPU2'
acpi_cpu1: <CPU> on acpi0
    ACPI-0867 [06] acpi_probe_child      : scanning '\\_SB_.PCI0'
 exfldio-0210 [25] ExSetupRegion         : Field [MDEC] access width (1 bytes) t
oo large for region [BAR2] (length 0)
 exfldio-0221 [25] ExSetupRegion         : Field [MDEC] Base+Offset+Width 0+0+1 
is beyond end of region [BAR2] (length 0)
 dswexec-0523 [17] DsExecEndOp           : [Store]: Could not resolve operands, 
AE_AML_REGION_LIMIT
 psparse-1287: *** Error: Method execution failed [\\MEMR] (Node 0xc25bfc28), AE
_AML_REGION_LIMIT
 psparse-1287: *** Error: Method execution failed [\\_SB_.PCI0._CRS] (Node 0xc25
b67a8), AE_AML_REGION_LIMIT
  uteval-0226: *** Error: Return object type is incorrect [\\_SB_.PCI0._CRS] (No
de 0xc25b67a8), AE_TYPE
  uteval-0230 [10] UtEvaluateObject      : Type returned from _CRS was incorrect
: 1
can't fetch resources for \\_SB_.PCI0 - AE_TYPE
pcib0: <ACPI Host-PCI bridge> on acpi0
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
rdwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - 
hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry
 - AE_BAD_PARAMETER
pci0: <ACPI PCI bus> on pcib0
IOAPIC #0 intpin 19 -> irq 2
IOAPIC #0 intpin 16 -> irq 9
IOAPIC #0 intpin 17 -> irq 10
agp0: <Intel 82443BX (440 BX) host to PCI bridge> mem 0xf8000000-0xfbffffff at d
evice 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 UDMA33 controller> port 0xffa0-0xffaf at device 7.1 on pci
0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xef80-0xef9f irq 2 at dev
ice 7.2 on pci0
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
piix0 port 0x440-0x44f at device 7.3 on pci0
Timecounter "PIIX"  frequency 3579545 Hz
pci0: <display, VGA> at device 16.0 (no driver attached)
atapci1: <Promise PDC20262 UDMA66 controller> port 0xef00-0xef3f,0xefe0-0xefe3,0
xefa8-0xefaf,0xefe4-0xefe7,0xeff0-0xeff7 mem 0xfebc0000-0xfebdffff irq 10 at dev
ice 17.0 on pci0
ata2: at 0xeff0 on atapci1
ata3: at 0xefa8 on atapci1
xl0: <3Com 3c905-TX Fast Etherlink XL> port 0xee80-0xeebf irq 9 at device 20.0 o
n pci0
xl0: Ethernet address: 00:10:5a:07:dd:4a
miibus0: <MII bus> on xl0
nsphy0: <DP83840 10/100 media interface> on miibus0
nsphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.SYSR'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.PIC_'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.DMAD'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.TMR_'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.RTC_'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.SPKR'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.COPR'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.PS2M'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.PS2K'
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.FDC0'
fdc0: cmd 3 failed at out byte 1 of 3
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.UAR1'
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.UAR2'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.LPT_'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.SBRG.ECP_'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.PMU_'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.PCI0.USB0'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.LNKA'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.LNKB'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.LNKC'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.LNKD'
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.MEM_'
 exfldio-0210 [27] ExSetupRegion         : Field [MDEC] access width (1 bytes) t
oo large for region [BAR2] (length 0)
 exfldio-0221 [27] ExSetupRegion         : Field [MDEC] Base+Offset+Width 0+0+1 
is beyond end of region [BAR2] (length 0)
 dswexec-0523 [19] DsExecEndOp           : [Store]: Could not resolve operands, 
AE_AML_REGION_LIMIT
 psparse-1287: *** Error: Method execution failed [\\MEMR] (Node 0xc25bfc28), AE
_AML_REGION_LIMIT
 psparse-1287: *** Error: Method execution failed [\\_SB_.MEM_._CRS] (Node 0xc25
b89a8), AE_AML_REGION_LIMIT
  uteval-0175: *** Error: Method execution failed [\\_SB_.MEM_._CRS] (Node 0xc25
b89a8), AE_AML_REGION_LIMIT
can't fetch resources for \\_SB_.MEM_ - AE_AML_REGION_LIMIT
    ACPI-0867 [08] acpi_probe_child      : scanning '\\_SB_.SLPB'
acpi_button0: <Sleep Button> on acpi0
    ACPI-0823 [05] acpi_probe_children   : first bus_generic_attach
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
fdc0: cmd 3 failed at out byte 1 of 3
    ACPI-0830 [05] acpi_probe_children   : second bus_generic_attach
fdc0: cmd 3 failed at out byte 1 of 3
    ACPI-0833 [05] acpi_probe_children   : done attaching children
npx0: <math processor> on motherboard
npx0: INT 16 interface
orm0: <Option ROMs> at iomem 0xc8000-0xcffff,0xc0000-0xc7fff on isa0
pmtimer0 on isa0
fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> at port 0x3f7,0x3f
0-0x3f5 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: routing 8254 via IOAPIC #0 intpin 2
Timecounters tick every 10.000 msec
acpi_cpu0: set speed to 100.0%
acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0%
ad4: 12949MB <IBM-DJNA-371350> [26310/16/63] at ata2-master UDMA66
ad5: 12949MB <IBM-DJNA-371350> [26310/16/63] at ata2-slave UDMA66
acd0: CDROM <CD-ROM CDU311> at ata0-master PIO3
ar0: 12949MB <ATA RAID1 array> [1650/255/63] status: READY subdisks:
 disk0 READY on ad4 at ata2-master
 disk1 READY on ad5 at ata2-slave
SMP: AP CPU #1 Launched!
Opened disk ad4 -> 1
Opened disk ad5 -> 1
Opened disk ad5 -> 1
Mounting root from ufs:/dev/ar0s1a

-------- acpidump --------------------------------
/*
RSD PTR: Checksum=156, OEMID=AMI, RsdtAddress=0x0fff0000
 */
/*
RSDT: Length=44, Revision=1, Checksum=251,
        OEMID=OEMTYN, OEM Table ID=OEMTYNTB, OEM Revision=0x9,
        Creator ID=AMI, Creator Revision=0x1
 */
/*
        Entries={ 0x0fff1000, 0x0fff2000 }
 */
/*
        DSDT=0xffe0000
        INT_MODEL=APIC
        SCI_INT=9
        SMI_CMD=0xb2, ACPI_ENABLE=0xe1, ACPI_DISABLE=0x1e, S4BIOS_REQ=0x0
        PM1a_EVT_BLK=0x400-0x403
        PM1a_CNT_BLK=0x404-0x405
        PM2_TMR_BLK=0x408-0x40b
        PM2_GPE0_BLK=0x40c-0x40f
        P_LVL2_LAT=101ms, P_LVL3_LAT=1001ms
        FLUSH_SIZE=1024, FLUSH_STRIDE=16
        DUTY_OFFSET=1, DUTY_WIDTH=3
        DAY_ALRM=13, MON_ALRM=0, CENTURY=0
        Flags={WBINVD,SLP_BUTTON}
 */
/*
DSDT: Length=7763, Revision=1, Checksum=123,
        OEMID=OEMTYN, OEM Table ID=OEMTYNTB, OEM Revision=0x12,
        Creator ID=MSFT, Creator Revision=0x100000c
 */
DefinitionBlock (
    "acpi_dsdt.aml",    //Output filename
    "DSDT",             //Signature
    0x1,                //DSDT Revision
    "OEMTYN",           //OEMID
    "OEMTYNTB",         //TABLE ID
    0x12                //OEM Revision
)

{
Scope(\_PR_) {
    Processor(CPU1, 1, 0x410, 0x6) {
    }
    Processor(CPU2, 2, 0x410, 0x6) {
    }
}
Name(\_S0_, Package(0x4) {
    0x5,
    0x5,
    0x0,
    0x0,
})
Name(\_S1_, Package(0x4) {
    0x4,
    0x4,
    0x0,
    0x0,
})
Name(\_S5_, Package(0x4) {
    0x0,
    0x0,
    0x0,
    0x0,
})
Name(PICM, 0x0)
Method(\_PIC, 1) {
    Store(Arg0, PICM)
}
Name(OSFL, 0x1)
Method(MCTH, 2) {
    If(LLess(SizeOf(Arg0), SizeOf(Arg1))) {
        Return(0x0)
    }
    Add(SizeOf(Arg0), 0x1, Local0)
    Name(BUF0, Buffer(Local0) { })
    Name(BUF1, Buffer(Local0) { })
    Store(Arg0, BUF0)
    Store(Arg1, BUF1)
    While(Local0) {
        Decrement(Local0)
        If(LEqual(DerefOf(Index(BUF0, Local0, )), DerefOf(Index(BUF1, Local0, ))
)) {
        }
        Else {
            Return(Zero)
        }
    }
    Return(One)
}
Method(PMBR) {
    Or(ShiftLeft(0x4, 0x8, ), 0x0, Local0)
    Return(Local0)
}
Name(PMBL, 0x40)
Method(SMBR) {
    Or(ShiftLeft(0x4, 0x8, ), 0x40, Local0)
    Return(Local0)
}
Name(SMBL, 0x10)
Name(RMEM, 0x0)
Name(APCM, 0x0)
Scope(\_SB_) {
    Device(PCI0) {
        Name(_HID, 0x030ad041)
        Name(_ADR, 0x0)
        Name(_BBN, 0x0)
        Name(FLAG, 0x1)
        Method(_INI) {
            If(MCTH(\_OS_, "Microsoft Windows NT")) {
                Store(0x0, OSFL)
            }
        }
        Method(_REG, 2) {
            If(LEqual(Arg0, 0x2)) {
                Store(Arg1, FLAG)
            }
        }
        Name(CRS_, Buffer(0x88) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 0x0, 0
x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x
88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc,
 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0
xf3, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xf
f, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0,
 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x
0, 0x0, 0x0, 0x0, 0x20, 0xff, 0xff, 0xdf, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x
e0, 0xdf, 0x79, 0x0 })
        OperationRegion(TMEM, PCI_Config, 0x67, 0x1)
        Field(TMEM, ByteAcc, NoLock, Preserve) {
            MEMT,       8
        }
        OperationRegion(PMCR, PCI_Config, 0x7a, 0x1)
        Field(PMCR, ByteAcc, NoLock, Preserve) {
            PCIR,       1
        }
        Name(TOM_, 0x0)
        Method(MDET) {
            If(TOM_) {
            }
            Else {
                If(FLAG) {
                    ShiftLeft(MEMT, 0x17, TOM_)
                }
                Else {
                    Return(0x20000000)
                }
            }
            Return(TOM_)
        }
        OperationRegion(PAMX, PCI_Config, 0x59, 0x7)
        Field(PAMX, ByteAcc, NoLock, Preserve) {
            ,   4,
            BSEG,       4,
            PAMS,       48
        }
        Name(ERNG, Package(0xd) {
            0x000c0000,
            0x000c4000,
            0x000c8000,
            0x000cc000,
            0x000d0000,
            0x000d4000,
            0x000d8000,
            0x000dc000,
            0x000e0000,
            0x000e4000,
            0x000e8000,
            0x000ec000,
            0x000f0000,
        })
        Name(PAMB, Buffer(0x7) { })
        Method(EROM) {
            CreateDWordField(CRS_, 0x5c, RMIN)
            CreateDWordField(CRS_, 0x60, RMAX)
            CreateDWordField(CRS_, 0x68, RLEN)
            CreateByteField(PAMB, 0x6, BREG)
            Store(PAMS, PAMB)
            Store(BSEG, BREG)
            Store(0x0, RMIN)
            Store(0x0, RMAX)
            Store(0x0, RLEN)
            Store(0x0, Local0)
            While(LLess(Local0, 0xd)) {
                ShiftRight(Local0, 0x1, Local1)
                Store(DerefOf(Index(PAMB, Local1, )), Local2)
                If(And(Local0, 0x1, )) {
                    ShiftRight(Local2, 0x4, Local2)
                }
                And(Local2, 0x3, Local2)
                If(RMIN) {
                    If(Local2) {
                        Return(0x0)
                    }
                    Else {
                        Add(DerefOf(Index(ERNG, Local0, )), 0x3fff, RMAX)
                        If(LEqual(RMAX, 0x000f3fff)) {
                            Store(0x000fffff, RMAX)
                        }
                        Subtract(RMAX, RMIN, RLEN)
                        Increment(RLEN)
                    }
                }
                Else {
                    If(Local2) {
                    }
                    Else {
                        Store(DerefOf(Index(ERNG, Local0, )), RMIN)
                    }
                }
                Increment(Local0)
            }
        }
        Method(TFCS) {
            Subtract(MDET(), 0x7fc0, Local0)
            Return(Local0)
        }
        Method(_CRS) {
            CreateDWordField(CRS_, 0x76, TMEM)
            CreateDWordField(CRS_, 0x7a, AMEM)
            CreateDWordField(CRS_, 0x82, TLEN)
            EROM()
            Store(MDET(), TMEM)
            Subtract(MEMR(), 0x1, AMEM)
            Subtract(MEMR(), TMEM, TLEN)
            Return(CRS_)
        }
        Method(_PRT) {
            If(PICM) {
                Return(PIC1)
            }
            Return(PIC0)
        }
        Name(PIC0, Package(0x17) {
            Package(0x4) {
                0x0001ffff,
                0x0,
                LNKA,
                0x0,
            },
            Package(0x4) {
                0x0001ffff,
                0x1,
                LNKB,
                0x0,
            },
            Package(0x4) {
                0x0007ffff,
                0x3,
                LNKD,
                0x0,
            },
            Package(0x4) {
                0x0010ffff,
                0x0,
                LNKA,
                0x0,
            },
            Package(0x4) {
                0x0010ffff,
                0x1,
                LNKB,
                0x0,
            },
            Package(0x4) {
                0x0010ffff,
                0x2,
                LNKC,
                0x0,
            },
            Package(0x4) {
                0x0010ffff,
                0x3,
                LNKD,
                0x0,
            },
            Package(0x4) {
                0x0011ffff,
                0x0,
                LNKB,
                0x0,
            },
            Package(0x4) {
                0x0011ffff,
                0x1,
                LNKC,
                0x0,
            },
            Package(0x4) {
                0x0011ffff,
                0x2,
                LNKD,
                0x0,
            },
            Package(0x4) {
                0x0011ffff,
                0x3,
                LNKA,
                0x0,
            },
            Package(0x4) {
                0x0012ffff,
                0x0,
                LNKC,
                0x0,
            },
            Package(0x4) {
                0x0012ffff,
                0x1,
                LNKD,
                0x0,
            },
            Package(0x4) {
                0x0012ffff,
                0x2,
                LNKA,
                0x0,
            },
            Package(0x4) {
                0x0012ffff,
                0x3,
                LNKB,
                0x0,
            },
            Package(0x4) {
                0x0013ffff,
                0x0,
                LNKD,
                0x0,
            },
            Package(0x4) {
                0x0013ffff,
                0x1,
                LNKA,
                0x0,
            },
            Package(0x4) {
                0x0013ffff,
                0x2,
                LNKB,
                0x0,
            },
            Package(0x4) {
                0x0013ffff,
                0x3,
                LNKC,
                0x0,
            },
            Package(0x4) {
                0x0014ffff,
                0x0,
                LNKA,
                0x0,
            },
            Package(0x4) {
                0x0014ffff,
                0x1,
                LNKB,
                0x0,
            },
            Package(0x4) {
                0x0014ffff,
                0x2,
                LNKC,
                0x0,
            },
            Package(0x4) {
                0x0014ffff,
                0x3,
                LNKD,
                0x0,
            },
        })
        Name(PIC1, Package(0x17) {
            Package(0x4) {
                0x0001ffff,
                0x0,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0001ffff,
                0x1,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0007ffff,
                0x3,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x0010ffff,
                0x0,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0010ffff,
                0x1,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0010ffff,
                0x2,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0010ffff,
                0x3,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x0011ffff,
                0x0,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0011ffff,
                0x1,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0011ffff,
                0x2,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x0011ffff,
                0x3,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0012ffff,
                0x0,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0012ffff,
                0x1,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x0012ffff,
                0x2,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0012ffff,
                0x3,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0013ffff,
                0x0,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x0013ffff,
                0x1,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0013ffff,
                0x2,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0013ffff,
                0x3,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0014ffff,
                0x0,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0014ffff,
                0x1,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0014ffff,
                0x2,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0014ffff,
                0x3,
                0x0,
                0x13,
            },
        })
        Device(SBRG) {
            Name(_ADR, 0x00070000)
            Method(_INI) {
                IODT()
            }
            Name(_PR0, Package(0x1) {
                GFAN,
            })
            Name(\_SB_.IPRS, Buffer(0x8) {0x30, 0x23, 0xf8, 0xde, 0x18, 0x38, 0x
79, 0x0 })
            OperationRegion(PIX0, PCI_Config, 0x60, 0x4)
            Scope(\_SB_) {
                Field(\_SB_.PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve) {
                    PIRA,       8,
                    PIRB,       8,
                    PIRC,       8,
                    PIRD,       8
                }
                Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x80, 0x18, 0x79, 0x0 })
                CreateWordField(BUFA, 0x1, IRA0)
                Device(LNKA) {
                    Name(_HID, 0x0f0cd041)
                    Name(_UID, 0x1)
                    Method(_STA) {
                        And(PIRA, 0x80, Local0)
                        If(Local0) {
                            Return(0x9)
                        }
                        Else {
                            Return(0xb)
                        }
                    }
                    Method(_PRS) {
                        Return(IPRS)
                    }
                    Method(_DIS) {
                        Or(PIRA, 0x80, PIRA)
                    }
                    Method(_CRS) {
                        And(PIRA, 0xf, Local0)
                        ShiftLeft(0x1, Local0, IRA0)
                        Return(BUFA)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Subtract(Local0, 0x1, PIRA)
                    }
                }
                Device(LNKB) {
                    Name(_HID, 0x0f0cd041)
                    Name(_UID, 0x2)
                    Method(_STA) {
                        And(PIRB, 0x80, Local0)
                        If(Local0) {
                            Return(0x9)
                        }
                        Else {
                            Return(0xb)
                        }
                    }
                    Method(_PRS) {
                        Return(IPRS)
                    }
                    Method(_DIS) {
                        Or(PIRB, 0x80, PIRB)
                    }
                    Method(_CRS) {
                        And(PIRB, 0xf, Local0)
                        ShiftLeft(0x1, Local0, IRA0)
                        Return(BUFA)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Subtract(Local0, 0x1, PIRB)
                    }
                }
                Device(LNKC) {
                    Name(_HID, 0x0f0cd041)
                    Name(_UID, 0x3)
                    Method(_STA) {
                        And(PIRC, 0x80, Local0)
                        If(Local0) {
                            Return(0x9)
                        }
                        Else {
                            Return(0xb)
                        }
                    }
                    Method(_PRS) {
                        Return(IPRS)
                    }
                    Method(_DIS) {
                        Or(PIRC, 0x80, PIRC)
                    }
                    Method(_CRS) {
                        And(PIRC, 0xf, Local0)
                        ShiftLeft(0x1, Local0, IRA0)
                        Return(BUFA)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Subtract(Local0, 0x1, PIRC)
                    }
                }
                Device(LNKD) {
                    Name(_HID, 0x0f0cd041)
                    Name(_UID, 0x4)
                    Method(_STA) {
                        And(PIRD, 0x80, Local0)
                        If(Local0) {
                            Return(0x9)
                        }
                        Else {
                            Return(0xb)
                        }
                    }
                    Method(_PRS) {
                        Return(IPRS)
                    }
                    Method(_DIS) {
                        Or(PIRD, 0x80, PIRD)
                    }
                    Method(_CRS) {
                        And(PIRD, 0xf, Local0)
                        ShiftLeft(0x1, Local0, IRA0)
                        Return(BUFA)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Subtract(Local0, 0x1, PIRD)
                    }
                }
            }
            Device(SYSR) {
                Name(_HID, 0x020cd041)
                Method(_STA) {
                    If(OSFL) {
                        Return(0xf)
                    }
                    Return(0x0)
                }
                Name(IORG, Buffer(0x5e) {0x4b, 0x10, 0x0, 0x10, 0x4b, 0x22, 0x0,
 0x1e, 0x4b, 0x44, 0x0, 0x1c, 0x4b, 0x62, 0x0, 0x2, 0x4b, 0x65, 0x0, 0xb, 0x4b, 
0x72, 0x0, 0xe, 0x4b, 0x80, 0x0, 0x1, 0x4b, 0x84, 0x0, 0x3, 0x4b, 0x88, 0x0, 0x1
, 0x4b, 0x8c, 0x0, 0x3, 0x4b, 0x90, 0x0, 0x10, 0x4b, 0xa2, 0x0, 0x1e, 0x4b, 0xe0
, 0x0, 0x10, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x0, 0x2, 0x47, 0x1, 0x0, 0x0, 0x0
, 0x0, 0x0, 0x0, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x1, 0x90, 0x2, 
0x90, 0x2, 0x0, 0x8, 0x47, 0x1, 0x98, 0x3, 0x98, 0x3, 0x0, 0x2, 0x79, 0x0 })
                Method(_CRS) {
                    CreateWordField(IORG, 0x3e, PM00)
                    CreateWordField(IORG, 0x40, PM01)
                    CreateByteField(IORG, 0x43, PMLN)
                    Store(PMBS(), PM00)
                    Store(PM00, PM01)
                    If(PM00) {
                        Store(PMBL, PMLN)
                    }
                    If(SMBS()) {
                        CreateWordField(IORG, 0x46, SM00)
                        CreateWordField(IORG, 0x48, SM01)
                        CreateByteField(IORG, 0x4b, SMLN)
                        Store(SMBS(), SM00)
                        Store(SM00, SM01)
                        If(SM00) {
                            Store(SMBL, SMLN)
                        }
                    }
                    Return(IORG)
                }
            }
            Device(\_SB_.MEM_) {
                Name(_HID, 0x010cd041)
                Name(MEM1, Buffer(0x4a) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0
, 0x0, 0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x2, 0x
0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0,
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0
, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x
0, 0x0, 0x79, 0x0 })
                Method(_CRS) {
                    CreateDWordField(MEM1, 0x20, TOP1)
                    CreateDWordField(MEM1, 0x40, BASR)
                    CreateDWordField(MEM1, 0x44, LENR)
                    CreateDWordField(MEM1, 0x2c, ML01)
                    CreateDWordField(MEM1, 0x28, MB01)
                    CreateDWordField(MEM1, 0x38, ML02)
                    CreateDWordField(MEM1, 0x34, MB02)
                    Store(MEMR(), BASR)
                    Subtract(0x0, MEMR(), LENR)
                    Subtract(\_SB_.PCI0.MDET(), 0x00100000, TOP1)
                    If(APCE()) {
                        Store(0xfec00000, MB01)
                        Store(0xfee00000, MB02)
                        Store(0x1000, ML01)
                        Store(0x1000, ML02)
                    }
                    Return(MEM1)
                }
            }
            Method(RRIO, 4) {
                Noop
            }
            Method(RGNR, 4) {
                Noop
            }
            Method(RDMA, 3) {
                Noop
            }
            Device(PIC_) {
                Name(_HID, 0xd041)
                Name(_CRS, Buffer(0xd) {0x4b, 0x20, 0x0, 0x2, 0x4b, 0xa0, 0x0, 0
x2, 0x22, 0x4, 0x0, 0x79, 0x0 })
            }
            Device(DMAD) {
                Name(_HID, 0x0002d041)
                Name(_CRS, Buffer(0x1d) {0x2a, 0x10, 0x4, 0x4b, 0x0, 0x0, 0x10, 
0x4b, 0x81, 0x0, 0x3, 0x4b, 0x87, 0x0, 0x1, 0x4b, 0x89, 0x0, 0x3, 0x4b, 0x8f, 0x
0, 0x1, 0x4b, 0xc0, 0x0, 0x20, 0x79, 0x0 })
            }
            Device(TMR_) {
                Name(_HID, 0x0001d041)
                Name(_CRS, Buffer(0x9) {0x4b, 0x40, 0x0, 0x4, 0x22, 0x1, 0x0, 0x
79, 0x0 })
            }
            Device(RTC_) {
                Name(_HID, 0x000bd041)
                Name(_CRS, Buffer(0x9) {0x4b, 0x70, 0x0, 0x2, 0x22, 0x0, 0x1, 0x
79, 0x0 })
            }
            Device(SPKR) {
                Name(_HID, 0x0008d041)
                Name(_CRS, Buffer(0x6) {0x4b, 0x61, 0x0, 0x1, 0x79, 0x0 })
            }
            Device(COPR) {
                Name(_HID, 0x040cd041)
                Name(_CRS, Buffer(0x9) {0x4b, 0xf0, 0x0, 0x10, 0x22, 0x0, 0x20, 
0x79, 0x0 })
            }
            OperationRegion(PSRG, SystemMemory, 0x0410, 0x4)
            Field(PSRG, DWordAcc, NoLock, Preserve) {
                ,       2,
                PS2E,   1
            }
            Device(PS2M) {
                Name(_HID, 0x030fd041)
                Name(_CID, 0x130fd041)
                Method(_STA) {
                    If(PS2E) {
                        Return(0xf)
                    }
                    Else {
                        Return(0x0)
                    }
                }
                Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 })
            }
            Device(PS2K) {
                Name(_HID, 0x0303d041)
                Name(_CID, 0x0b03d041)
                Name(_CRS, Buffer(0xd) {0x4b, 0x60, 0x0, 0x1, 0x4b, 0x64, 0x0, 0
x1, 0x22, 0x2, 0x0, 0x79, 0x0 })
            }
            Name(SPIO, 0x2e)
            OperationRegion(NAT1, SystemIO, SPIO, 0x2)
            Field(NAT1, ByteAcc, NoLock, Preserve) {
                INDX,   8,
                DATA,   8
            }
            IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
                Offset(0x7),
                LDN_,   8,
                Offset(0x21),
                ,       3,
                IRMD,   1,
                Offset(0x30),
                ACTR,   8,
                Offset(0x60),
                IOAH,   8,
                IOAL,   8,
                Offset(0x70),
                INTR,   8,
                INTM,   8,
                Offset(0x74),
                DMCH,   8,
                DMC2,   8,
                Offset(0xf0),
                CFGR,   8
            }
            Method(ENFG) {
                Noop
            }
            Method(EXFG) {
                Noop
            }
            Name(LDFD, 0x0)
            Name(LDU1, 0x3)
            Name(LDU2, 0x2)
            Name(LDIR, 0x2)
            Name(LDLP, 0x1)
            Device(FDC0) {
                Name(_HID, 0x0007d041)
                Method(_STA) {
                    If(FDST) {
                        Return(GSTA(LDFD))
                    }
                    Return(0x0)
                }
                Method(_DIS) {
                    DCNT(LDFD, 0x0)
                }
                Method(_CRS) {
                    Return(FRES)
                }
                Method(_PRS) {
                    Return(FDPR)
                }
                Method(_SRS, 1) {
                    DCNT(LDFD, 0x1)
                }
            }
            Device(UAR1) {
                Name(_HID, 0x0105d041)
                Name(_UID, 0x1)
                Method(_STA) {
                    If(U1ST) {
                        Return(GSTA(LDU1))
                    }
                    Return(0x0)
                }
                Method(_DIS) {
                    DCNT(LDU1, 0x0)
                }
                Method(_CRS) {
                    Return(PCRS(LDU1, 0x1, 0x8))
                }
                Method(_SRS, 1) {
                    PSRS(Arg0, LDU1)
                }
                Method(_PRS) {
                    Return(C1PR)
                }
            }
            Device(UAR2) {
                Method(_HID) {
                    Store(IRME(), Local0)
                    If(Local0) {
                        Return(0x1005d041)
                    }
                    Else {
                        Return(0x0105d041)
                    }
                }
                Name(_UID, 0x2)
                Method(_STA) {
                    If(U2ST) {
                        Return(GSTA(LDU2))
                    }
                    Return(0x0)
                }
                Method(_DIS) {
                    DCNT(LDU2, 0x0)
                }
                Method(_CRS) {
                    Return(PCRS(LDU2, 0x1, 0x8))
                }
                Method(_SRS, 1) {
                    PSRS(Arg0, LDU2)
                }
                Method(_PRS) {
                    Return(C2PR)
                }
            }
            Device(LPT_) {
                Name(_HID, 0x0004d041)
                Method(_STA) {
                    Store(LDLP, LDN_)
                    If(And(CFGR, 0x80, )) {
                    }
                    Else {
                        If(LPST) {
                            Return(GSTA(0x1))
                        }
                    }
                    Return(0x0)
                }
                Method(_DIS) {
                    DCNT(LDLP, 0x0)
                }
                Method(_CRS) {
                    Return(PCRS(LDLP, 0x1, 0x8))
                }
                Method(_SRS, 1) {
                    PSRS(Arg0, LDLP)
                }
                Method(_PRS) {
                    Return(LPPR)
                }
            }
            Device(ECP_) {
                Name(_HID, 0x0104d041)
                Method(_STA) {
                    Store(LDLP, LDN_)
                    If(And(CFGR, 0x80, )) {
                        If(LPST) {
                            Return(GSTA(LDLP))
                        }
                    }
                    Return(0x0)
                }
                Method(_DIS) {
                    DCNT(LDLP, 0x0)
                }
                Method(_CRS) {
                    Return(ECRS(LDLP))
                }
                Method(_SRS, 1) {
                    ESRS(Arg0, LDLP)
                }
                Method(_PRS) {
                    Return(EPPR)
                }
            }
            Name(URTM, 0xaa)
            Method(IRME) {
                If(LNot(LEqual(URTM, 0xaa))) {
                    Return(URTM)
                }
                OperationRegion(SERX, SystemIO, UABS(LDU2), 0x8)
                Field(SERX, ByteAcc, NoLock, WriteAsZeros) {
                    Offset(0x2),
                    TYPX,       8,
                    ACSX,       8,
                    MCRX,       8
                }
                Store(LDU2, LDN_)
                Store(ACTR, Local7)
                Store(One, ACTR)
                Or(CFGR, 0x80, Local0)
                Store(Local0, CFGR)
                Store(ACSX, Local0)
                Store(0xe0, ACSX)
                Or(TYPX, 0x1, TYPX)
                Store(Local0, ACSX)
                Store(MCRX, Local3)
                Store(0xe0, ACSX)
                And(TYPX, 0xfe, TYPX)
                Store(Local0, ACSX)
                ShiftRight(Local3, 0x5, Local0)
                And(Local0, 0x3, Local0)
                Store(Local7, ACTR)
                Or(CFGR, 0x7f, CFGR)
                Store(Local0, URTM)
                Return(Local0)
            }
            Name(FDST, 0x0)
            Name(U1ST, 0x0)
            Name(U2ST, 0x0)
            Name(IRST, 0x0)
            Name(LPST, 0x0)
            Name(DCAT, Package(0x4) {
                0x6,
                0xb,
                0x3,
                0x0,
            })
            Method(IODT) {
                If(LEqual(GSTA(LDFD), 0xf)) {
                    Store(0x1, FDST)
                }
                If(LEqual(GSTA(LDU1), 0xf)) {
                    Store(0x1, U1ST)
                }
                If(LEqual(GSTA(LDU2), 0xf)) {
                    Store(0x1, U2ST)
                }
                If(LEqual(GSTA(LDIR), 0xf)) {
                    Store(0x1, IRST)
                }
                If(LEqual(GSTA(LDLP), 0xf)) {
                    Store(0x1, LPST)
                }
                Store(LDU1, Index(DCAT, 0x0, ))
                Store(LDU2, Index(DCAT, 0x1, ))
                Store(LDLP, Index(DCAT, 0x2, ))
                Store(LDFD, Index(DCAT, 0x3, ))
            }
            Method(GSTA, 1) {
                ENFG()
                Store(Arg0, LDN_)
                If(ACTR) {
                    Store(0xf, Local0)
                }
                Else {
                    If(Or(IOAH, IOAL, )) {
                        Store(0xd, Local0)
                    }
                    Else {
                        Store(0x0, Local0)
                    }
                }
                EXFG()
                Return(Local0)
            }
            Method(DCNT, 2) {
                ENFG()
                Store(Arg0, LDN_)
                Store(Match(DCAT, MEQ, Arg0, MTR, 0x0, 0x0), Local0)
                ShiftLeft(IOAH, 0x8, Local1)
                Or(IOAL, Local1, Local1)
                RRIO(Local0, Arg1, Local1, 0x8)
                If(And(LLess(DMCH, 0x4), LNot(LEqual(And(DMCH, 0x3, Local2), 0x0
)), )) {
                    RDMA(Local0, Arg1, Increment(Local2))
                }
                Store(Arg1, ACTR)
                EXFG()
            }
            Method(PCRS, 3) {
                CreateByteField(CRES, 0x2, IOLO)
                CreateByteField(CRES, 0x3, IOHI)
                CreateWordField(CRES, 0x2, IOHL)
                CreateWordField(CRES, 0x4, IORL)
                CreateByteField(CRES, 0x6, ALMN)
                CreateByteField(CRES, 0x7, LENG)
                CreateByteField(CRES, 0x9, IRQL)
                CreateWordField(CRES, 0xc, DMAL)
                ENFG()
                Store(Arg0, LDN_)
                Store(IOAH, IOHI)
                Store(IOAL, IOLO)
                Store(IOHL, IORL)
                Store(Arg1, ALMN)
                If(LEqual(IOLO, 0xbc)) {
                    Store(0x4, LENG)
                }
                Else {
                    Store(Arg2, LENG)
                }
                If(INTR) {
                    ShiftLeft(0x1, INTR, IRQL)
                }
                Else {
                    Store(0x0, IRQL)
                }
                If(Or(LGreater(DMCH, 0x3), LEqual(And(DMCH, 0x3, Local1), 0x0), 
)) {
                    Store(0x0, DMAL)
                }
                Else {
                    ShiftLeft(0x1, Local1, DMAL)
                }
                EXFG()
                Return(CRES)
            }
            Method(PSRS, 2) {
                CreateByteField(Arg0, 0x2, POLB)
                CreateByteField(Arg0, 0x3, POHB)
                CreateByteField(Arg0, 0x9, PIRQ)
                CreateWordField(Arg0, 0xc, PDMA)
                ENFG()
                Store(Arg1, LDN_)
                Store(POLB, IOAL)
                Store(POHB, IOAH)
                FindSetRightBit(PIRQ, Local0)
                If(Local0) {
                    Subtract(Local0, 0x1, INTR)
                }
                Else {
                    Store(Local0, INTR)
                }
                CreateWordField(Arg0, 0x2, PADR)
                CreateByteField(Arg0, 0x7, SIZE)
                Store(Match(DCAT, MEQ, Arg1, MTR, 0x0, 0x0), Local0)
                RRIO(Local0, 0x1, PADR, SIZE)
                If(PDMA) {
                    FindSetRightBit(PDMA, Local0)
                    RDMA(Local7, 0x1, Local0)
                    Subtract(Local0, 0x1, DMCH)
                }
                Else {
                    Store(0x4, DMCH)
                }
                Store(One, ACTR)
                EXFG()
            }
            Method(ECRS, 1) {
                CreateByteField(ERES, 0x2, EPLO)
                CreateByteField(ERES, 0x3, EPHI)
                CreateWordField(ERES, 0x2, EPHL)
                CreateWordField(ERES, 0x4, EPRL)
                CreateWordField(ERES, 0x6, ALM1)
                CreateWordField(ERES, 0xa, E4LO)
                CreateWordField(ERES, 0xc, E4RL)
                CreateWordField(ERES, 0xe, ALM2)
                CreateWordField(ERES, 0x11, EIRQ)
                CreateWordField(ERES, 0x14, EDMA)
                ENFG()
                Store(Arg0, LDN_)
                Store(IOAH, EPHI)
                Store(IOAL, EPLO)
                Store(EPHL, EPRL)
                Add(EPHL, 0x0400, E4LO)
                Store(E4LO, E4RL)
                If(LEqual(EPHL, 0x03bc)) {
                    Store(0x0401, ALM1)
                    Store(0x0401, ALM2)
                }
                Else {
                    Store(0x0801, ALM1)
                    Store(0x0801, ALM2)
                }
                ShiftLeft(0x1, INTR, EIRQ)
                If(Or(LGreater(DMCH, 0x3), LEqual(And(DMCH, 0x3, Local1), 0x0), 
)) {
                    Store(0x0, EDMA)
                }
                Else {
                    ShiftLeft(0x1, Local1, EDMA)
                }
                EXFG()
                Return(ERES)
            }
            Method(ESRS, 2) {
                CreateByteField(Arg0, 0x2, LOEP)
                CreateByteField(Arg0, 0x3, HIEP)
                CreateWordField(Arg0, 0x11, IRQE)
                CreateWordField(Arg0, 0x14, DMAE)
                ENFG()
                Store(Arg1, LDN_)
                Store(LOEP, IOAL)
                Store(HIEP, IOAH)
                CreateWordField(Arg0, 0x2, PADR)
                CreateByteField(Arg0, 0x7, SIZE)
                Store(Match(DCAT, MEQ, Arg1, MTR, 0x0, 0x0), Local7)
                RRIO(Local7, 0x1, PADR, SIZE)
                FindSetRightBit(IRQE, Local0)
                Subtract(Local0, 0x1, INTR)
                If(DMAE) {
                    FindSetRightBit(DMAE, Local0)
                    RDMA(Local7, 0x1, Local0)
                    Subtract(Local0, 0x1, DMCH)
                }
                Else {
                    Store(0x4, DMCH)
                }
                Store(One, ACTR)
                EXFG()
            }
            Name(CNBF, Buffer(0x2) {0xf8, 0x3 })
            Method(UABS, 1) {
                ENFG()
                Store(Arg0, LDN_)
                CreateByteField(CNBF, 0x0, IOLO)
                CreateByteField(CNBF, 0x1, IOHI)
                CreateWordField(CNBF, 0x0, IOAD)
                Store(IOAL, IOLO)
                Store(IOAH, IOHI)
                EXFG()
                Return(IOAD)
            }
            Name(FRES, Buffer(0x20) {0x47, 0x1, 0xf2, 0x3, 0xf2, 0x3, 0x1, 0x2, 
0x47, 0x1, 0xf4, 0x3, 0xf4, 0x3, 0x1, 0x2, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1,
 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x79, 0x0 })
            Name(CRES, Buffer(0x10) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x
22, 0x1, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 })
            Name(ERES, Buffer(0x18) {0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 
0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x4, 0x22, 0x80, 0x0, 0x2a, 0x0, 0x0, 0x79
, 0x0 })
            Name(FDPR, Buffer(0x23) {0x31, 0x0, 0x47, 0x1, 0xf2, 0x3, 0xf2, 0x3,
 0x1, 0x2, 0x47, 0x1, 0xf4, 0x3, 0xf4, 0x3, 0x1, 0x2, 0x47, 0x1, 0xf7, 0x3, 0xf7
, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x38, 0x79, 0x0 })
            Name(C1PR, Buffer(0x4f) {0x31, 0x0, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3,
 0x4, 0x8, 0x22, 0x10, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x
3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 
0x2, 0x4, 0x8, 0x22, 0x18, 0xc, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8
, 0x3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0x
e8, 0x2, 0x4, 0x8, 0x22, 0x18, 0xc, 0x2a, 0x0, 0x0, 0x38, 0x79, 0x0 })
            Name(C2PR, Buffer(0x8b) {0x31, 0x0, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2,
 0x4, 0x8, 0x22, 0x8, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2
, 0x4, 0x8, 0x22, 0x18, 0xc, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0
x3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8,
 0x3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe
8, 0x2, 0x4, 0x8, 0x22, 0x18, 0xc, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0
xf8, 0x3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x2a, 0xa, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2,
 0xf8, 0x2, 0x4, 0x8, 0x22, 0x18, 0xc, 0x2a, 0xa, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x
3, 0xe8, 0x3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x2a, 0xa, 0x0, 0x30, 0x47, 0x1, 0xe8, 
0x2, 0xe8, 0x2, 0x4, 0x8, 0x22, 0x18, 0xc, 0x2a, 0xa, 0x0, 0x38, 0x79, 0x0 })
            Name(LPPR, Buffer(0x9a) {0x31, 0x0, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3,
 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x
3, 0x1, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0
x2, 0x1, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 
0x3, 0x1, 0x4, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78,
 0x3, 0x1, 0x8, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x7
8, 0x2, 0x1, 0x8, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0
xbc, 0x3, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3,
 0x78, 0x3, 0x1, 0x8, 0x22, 0xa0, 0x0, 0x2a, 0xa, 0x0, 0x30, 0x47, 0x1, 0x78, 0x
2, 0x78, 0x2, 0x1, 0x8, 0x22, 0xa0, 0x0, 0x2a, 0xa, 0x0, 0x30, 0x47, 0x1, 0xbc, 
0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0xa, 0x0, 0x38, 0x79, 0x0 })
            Name(EPPR, Buffer(0xa5) {0x31, 0x0, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3,
 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x2
, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x
78, 0x7, 0x1, 0x8, 0x22, 0xa0, 0x0, 0x2a, 0xa, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 
0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0xa0, 0x0,
 0x2a, 0xa, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xb
c, 0x7, 0xbc, 0x7, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0xa, 0x0, 0x30, 0x47, 0x1, 0
x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 
0xa0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47
, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x
47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0
x4, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x38, 0x79, 0x0 })
        }
        Device(PMU_) {
            Method(_ADR) {
                Return(Or(\_SB_.PCI0.SBRG._ADR, 0x3, ))
            }
        }
        Device(USB0) {
            Method(_ADR) {
                Return(Or(\_SB_.PCI0.SBRG._ADR, 0x2, ))
            }
            Name(PRW_, Package(0x2) {
                0x8,
                0x2,
            })
        }
        OperationRegion(\_SB_.PCI0.PMU_.BAR0, PCI_Config, 0x40, 0x2)
        OperationRegion(\_SB_.PCI0.PMU_.BAR1, PCI_Config, 0x90, 0x2)
        OperationRegion(\_SB_.PCI0.SBRG.BAR2, PCI_Config, 0x4e, 0x2)
        Field(\_SB_.PCI0.PMU_.BAR0, ByteAcc, NoLock, Preserve) {
            PMSB,       16
        }
        Field(\_SB_.PCI0.PMU_.BAR1, ByteAcc, NoLock, Preserve) {
            SMSB,       16
        }
        Field(\_SB_.PCI0.SBRG.BAR2, ByteAcc, NoLock, Preserve) {
            MDEC,       16
        }
        Method(PMBS) {
            If(PMBR()) {
            }
            Else {
                And(PMSB, 0xfffe, PMBR())
            }
            Return(PMBR())
        }
        OperationRegion(PMRG, SystemIO, PMBS, PMBL)
        Method(SMBS) {
            If(SMBR()) {
            }
            Else {
                And(SMSB, 0xfffe, SMBR())
            }
            Return(SMBR())
        }
        OperationRegion(SMRG, SystemIO, SMBS, SMBL)
        Method(\MEMR) {
            If(RMEM) {
            }
            Else {
                Store(\_SB_.PCI0.MDEC, Local0)
                If(And(Local0, 0x40, )) {
                    Store(0xfffe0000, RMEM)
                }
                If(And(Local0, 0x80, )) {
                    Store(0xfff80000, RMEM)
                }
                If(And(Local0, 0x0200, )) {
                    Store(0xfff00000, RMEM)
                }
                If(LEqual(RMEM, 0x0)) {
                    Store(0xfffe0000, RMEM)
                }
            }
            Return(RMEM)
        }
        Method(\APCE) {
            And(\_SB_.PCI0.MDEC, 0x0100, APCM)
            Return(APCM)
        }
    }
}
OperationRegion(FNOR, SystemIO, 0x0434, 0x4)
Field(FNOR, ByteAcc, NoLock, Preserve) {
    ,   30,
    FAN1,       1
}
Name(F1ON, 0x1)
Field(FNOR, ByteAcc, NoLock, Preserve) {
    FAN2,       1
}
Name(F2ON, 0x1)
Field(FNOR, ByteAcc, NoLock, Preserve) {
    Offset(0x1),
    FAN3,       1
}
Name(F3ON, 0x1)
Name(NFAN, 0x3)
PowerResource(GFAN, 0, 0) {
    Method(_STA) {
        Return(XOr(FAN1, And(Not(F1ON, ), 0x1, ), ))
    }
    Method(_ON_) {
        Store(F1ON, FAN1)
        If(LNot(LLess(NFAN, 0x2))) {
            Store(F2ON, FAN2)
        }
        If(LNot(LLess(NFAN, 0x3))) {
            Store(F3ON, FAN3)
        }
    }
    Method(_OFF) {
        XOr(F1ON, 0x1, FAN1)
        If(LNot(LLess(NFAN, 0x2))) {
            XOr(F2ON, 0x1, FAN2)
        }
        If(LNot(LLess(NFAN, 0x3))) {
            XOr(F3ON, 0x1, FAN3)
        }
    }
}
OperationRegion(SIOR, SystemIO, 0x0434, 0x4)
Field(SIOR, ByteAcc, NoLock, Preserve) {
    ,   25,
    LEDW,       1
}
Name(LDON, 0x1)
Scope(_SI_) {
    Method(_SST, 1) {
        If(Arg0) {
            If(LEqual(Arg0, 0x1)) {
                Store(LDON, LEDW)
            }
            If(LEqual(Arg0, 0x2)) {
                Store(LDON, LEDW)
            }
            If(LEqual(Arg0, 0x3)) {
                XOr(LDON, 0x1, LEDW)
            }
            If(LEqual(Arg0, 0x4)) {
                XOr(LDON, 0x1, LEDW)
            }
        }
        Else {
            XOr(LDON, 0x1, LEDW)
        }
    }
    Method(_MSG, 1) {
        Noop
    }
}
Device(\_SB_.SLPB) {
    Name(_HID, 0x0e0cd041)
    Method(_STA) {
        Return(0xb)
    }
    Name(_PRW, Package(0x2) {
        0xb,
        0x5,
    })
}
Method(\_GPE._L0B) {
    Notify(\_SB_.SLPB, 0x2)
}
Name(\SBST, Zero)
Name(\_SB_.PCI0._PRW, Package(0x2) {
    0x9,
    0x4,
})
Method(_PTS, 1) {
    Store(Arg0, DBG8)
    Store(One, SBST)
    Store(0x0, \_SB_.PCI0.PCIR)
    If(LEqual(Arg0, 0x2)) {
        Store(0x1, \_SB_.PCI0.PCIR)
    }
}
Method(_WAK, 1) {
    ShiftLeft(Arg0, 0x4, DBG8)
    Store(0x0, \_SB_.PCI0.PCIR)
    Store(\_SB_.PCI0.SBRG.UAR1._STA(), Local3)
    And(Local3, 0x3, Local3)
    If(LEqual(Local3, 0x1)) {
        Notify(\_SB_.PCI0.SBRG.UAR1, 0x0)
    }
    Store(\_SB_.PCI0.SBRG.UAR2._STA(), Local3)
    And(Local3, 0x3, Local3)
    If(LEqual(Local3, 0x1)) {
        Notify(\_SB_.PCI0.SBRG.UAR2, 0x0)
    }
    Notify(\_SB_.SLPB, 0x2)
}
OperationRegion(TEMP, SystemIO, 0x80, 0x1)
Field(TEMP, ByteAcc, NoLock, Preserve) {
    DBG8,       8
}
OperationRegion(DEB0, SystemIO, 0x90, 0x2)
Field(DEB0, WordAcc, NoLock, Preserve) {
    DBG9,       16
}

}
/*
APIC: Length=92, Revision=1, Checksum=49,
        OEMID=OEMTYN, OEM Table ID=OEMTYNTB, OEM Revision=0x9,
        Creator ID=AMI, Creator Revision=0x1
 */
/*
        Local APIC ADDR=0xfee00000
        Flags={PC-AT}

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

        Type=Local APIC
        ACPI CPU=2
        Flags={ENABLED}
        APIC ID=1

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

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

        Type=INT Override
        BUS=0
        IRQ=9
        INTR=20
        Flags={Polarity=active-hi, Trigger=level}
 */

>How-To-Repeat:
 it occure everytime on boot.

>Fix:
n/a



>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list