From noone@siu.edu  Wed Jun 11 05:24:17 2003
Return-Path: <noone@siu.edu>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 5F44D37B401
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 11 Jun 2003 05:24:17 -0700 (PDT)
Received: from 234-224.ip.ll.net (255-135.ip.ll.net [209.131.255.135])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 696C943F3F
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 11 Jun 2003 05:24:10 -0700 (PDT)
	(envelope-from noone@siu.edu)
Received: from freebsd2.localnet10 (localhost [127.0.0.1])
	by freebsd2.localnet10 (8.12.9/8.12.9) with ESMTP id h5BCMvbE090476
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 11 Jun 2003 07:22:57 -0500 (CDT)
	(envelope-from root@freebsd2.localnet10)
Received: (from root@localhost)
	by freebsd2.localnet10 (8.12.9/8.12.9/Submit) id h5BCMvH7090475;
	Wed, 11 Jun 2003 07:22:57 -0500 (CDT)
Message-Id: <200306111222.h5BCMvH7090475@freebsd2.localnet10>
Date: Wed, 11 Jun 2003 07:22:57 -0500 (CDT)
From: none <noone@siu.edu>
Reply-To: jimd@siu.edu
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: 5.1-RC1 SMP kernel boot gags at "APIC_IO: Testing 8254 interrupt delivery"
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         53200
>Category:       i386
>Synopsis:       [boot] 5.1-RC1 SMP kernel boot gags at "APIC_IO: Testing 8254 interrupt delivery"
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-i386
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jun 11 05:30:04 PDT 2003
>Closed-Date:    Sun Nov 13 07:54:18 GMT 2005
>Last-Modified:  Sun Nov 13 07:54:18 GMT 2005
>Originator:     none
>Release:        FreeBSD 5.1-CURRENT i386
>Organization:
>Environment:
System: FreeBSD freebsd2.localnet10 5.1-CURRENT FreeBSD 5.1-CURRENT #3: Wed Jun 11 05:07:40 CDT 2003 root@freebsd2.localnet10:/usr/src/sys/i386/compile/5.1-RC1 i386

(system and kernel sources CVSupped and installed 06/11/2003)

================== boot dmesgs =========================
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-CURRENT #0: Wed Jun 11 04:53:32 CDT 2003
    root@freebsd2.localnet10:/usr/src/sys/i386/compile/5.1-SMP-RC1
Preloaded elf kernel "/boot/kernel/kernel" at 0xc0830000.
Preloaded elf module "/boot/kernel/linux.ko" at 0xc0830294.
Preloaded elf module "/boot/kernel/nvidia.ko" at 0xc0830340.
Preloaded elf module "/boot/kernel/acpi.ko" at 0xc08303ec.
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 3080965424 Hz
CPU: Intel(R) Pentium(R) 4 CPU 3.06GHz (3080.97-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf27  Stepping = 7
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Hyperthreading: 2 logical CPUs
real memory  = 1073676288 (1023 MB)
avail memory = 1034321920 (986 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: 0x00050014, at 0xfee00000
 cpu1 (AP):  apic id:  1, version: 0x00050014, at 0xfee00000
 io0 (APIC): apic id:  2, version: 0x00178011, at 0xfec00000
Pentium Pro MTRR support enabled
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <AMIINT SiS645XX> on motherboard
pcibios: BIOS version 2.10
Using $PIR table, 12 entries at 0xc00f79a0
acpi0: power button is handled as a fixed feature programming model.
Timecounter "ACPI-fast"  frequency 3579545 Hz
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
acpi_cpu0: <CPU> on acpi0
acpi_cpu1: <CPU> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
IOAPIC #0 intpin 18 -> irq 2
IOAPIC #0 intpin 20 -> irq 5
IOAPIC #0 intpin 21 -> irq 10
IOAPIC #0 intpin 23 -> irq 11
IOAPIC #0 intpin 19 -> irq 16
agp0: <SIS Generic host to PCI bridge> mem 0xe0000000-0xe7ffffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
IOAPIC #0 intpin 16 -> irq 17
nvidia0: <GeForce4 Ti 4600> mem 0xddb80000-0xddbfffff,0xd0000000-0xd7ffffff,0xde000000-0xdeffffff irq 17 at device 0.0 on pci1
isab0: <PCI-ISA bridge> at device 2.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <SiS 96X UDMA133 controller> port 0xff00-0xff0f at device 2.5 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pci0: <multimedia, audio> at device 2.7 (no driver attached)
ohci0: <SiS 5571 USB controller> mem 0xdfffc000-0xdfffcfff irq 5 at device 3.0 on pci0
usb0: OHCI version 1.0, legacy support
usb0: SMM does not respond, resetting
usb0: <SiS 5571 USB controller> on ohci0
usb0: USB revision 1.0
uhub0: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
ohci1: <SiS 5571 USB controller> mem 0xdfffd000-0xdfffdfff irq 10 at device 3.1 on pci0
usb1: OHCI version 1.0, legacy support
usb1: SMM does not respond, resetting
usb1: <SiS 5571 USB controller> on ohci1
usb1: USB revision 1.0
uhub1: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
pci0: <serial bus, USB> at device 3.3 (no driver attached)
pci0: <multimedia, audio> at device 7.0 (no driver attached)
pci0: <input device> at device 7.1 (no driver attached)
sis0: <NatSemi DP83815 10/100BaseTX> port 0xc800-0xc8ff mem 0xdfffa000-0xdfffafff irq 16 at device 8.0 on pci0
sis0: Ethernet address: 00:09:5b:1e:62:ec
miibus0: <MII bus> on sis0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ahc0: <Adaptec 29160N Ultra160 SCSI adapter> port 0xd800-0xd8ff mem 0xdffff000-0xdfffffff irq 2 at device 11.0 on pci0
aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
pci0: <network, ethernet> at device 15.0 (no driver attached)
fdc0: cmd 3 failed at out byte 1 of 3
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A
sio1 port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0 port 0x778-0x77b,0x378-0x37f irq 7 drq 3 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
fdc0: cmd 3 failed at out byte 1 of 3
orm0: <Option ROM> at iomem 0xc0000-0xce7ff on isa0
pmtimer0 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x64,0x60 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
fdc0: cannot reserve I/O port range (6 ports)
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
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-CURRENT #0: Wed Jun 11 04:53:32 CDT 2003
    root@freebsd2.localnet10:/usr/src/sys/i386/compile/5.1-SMP-RC1
Preloaded elf kernel "/boot/kernel/kernel" at 0xc06ed000.
Preloaded elf module "/boot/kernel/acpi.ko" at 0xc06ed294.
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 3080964504 Hz
CPU: Intel(R) Pentium(R) 4 CPU 3.06GHz (3080.96-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf27  Stepping = 7
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Hyperthreading: 2 logical CPUs
real memory  = 1073676288 (1023 MB)
avail memory = 1035649024 (987 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: 0x00050014, at 0xfee00000
 cpu1 (AP):  apic id:  1, version: 0x00050014, at 0xfee00000
 io0 (APIC): apic id:  2, version: 0x00178011, at 0xfec00000
Pentium Pro MTRR support enabled
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <AMIINT SiS645XX> on motherboard
pcibios: BIOS version 2.10
Using $PIR table, 12 entries at 0xc00f79a0
acpi0: power button is handled as a fixed feature programming model.
Timecounter "ACPI-fast"  frequency 3579545 Hz
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
acpi_cpu0: <CPU> on acpi0
acpi_cpu1: <CPU> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
IOAPIC #0 intpin 18 -> irq 2
IOAPIC #0 intpin 20 -> irq 5
IOAPIC #0 intpin 21 -> irq 10
IOAPIC #0 intpin 23 -> irq 11
IOAPIC #0 intpin 19 -> irq 16
agp0: <SIS Generic host to PCI bridge> mem 0xe0000000-0xe7ffffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
IOAPIC #0 intpin 16 -> irq 17
pci1: <display, VGA> at device 0.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 2.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <SiS 96X UDMA133 controller> port 0xff00-0xff0f at device 2.5 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pci0: <multimedia, audio> at device 2.7 (no driver attached)
ohci0: <SiS 5571 USB controller> mem 0xdfffc000-0xdfffcfff irq 5 at device 3.0 on pci0
usb0: OHCI version 1.0, legacy support
usb0: SMM does not respond, resetting
usb0: <SiS 5571 USB controller> on ohci0
usb0: USB revision 1.0
uhub0: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
ohci1: <SiS 5571 USB controller> mem 0xdfffd000-0xdfffdfff irq 10 at device 3.1 on pci0
usb1: OHCI version 1.0, legacy support
usb1: SMM does not respond, resetting
usb1: <SiS 5571 USB controller> on ohci1
usb1: USB revision 1.0
uhub1: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
pci0: <serial bus, USB> at device 3.3 (no driver attached)
pci0: <multimedia, audio> at device 7.0 (no driver attached)
pci0: <input device> at device 7.1 (no driver attached)
sis0: <NatSemi DP83815 10/100BaseTX> port 0xc800-0xc8ff mem 0xdfffa000-0xdfffafff irq 16 at device 8.0 on pci0
sis0: Ethernet address: 00:09:5b:1e:62:ec
miibus0: <MII bus> on sis0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ahc0: <Adaptec 29160N Ultra160 SCSI adapter> port 0xd800-0xd8ff mem 0xdffff000-0xdfffffff irq 2 at device 11.0 on pci0
aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
pci0: <network, ethernet> at device 15.0 (no driver attached)
fdc0: cmd 3 failed at out byte 1 of 3
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A
sio1 port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0 port 0x778-0x77b,0x378-0x37f irq 7 drq 3 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
fdc0: cmd 3 failed at out byte 1 of 3
orm0: <Option ROM> at iomem 0xc0000-0xce7ff on isa0
pmtimer0 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x64,0x60 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
fdc0: cannot reserve I/O port range (6 ports)
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
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-CURRENT #0: Wed Jun 11 04:23:26 CDT 2003
    root@freebsd2.localnet10:/usr/obj/usr/src/sys/5.1-RC1
Preloaded elf kernel "/kernel.OLD" at 0xc06dc000.
Preloaded elf module "/boot/kernel/acpi.ko" at 0xc06dc28c.
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 3080965384 Hz
CPU: Intel(R) Pentium(R) 4 CPU 3.06GHz (3080.97-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf27  Stepping = 7
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Hyperthreading: 2 logical CPUs
real memory  = 1073676288 (1023 MB)
avail memory = 1035735040 (987 MB)
Pentium Pro MTRR support enabled
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <AMIINT SiS645XX> on motherboard
pcibios: BIOS version 2.10
Using $PIR table, 12 entries at 0xc00f79a0
acpi0: power button is handled as a fixed feature programming model.
Timecounter "ACPI-fast"  frequency 3579545 Hz
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
acpi_cpu0: <CPU> on acpi0
acpi_cpu1: <CPU> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib0: slot 2 INTC is routed to irq 5
pcib0: slot 3 INTA is routed to irq 5
pcib0: slot 3 INTB is routed to irq 11
pcib0: slot 3 INTD is routed to irq 10
pcib0: slot 7 INTA is routed to irq 5
pcib0: slot 8 INTA is routed to irq 5
pcib0: slot 11 INTA is routed to irq 5
pcib0: slot 15 INTA is routed to irq 5
agp0: <SIS Generic host to PCI bridge> mem 0xe0000000-0xe7ffffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pcib0: slot 1 INTA is routed to irq 11
pcib1: slot 0 INTA is routed to irq 11
pci1: <display, VGA> at device 0.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 2.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <SiS 96X UDMA133 controller> port 0xff00-0xff0f at device 2.5 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pci0: <multimedia, audio> at device 2.7 (no driver attached)
ohci0: <SiS 5571 USB controller> mem 0xdfffc000-0xdfffcfff irq 5 at device 3.0 on pci0
usb0: OHCI version 1.0, legacy support
usb0: SMM does not respond, resetting
usb0: <SiS 5571 USB controller> on ohci0
usb0: USB revision 1.0
uhub0: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
ohci1: <SiS 5571 USB controller> mem 0xdfffd000-0xdfffdfff irq 11 at device 3.1 on pci0
usb1: OHCI version 1.0, legacy support
usb1: SMM does not respond, resetting
usb1: <SiS 5571 USB controller> on ohci1
usb1: USB revision 1.0
uhub1: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
pci0: <serial bus, USB> at device 3.3 (no driver attached)
pci0: <multimedia, audio> at device 7.0 (no driver attached)
pci0: <input device> at device 7.1 (no driver attached)
sis0: <NatSemi DP83815 10/100BaseTX> port 0xc800-0xc8ff mem 0xdfffa000-0xdfffafff irq 5 at device 8.0 on pci0
sis0: Ethernet address: 00:09:5b:1e:62:ec
miibus0: <MII bus> on sis0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ahc0: <Adaptec 29160N Ultra160 SCSI adapter> port 0xd800-0xd8ff mem 0xdffff000-0xdfffffff irq 5 at device 11.0 on pci0
aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
pci0: <network, ethernet> at device 15.0 (no driver attached)
fdc0: cmd 3 failed at out byte 1 of 3
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A
sio1 port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0 port 0x778-0x77b,0x378-0x37f irq 7 drq 3 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
fdc0: cmd 3 failed at out byte 1 of 3
orm0: <Option ROM> at iomem 0xc0000-0xce7ff on isa0
pmtimer0 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x64,0x60 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
fdc0: cannot reserve I/O port range (6 ports)
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
Timecounters tick every 10.000 msec
IP Filter: v3.4.31 initialized.  Default = pass all, Logging = enabled
acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0%
ad2: 38204MB <SAMSUNG SV4002H> [77622/16/63] at ata1-master UDMA100
acd0: CD-RW <SAMSUNG CDRW/DVD SM-348B> at ata0-master PIO4
Waiting 15 seconds for SCSI devices to settle
sa0 at ahc0 bus 0 target 2 lun 0
sa0: <ECRIX VXA-1 2C8C> Removable Sequential Access SCSI-2 device 
sa0: 80.000MB/s transfers (40.000MHz, offset 32, 16bit)
da0 at ahc0 bus 0 target 0 lun 0
da0: <SEAGATE ST336752LW 0004> Fixed Direct Access SCSI-3 device 
da0: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled
da0: 35003MB (71687369 512 byte sectors: 255H 63S/T 4462C)
da1 at ahc0 bus 0 target 4 lun 0
da1: <SEAGATE ST34501N 0015> Fixed Direct Access SCSI-2 device 
da1: 20.000MB/s transfers (20.000MHz, offset 15), Tagged Queueing Enabled
da1: 4339MB (8887200 512 byte sectors: 255H 63S/T 553C)
da2 at ahc0 bus 0 target 6 lun 0
da2: <  S7Z0> Fixed Direct Access SCSI-3 device 
da2: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled
da2: 35003MB (71687340 512 byte sectors: 255H 63S/T 4462C)
Mounting root from ufs:/dev/da2s1a
IP Filter: already initialized
IP Filter: already initialized

================== acpidump.asl =================
/*
RSD PTR: Checksum=108, OEMID=AMI, RsdtAddress=0x3fff0000
 */
/*
RSDT: Length=44, Revision=1, Checksum=180,
	OEMID=AMIINT, OEM Table ID=SiS645XX, OEM Revision=0x10,
	Creator ID=MSFT, Creator Revision=0x100000b
 */
/*
	Entries={ 0x3fff0030, 0x3fff00c0 }
 */
/*
	DSDT=0x3fff0120
	INT_MODEL=APIC
	SCI_INT=9
	SMI_CMD=0x848, ACPI_ENABLE=0xe1, ACPI_DISABLE=0x1e, S4BIOS_REQ=0x1f
	PM1a_EVT_BLK=0x800-0x803
	PM1a_CNT_BLK=0x804-0x805
	PM2_CNT_BLK=0x816-0x816
	PM2_TMR_BLK=0x808-0x80b
	PM2_GPE0_BLK=0x820-0x823
	PM2_GPE1_BLK=0x830-0x833, GPE1_BASE=16
	P_LVL2_LAT=10ms, P_LVL3_LAT=10ms
	FLUSH_SIZE=1024, FLUSH_STRIDE=16
	DUTY_OFFSET=1, DUTY_WIDTH=3
	DAY_ALRM=13, MON_ALRM=0, CENTURY=0
	Flags={WBINVD,SLP_BUTTON,RTC_S4}
 */
/*
DSDT: Length=13726, Revision=1, Checksum=57,
	OEMID=SiS, OEM Table ID=648, OEM Revision=0x1000,
	Creator ID=MSFT, Creator Revision=0x100000d
 */
DefinitionBlock (
    "acpi_dsdt.aml",	//Output filename
    "DSDT",		//Signature
    0x1,		//DSDT Revision
    "SiS",		//OEMID
    "648",		//TABLE ID
    0x1000		//OEM Revision
)

{
Name(APIC, 0x0)
Method(_PIC, 1) {
    Store(Arg0, APIC)
}
Scope(\_PR_) {
    Processor(CPU1, 1, 0x0, 0x0) {
    }
    Processor(CPU2, 2, 0x0, 0x0) {
    }
}
Name(\_S0_, Package(0x4) {
    0x0,
    0x0,
    0x0,
    0x0,
})
Name(\_S1_, Package(0x4) {
    0x1,
    0x0,
    0x0,
    0x0,
})
Name(\SS3_, Package(0x4) {
    0x3,
    0x0,
    0x0,
    0x0,
})
Name(\_S4_, Package(0x4) {
    0x4,
    0x0,
    0x0,
    0x0,
})
Name(\_S5_, Package(0x4) {
    0x5,
    0x0,
    0x0,
    0x0,
})
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)
}
Scope(\_SB_) {
    Device(PWRB) {
        Name(_HID, 0x0c0cd041)
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(PCI0) {
        Name(_HID, 0x030ad041)
        Name(_ADR, 0x0)
        Name(_BBN, 0x0)
        Method(USXD) {
            If(OSFL) {
                Return(0x2)
            }
            Else {
                Return(0x3)
            }
        }
        Name(CRS_, Buffer(0xa2) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 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, 0xf3, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xc, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50, 0x1, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0xff, 0xff, 0xdf, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xdf, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0xe0, 0xfe, 0xff, 0xff, 0xdf, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff, 0x0, 0x79, 0x0 })
        OperationRegion(TMEM, PCI_Config, 0x8e, 0x2)
        Field(TMEM, ByteAcc, NoLock, Preserve) {
            MEMS,	16
        }
        Name(TOM_, 0x0)
        Method(MDET) {
            Store(MEMS, Local0)
            Multiply(Local0, 0x00010000, Local0)
            Store(Local0, TOM_)
            Return(TOM_)
        }
        Method(TFCS) {
            Subtract(MDET(), 0x7fc0, Local0)
            Return(Local0)
        }
        Name(FLAG, 0x1)
        Name(OSFL, 0x0)
        Method(_INI) {
            \_SB_.PCI0.SBRG.IODT()
            If(MCTH(\_OS_, "Microsoft Windows NT")) {
            }
            Else {
                Store(0x1, OSFL)
            }
        }
        Method(_REG, 2) {
            If(LEqual(Arg0, 0x2)) {
                Store(Arg1, FLAG)
            }
        }
        Method(_CRS) {
            CreateDWordField(CRS_, 0x76, TMEM)
            CreateDWordField(CRS_, 0x82, TLEN)
            Store(MDET(), TMEM)
            Subtract(0xfec00000, TMEM, TLEN)
            Return(CRS_)
        }
        Method(_PRT) {
            If(APIC) {
                Return(PIC0)
            }
            Else {
                Return(PIC1)
            }
        }
        Name(PIC0, Package(0x2d) {
            Package(0x4) {
                0x0001ffff,
                0x0,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0001ffff,
                0x1,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0001ffff,
                0x2,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0001ffff,
                0x3,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x0002ffff,
                0x0,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0002ffff,
                0x1,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0002ffff,
                0x2,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0002ffff,
                0x3,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x0003ffff,
                0x0,
                0x0,
                0x14,
            },
            Package(0x4) {
                0x0003ffff,
                0x1,
                0x0,
                0x15,
            },
            Package(0x4) {
                0x0003ffff,
                0x2,
                0x0,
                0x16,
            },
            Package(0x4) {
                0x0003ffff,
                0x3,
                0x0,
                0x17,
            },
            Package(0x4) {
                0x0004ffff,
                0x0,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x0006ffff,
                0x0,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0006ffff,
                0x1,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0006ffff,
                0x2,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x0006ffff,
                0x3,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0007ffff,
                0x0,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0007ffff,
                0x1,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x0007ffff,
                0x2,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0007ffff,
                0x3,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0008ffff,
                0x0,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x0008ffff,
                0x1,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0008ffff,
                0x2,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0008ffff,
                0x3,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0009ffff,
                0x0,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0009ffff,
                0x1,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0009ffff,
                0x2,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0009ffff,
                0x3,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x000affff,
                0x0,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x000affff,
                0x1,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x000affff,
                0x2,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x000affff,
                0x3,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x000bffff,
                0x0,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x000bffff,
                0x1,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x000bffff,
                0x2,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x000bffff,
                0x3,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x000cffff,
                0x0,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x000cffff,
                0x1,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x000cffff,
                0x2,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x000cffff,
                0x3,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x000fffff,
                0x0,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x000fffff,
                0x1,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x000fffff,
                0x2,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x000fffff,
                0x3,
                0x0,
                0x11,
            },
        })
        Name(PIC1, Package(0x2d) {
            Package(0x4) {
                0x0001ffff,
                0x0,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0001ffff,
                0x1,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0001ffff,
                0x2,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x0001ffff,
                0x3,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x0002ffff,
                0x0,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0002ffff,
                0x1,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0002ffff,
                0x2,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x0002ffff,
                0x3,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x0003ffff,
                0x0,
                \_SB_.LNKE,
                0x0,
            },
            Package(0x4) {
                0x0003ffff,
                0x1,
                \_SB_.LNKF,
                0x0,
            },
            Package(0x4) {
                0x0003ffff,
                0x2,
                \_SB_.LNKG,
                0x0,
            },
            Package(0x4) {
                0x0003ffff,
                0x3,
                \_SB_.LNKH,
                0x0,
            },
            Package(0x4) {
                0x0004ffff,
                0x0,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x0006ffff,
                0x0,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0006ffff,
                0x1,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x0006ffff,
                0x2,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x0006ffff,
                0x3,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0007ffff,
                0x0,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x0007ffff,
                0x1,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x0007ffff,
                0x2,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0007ffff,
                0x3,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0008ffff,
                0x0,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x0008ffff,
                0x1,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0008ffff,
                0x2,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0008ffff,
                0x3,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x0009ffff,
                0x0,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0009ffff,
                0x1,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0009ffff,
                0x2,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x0009ffff,
                0x3,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x000affff,
                0x0,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x000affff,
                0x1,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x000affff,
                0x2,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x000affff,
                0x3,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x000bffff,
                0x0,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x000bffff,
                0x1,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x000bffff,
                0x2,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x000bffff,
                0x3,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x000cffff,
                0x0,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x000cffff,
                0x1,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x000cffff,
                0x2,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x000cffff,
                0x3,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x000fffff,
                0x0,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x000fffff,
                0x1,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x000fffff,
                0x2,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x000fffff,
                0x3,
                \_SB_.LNKB,
                0x0,
            },
        })
        Device(SBRG) {
            Name(_ADR, 0x00020000)
            Name(\_SB_.PRSA, Buffer(0x8) {0x30, 0x23, 0xb8, 0xdc, 0x18, 0x38, 0x79, 0x0 })
            Name(\_SB_.PRSB, Buffer(0x8) {0x30, 0x23, 0xb8, 0xdc, 0x18, 0x38, 0x79, 0x0 })
            Name(\_SB_.PRSC, Buffer(0x8) {0x30, 0x23, 0xb8, 0xdc, 0x18, 0x38, 0x79, 0x0 })
            Name(\_SB_.PRSD, Buffer(0x8) {0x30, 0x23, 0xb8, 0xdc, 0x18, 0x38, 0x79, 0x0 })
            Name(\_SB_.PRSE, Buffer(0x8) {0x30, 0x23, 0xb8, 0xdc, 0x18, 0x38, 0x79, 0x0 })
            Name(\_SB_.PRSF, Buffer(0x8) {0x30, 0x23, 0xb8, 0xdc, 0x18, 0x38, 0x79, 0x0 })
            Name(\_SB_.PRSG, Buffer(0x8) {0x30, 0x23, 0xb8, 0xdc, 0x18, 0x38, 0x79, 0x0 })
            Name(\_SB_.PRSH, Buffer(0x8) {0x30, 0x23, 0xb8, 0xdc, 0x18, 0x38, 0x79, 0x0 })
            OperationRegion(PIX0, PCI_Config, 0x41, 0x4)
            OperationRegion(PIX1, PCI_Config, 0x60, 0x4)
            Scope(\_SB_) {
                Field(PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve) {
                    PIRA,	8,
                    PIRB,	8,
                    PIRC,	8,
                    PIRD,	8
                }
                Field(PCI0.SBRG.PIX1, ByteAcc, NoLock, Preserve) {
                    PIRE,	8,
                    PIRF,	8,
                    PIRG,	8,
                    PIRH,	8
                }
                Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x80, 0x18, 0x79, 0x0 })
                Device(LNKA) {
                    Name(_HID, 0x0f0cd041)
                    Name(_UID, 0x1)
                    Method(_STA) {
                        And(PIRA, 0x80, Local0)
                        If(Local0) {
                            Return(0x9)
                        }
                        Else {
                            Return(0xb)
                        }
                    }
                    Method(_PRS) {
                        Return(PRSA)
                    }
                    Method(_DIS) {
                        Or(PIRA, 0x80, PIRA)
                    }
                    Method(_CRS) {
                        CreateWordField(BUFA, 0x1, IRA0)
                        And(PIRA, 0xf, Local0)
                        Store(One, Local1)
                        ShiftLeft(Local1, Local0, IRA0)
                        Return(BUFA)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Decrement(Local0)
                        Store(Local0, 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(PRSB)
                    }
                    Method(_DIS) {
                        Or(PIRB, 0x80, PIRB)
                    }
                    Method(_CRS) {
                        CreateWordField(BUFA, 0x1, IRA0)
                        And(PIRB, 0xf, Local0)
                        Store(One, Local1)
                        ShiftLeft(Local1, Local0, IRA0)
                        Return(BUFA)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Decrement(Local0)
                        Store(Local0, 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(PRSC)
                    }
                    Method(_DIS) {
                        Or(PIRC, 0x80, PIRC)
                    }
                    Method(_CRS) {
                        CreateWordField(BUFA, 0x1, IRA0)
                        And(PIRC, 0xf, Local0)
                        Store(One, Local1)
                        ShiftLeft(Local1, Local0, IRA0)
                        Return(BUFA)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Decrement(Local0)
                        Store(Local0, 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(PRSD)
                    }
                    Method(_DIS) {
                        Or(PIRD, 0x80, PIRD)
                    }
                    Method(_CRS) {
                        CreateWordField(BUFA, 0x1, IRA0)
                        And(PIRD, 0xf, Local0)
                        Store(One, Local1)
                        ShiftLeft(Local1, Local0, IRA0)
                        Return(BUFA)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Decrement(Local0)
                        Store(Local0, PIRD)
                    }
                }
                Device(LNKE) {
                    Name(_HID, 0x0f0cd041)
                    Name(_UID, 0x5)
                    Method(_STA) {
                        And(PIRE, 0x80, Local0)
                        If(Local0) {
                            Return(0x9)
                        }
                        Else {
                            Return(0xb)
                        }
                    }
                    Method(_PRS) {
                        Return(PRSE)
                    }
                    Method(_DIS) {
                        Or(PIRE, 0x80, PIRE)
                    }
                    Method(_CRS) {
                        CreateWordField(BUFA, 0x1, IRA0)
                        And(PIRE, 0xf, Local0)
                        Store(One, Local1)
                        ShiftLeft(Local1, Local0, IRA0)
                        Return(BUFA)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Decrement(Local0)
                        Store(Local0, PIRE)
                    }
                }
                Device(LNKF) {
                    Name(_HID, 0x0f0cd041)
                    Name(_UID, 0x6)
                    Method(_STA) {
                        And(PIRF, 0x80, Local0)
                        If(Local0) {
                            Return(0x9)
                        }
                        Else {
                            Return(0xb)
                        }
                    }
                    Method(_PRS) {
                        Return(PRSF)
                    }
                    Method(_DIS) {
                        Or(PIRF, 0x80, PIRF)
                    }
                    Method(_CRS) {
                        CreateWordField(BUFA, 0x1, IRA0)
                        And(PIRF, 0xf, Local0)
                        Store(One, Local1)
                        ShiftLeft(Local1, Local0, IRA0)
                        Return(BUFA)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Decrement(Local0)
                        Store(Local0, PIRF)
                    }
                }
                Device(LNKG) {
                    Name(_HID, 0x0f0cd041)
                    Name(_UID, 0x7)
                    Method(_STA) {
                        And(PIRG, 0x80, Local0)
                        If(Local0) {
                            Return(0x9)
                        }
                        Else {
                            Return(0xb)
                        }
                    }
                    Method(_PRS) {
                        Return(PRSG)
                    }
                    Method(_DIS) {
                        Or(PIRG, 0x80, PIRG)
                    }
                    Method(_CRS) {
                        CreateWordField(BUFA, 0x1, IRA0)
                        And(PIRG, 0xf, Local0)
                        Store(One, Local1)
                        ShiftLeft(Local1, Local0, IRA0)
                        Return(BUFA)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Decrement(Local0)
                        Store(Local0, PIRG)
                    }
                }
                Device(LNKH) {
                    Name(_HID, 0x0f0cd041)
                    Name(_UID, 0x8)
                    Method(_STA) {
                        And(PIRH, 0x80, Local0)
                        If(Local0) {
                            Return(0x9)
                        }
                        Else {
                            Return(0xb)
                        }
                    }
                    Method(_PRS) {
                        Return(PRSH)
                    }
                    Method(_DIS) {
                        Or(PIRH, 0x80, PIRH)
                    }
                    Method(_CRS) {
                        CreateWordField(BUFA, 0x1, IRA0)
                        And(PIRH, 0xf, Local0)
                        Store(One, Local1)
                        ShiftLeft(Local1, Local0, IRA0)
                        Return(BUFA)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Decrement(Local0)
                        Store(Local0, PIRH)
                    }
                }
            }
            Device(SYSR) {
                Name(_HID, 0x020cd041)
                Method(_STA) {
                    If(OSFL) {
                        Return(0xf)
                    }
                    Return(0xf)
                }
                Name(IORG, Buffer(0x66) {0x4b, 0x10, 0x0, 0x10, 0x4b, 0x20, 0x0, 0x20, 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, 0xa0, 0x0, 0x20, 0x4b, 0xe0, 0x0, 0x10, 0x4b, 0x90, 0x2, 0x8, 0x47, 0x1, 0x80, 0x4, 0x80, 0x4, 0x0, 0x10, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x0, 0x2, 0x47, 0x1, 0x0, 0xc, 0x0, 0xc, 0x0, 0x20, 0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x0, 0x2, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xfe, 0x0, 0x0, 0x10, 0x0, 0x79, 0x0 })
                Name(IO98, Buffer(0x7a) {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, 0x4b, 0x90, 0x2, 0x8, 0x47, 0x1, 0x80, 0x4, 0x80, 0x4, 0x0, 0x10, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x0, 0x2, 0x47, 0x1, 0x0, 0x8, 0x0, 0x8, 0x0, 0x80, 0x4b, 0x80, 0x8, 0x80, 0x47, 0x1, 0x0, 0xc, 0x0, 0xc, 0x0, 0x20, 0x85, 0x11, 0x0, 0x0, 0x0, 0x0, 0xe8, 0xff, 0x0, 0x0, 0xe8, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x0, 0x2, 0x79, 0x0 })
                Method(_CRS) {
                    If(OSFL) {
                        CreateWordField(IO98, 0x4a, PMIN)
                        CreateWordField(IO98, 0x4c, PMAX)
                        CreateByteField(IO98, 0x4f, PLEN)
                        CreateWordField(IO98, 0x56, SMIN)
                        CreateWordField(IO98, 0x58, SMAX)
                        CreateByteField(IO98, 0x5b, SLEN)
                        Store(\_SB_.PCI0.SBRG.PMBS(), PMIN)
                        Store(PMIN, PMAX)
                        If(PMIN) {
                            Store(0x80, PLEN)
                        }
                        Store(\_SB_.PCI0.SBRG.SMBS(), SMIN)
                        Store(SMIN, SMAX)
                        If(SMIN) {
                            Store(0x20, SLEN)
                        }
                        Return(IO98)
                    }
                    Else {
                        CreateWordField(IORG, 0x4a, SM00)
                        CreateWordField(IORG, 0x4c, SM01)
                        CreateByteField(IORG, 0x4f, SMLN)
                        Store(\_SB_.PCI0.SBRG.SMBS(), SM00)
                        Store(SM00, SM01)
                        If(SM00) {
                            Store(0x20, SMLN)
                        }
                        Return(IORG)
                    }
                }
            }
            Device(\_SB_.MEM_) {
                Name(_HID, 0x010cd041)
                Method(_STA) {
                    If(\_SB_.PCI0.OSFL) {
                        Return(0xf)
                    }
                    Return(0x0)
                }
                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, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0xf0, 0x1f, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xfe, 0x0, 0x0, 0x10, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xfe, 0x0, 0x0, 0x10, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xfc, 0xff, 0x0, 0x0, 0x4, 0x0, 0x79, 0x0 })
                Method(_CRS) {
                    CreateDWordField(MEM1, 0x20, TOP1)
                    Subtract(\_SB_.PCI0.MDET(), 0x00100000, TOP1)
                    Return(MEM1)
                }
            }
            Device(PIC_) {
                Name(_HID, 0xd041)
                Method(_STA) {
                    If(OSFL) {
                        Return(0xf)
                    }
                    Return(0x0)
                }
                Name(_CRS, Buffer(0xd) {0x4b, 0x20, 0x0, 0x2, 0x4b, 0xa0, 0x0, 0x2, 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, 0x0, 0x1, 0x4b, 0xc0, 0x0, 0x20, 0x79, 0x0 })
            }
            Device(TMR_) {
                Name(_HID, 0x0001d041)
                Name(_CRS, Buffer(0x9) {0x4b, 0x40, 0x0, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 })
            }
            Device(RTC_) {
                Name(_HID, 0x000bd041)
                Name(_CRS, Buffer(0x9) {0x4b, 0x70, 0x0, 0x2, 0x22, 0x0, 0x1, 0x79, 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, 0x000fe2c2, 0x1)
            Field(PSRG, ByteAcc, NoLock, Preserve) {
                PK2E,	1,
                PM2E,	1,
                Offset(0x1)
            }
            Device(PS2M) {
                Name(_HID, 0x030fd041)
                Name(_CID, 0x130fd041)
                Method(_STA) {
                    If(PM2E) {
                        Return(0xf)
                    }
                    Else {
                        Return(0x0)
                    }
                }
                Name(M2R0, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 })
                Name(M2R1, Buffer(0xd) {0x4b, 0x60, 0x0, 0x1, 0x4b, 0x64, 0x0, 0x1, 0x22, 0x0, 0x10, 0x79, 0x0 })
                Method(_CRS) {
                    If(PK2E) {
                        Return(M2R0)
                    }
                    Else {
                        Return(M2R1)
                    }
                }
            }
            Device(PS2K) {
                Name(_HID, 0x0b03d041)
                Method(_STA) {
                    If(PK2E) {
                        Return(0xf)
                    }
                    Else {
                        Return(0x0)
                    }
                }
                Name(_CRS, Buffer(0xd) {0x4b, 0x60, 0x0, 0x1, 0x4b, 0x64, 0x0, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 })
            }
            Name(PS2K._PRW, Package(0x2) {
                0xf,
                0x4,
            })
            Scope(\_GPE) {
                Method(_L0F) {
                    Notify(\_SB_.PCI0.SBRG.PS2K, 0x2)
                }
            }
            Name(PS2M._PRW, Package(0x2) {
                0xd,
                0x4,
            })
            Scope(\_GPE) {
                Method(_L0D) {
                    Notify(\_SB_.PCI0.SBRG.PS2M, 0x2)
                }
            }
            Method(RRIO, 4) {
                Noop
            }
            Method(RGNR, 4) {
                Noop
            }
            Method(RDMA, 3) {
                Noop
            }
            Name(SPIO, 0x2e)
            OperationRegion(WIN1, SystemIO, SPIO, 0x2)
            Field(WIN1, ByteAcc, NoLock, Preserve) {
                INDX,	8,
                DATA,	8
            }
            IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
                Offset(0x2),
                CFG_,	8,
                Offset(0x7),
                LDN_,	8,
                Offset(0x30),
                ACTR,	8,
                Offset(0x60),
                IOAH,	8,
                IOAL,	8,
                IOEH,	8,
                IOEL,	8,
                Offset(0x70),
                INTR,	8,
                Offset(0x72),
                INT1,	8,
                Offset(0x74),
                DMCH,	8,
                Offset(0xc0),
                GP40,	8,
                Offset(0xf0),
                OPT1,	8,
                OPT2,	8,
                OPT3,	8,
                OPT4,	8,
                OPT5,	8
            }
            Method(ENFG) {
                Store(0x87, INDX)
                Store(0x87, INDX)
            }
            Method(EXFG) {
                Store(0xaa, INDX)
            }
            Name(LDFD, 0x0)
            Name(LDLP, 0x1)
            Name(LDU1, 0x2)
            Name(LDU2, 0x3)
            Name(LDIR, 0x6)
            Name(LDGM, 0x7)
            Name(LDMD, 0x8)
            Name(LDPM, 0xa)
            Device(FDC0) {
                Name(_HID, 0x0007d041)
                Method(_STA) {
                    If(FDST) {
                        Return(GSTA(LDFD))
                    }
                    Return(0x0)
                }
                Method(_DIS) {
                    DDIS(LDFD)
                }
                Method(_CRS) {
                    Return(FCRS)
                }
                Method(_PRS) {
                    Return(FPRS)
                }
                Method(_SRS, 1) {
                    DENB(LDFD)
                }
            }
            Device(UAR1) {
                Name(_HID, 0x0105d041)
                Name(_UID, 0x1)
                Method(_STA) {
                    If(U1ST) {
                        Return(GSTA(LDU1))
                    }
                    Return(0x0)
                }
                Method(_DIS) {
                    DDIS(LDU1)
                }
                Method(_CRS) {
                    Return(PCRS(LDU1, 0x1, 0x8))
                }
                Method(_SRS, 1) {
                    PSRS(Arg0, LDU1)
                    ENFG()
                    EXFG()
                }
                Method(_PRS) {
                    Return(C1PR)
                }
            }
            Device(UAR2) {
                Method(_HID) {
                    ENFG()
                    Store(LDU2, LDN_)
                    And(OPT2, 0x30, Local0)
                    EXFG()
                    If(Local0) {
                        Return(0x1005d041)
                    }
                    Else {
                        Return(0x0105d041)
                    }
                }
                Name(_UID, 0x2)
                Method(_STA) {
                    If(U2ST) {
                        Return(GSTA(LDU2))
                    }
                    Return(0x0)
                }
                Method(_DIS) {
                    DDIS(LDU2)
                }
                Method(_CRS) {
                    Return(PCRS(LDU2, 0x1, 0x8))
                }
                Method(_SRS, 1) {
                    PSRS(Arg0, LDU2)
                    ENFG()
                    EXFG()
                }
                Method(_PRS) {
                    Return(C2PR)
                }
            }
            Device(IRDA) {
                Name(_HID, 0x1005d041)
                Method(_STA) {
                    If(IRST) {
                        Return(GSTA(LDIR))
                    }
                    Return(0x0)
                }
                Method(_DIS) {
                    DDIS(LDIR)
                }
                Method(_CRS) {
                    Name(BUF6, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
                    CreateByteField(BUF6, 0x2, IOLO)
                    CreateByteField(BUF6, 0x3, IOHI)
                    CreateByteField(BUF6, 0x4, IORL)
                    CreateByteField(BUF6, 0x5, IORH)
                    CreateWordField(BUF6, 0x9, IRQM)
                    ENFG()
                    Store(LDIR, LDN_)
                    If(ACTR) {
                        Store(0x10, IOLO)
                        Store(0x3, IOHI)
                    }
                    Else {
                        Store(0x0, IOLO)
                        Store(0x0, IOHI)
                    }
                    Store(IOLO, IORL)
                    Store(IOHI, IORH)
                    ShiftLeft(0x1, INTR, IRQM)
                    EXFG()
                    Return(BUF6)
                }
                Method(_SRS, 1) {
                    PSRS(Arg0, LDIR)
                }
                Name(_PRS, Buffer(0xf) {0x30, 0x47, 0x1, 0x10, 0x3, 0x10, 0x3, 0x8, 0x8, 0x22, 0x20, 0xc, 0x38, 0x79, 0x0 })
            }
            Device(LPT_) {
                Name(_HID, 0x0004d041)
                Method(_STA) {
                    ENFG()
                    Store(LDLP, LDN_)
                    And(OPT1, 0x2, Local0)
                    EXFG()
                    If(Or(Local0, And(Not(LPST, ), 0x1, ), )) {
                        Return(Zero)
                    }
                    Else {
                        Return(GSTA(LDLP))
                    }
                }
                Method(_DIS) {
                    DDIS(LDLP)
                }
                Method(_CRS) {
                    Return(PCRS(LDLP, 0x1, 0x8))
                }
                Method(_SRS, 1) {
                    PSRS(Arg0, LDLP)
                    ENFG()
                    EXFG()
                }
                Method(_PRS) {
                    Return(LPPR)
                }
            }
            Device(ECP_) {
                Name(_HID, 0x0104d041)
                Method(_STA) {
                    ENFG()
                    Store(LDLP, LDN_)
                    And(OPT1, 0x2, Local0)
                    EXFG()
                    If(Local0) {
                        Return(GSTA(LDLP))
                    }
                    Else {
                        Return(Zero)
                    }
                }
                Method(_DIS) {
                    DDIS(LDLP)
                }
                Method(_CRS) {
                    Return(ECRS(LDLP))
                }
                Method(_SRS, 1) {
                    ESRS(Arg0, LDLP)
                    ENFG()
                    EXFG()
                }
                Method(_PRS) {
                    Return(EPRS)
                }
            }
            Device(GAME) {
                Name(_HID, 0x2fb0d041)
                Method(_STA) {
                    ENFG()
                    Store(LDGM, LDN_)
                    Return(GSTA(LDGM))
                    EXFG()
                }
                Method(_DIS) {
                    DDIS(LDGM)
                }
                Method(_CRS) {
                    Name(BUF6, Buffer(0xa) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x79, 0x0 })
                    CreateByteField(BUF6, 0x2, IOLO)
                    CreateByteField(BUF6, 0x3, IOHI)
                    CreateByteField(BUF6, 0x4, IORL)
                    CreateByteField(BUF6, 0x5, IORH)
                    ENFG()
                    Store(LDGM, LDN_)
                    If(LNot(LEqual(IOAL, 0x8))) {
                        Store(0x0, IOLO)
                        Store(0x2, IOHI)
                    }
                    Else {
                        Store(0x8, IOLO)
                        Store(0x2, IOHI)
                    }
                    Store(IOLO, IORL)
                    Store(IOHI, IORH)
                    EXFG()
                    Return(BUF6)
                }
                Name(_PRS, Buffer(0x15) {0x30, 0x47, 0x1, 0x0, 0x2, 0x0, 0x2, 0x8, 0x8, 0x30, 0x47, 0x1, 0x8, 0x2, 0x8, 0x2, 0x8, 0x8, 0x38, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateByteField(Arg0, 0x2, IOLO)
                    CreateByteField(Arg0, 0x3, IOHI)
                    ENFG()
                    Store(LDGM, LDN_)
                    If(LNot(LEqual(IOLO, 0x8))) {
                        Store(0x2, IOAH)
                        Store(0x0, IOAL)
                    }
                    Else {
                        Store(0x2, IOAH)
                        Store(0x8, IOAL)
                    }
                    DENB(LDGM)
                }
            }
            Device(MIDI) {
                Name(_HID, 0x06b0d041)
                Method(_STA) {
                    Return(GSTA(LDMD))
                }
                Method(_DIS) {
                    DDIS(LDMD)
                }
                Method(_CRS) {
                    Name(BUF6, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x2, 0x2, 0x22, 0x0, 0x0, 0x79, 0x0 })
                    CreateByteField(BUF6, 0x2, IOLO)
                    CreateByteField(BUF6, 0x3, IOHI)
                    CreateByteField(BUF6, 0x4, IORL)
                    CreateByteField(BUF6, 0x5, IORH)
                    CreateWordField(BUF6, 0x9, IRQM)
                    ENFG()
                    Store(LDMD, LDN_)
                    If(LEqual(IOAL, 0x30)) {
                        Store(0x30, IOLO)
                        Store(0x3, IOHI)
                    }
                    Else {
                        Store(0x0, IOLO)
                        Store(0x3, IOHI)
                    }
                    Store(IOLO, IORL)
                    Store(IOHI, IORH)
                    ShiftLeft(0x1, INTR, IRQM)
                    EXFG()
                    Return(BUF6)
                }
                Name(_PRS, Buffer(0x1b) {0x30, 0x47, 0x1, 0x30, 0x3, 0x30, 0x3, 0x2, 0x2, 0x22, 0x20, 0xc, 0x30, 0x47, 0x1, 0x0, 0x3, 0x0, 0x3, 0x2, 0x2, 0x22, 0x20, 0xc, 0x38, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateByteField(Arg0, 0x2, IOLO)
                    CreateByteField(Arg0, 0x3, IOHI)
                    CreateWordField(Arg0, 0x9, IRQM)
                    ENFG()
                    Store(LDMD, LDN_)
                    If(LEqual(IOLO, 0x30)) {
                        Store(0x3, IOAH)
                        Store(0x30, IOAL)
                    }
                    Else {
                        Store(0x3, IOAH)
                        Store(0x0, IOAL)
                    }
                    FindSetRightBit(IRQM, Local0)
                    Subtract(Local0, 0x1, INTR)
                    DENB(LDMD)
                }
            }
            Name(FDST, 0x0)
            Name(U1ST, 0x0)
            Name(U2ST, 0x0)
            Name(IRST, 0x0)
            Name(LPST, 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)
                }
            }
            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(DDIS, 1) {
                ENFG()
                Store(Arg0, LDN_)
                Store(Zero, ACTR)
                EXFG()
            }
            Method(DENB, 1) {
                ENFG()
                Store(Arg0, LDN_)
                Store(One, ACTR)
                EXFG()
            }
            Method(PCRS, 3) {
                CreateByteField(PBUF, 0x2, IOLO)
                CreateByteField(PBUF, 0x3, IOHI)
                CreateWordField(PBUF, 0x2, IOHL)
                CreateWordField(PBUF, 0x4, IORL)
                CreateByteField(PBUF, 0x6, ALMN)
                CreateByteField(PBUF, 0x7, LENG)
                CreateByteField(PBUF, 0x9, IRQL)
                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)
                }
                Store(One, Local0)
                ShiftLeft(Local0, INTR, IRQL)
                EXFG()
                Return(PBUF)
            }
            Method(PSRS, 2) {
                CreateByteField(Arg0, 0x2, POLB)
                CreateByteField(Arg0, 0x3, POHB)
                CreateByteField(Arg0, 0x9, PIRQ)
                ENFG()
                Store(Arg1, LDN_)
                Store(POLB, IOAL)
                Store(POHB, IOAH)
                FindSetRightBit(PIRQ, Local0)
                Subtract(Local0, 0x1, INTR)
                Store(One, ACTR)
                EXFG()
            }
            Method(ECRS, 1) {
                CreateByteField(EBUF, 0x2, EPLO)
                CreateByteField(EBUF, 0x3, EPHI)
                CreateWordField(EBUF, 0x2, EPHL)
                CreateWordField(EBUF, 0x4, EPRL)
                CreateWordField(EBUF, 0x6, ALM1)
                CreateWordField(EBUF, 0xa, E4LO)
                CreateWordField(EBUF, 0xc, E4RL)
                CreateWordField(EBUF, 0x11, EIRQ)
                CreateWordField(EBUF, 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)
                }
                Else {
                    Store(0x0801, ALM1)
                }
                Store(One, Local0)
                Store(INTR, Local1)
                ShiftLeft(Local0, Local1, EIRQ)
                Store(DMCH, Local1)
                If(LGreater(Local1, 0x3)) {
                    Store(0x0, EDMA)
                }
                Else {
                    Store(One, Local0)
                    ShiftLeft(Local0, Local1, EDMA)
                }
                EXFG()
                Return(EBUF)
            }
            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)
                FindSetRightBit(IRQE, Local0)
                Subtract(Local0, 0x1, INTR)
                If(DMAE) {
                    FindSetRightBit(DMAE, 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(CSCP, 0x0)
            PowerResource(URP1, 0, 0) {
                Method(_STA) {
                    Return(CSCP)
                }
                Method(_ON_) {
                    Store(0x1, CSCP)
                }
                Method(_OFF) {
                    Store(0x0, CSCP)
                }
            }
            PowerResource(URP2, 0, 0) {
                Method(_STA) {
                    Return(CSCP)
                }
                Method(_ON_) {
                    Store(0x1, CSCP)
                }
                Method(_OFF) {
                    Store(0x0, CSCP)
                }
            }
            PowerResource(FDDP, 0, 0) {
                Method(_STA) {
                    Return(CSCP)
                }
                Method(_ON_) {
                    Store(0x1, CSCP)
                }
                Method(_OFF) {
                    Store(0x0, CSCP)
                }
            }
            PowerResource(LPTP, 0, 0) {
                Method(_STA) {
                    Return(CSCP)
                }
                Method(_ON_) {
                    Store(0x1, CSCP)
                }
                Method(_OFF) {
                    Store(0x0, CSCP)
                }
            }
            Name(FCRS, 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(PBUF, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x1, 0x0, 0x79, 0x0 })
            Name(EBUF, 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(FPRS, 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(0x40) {0x31, 0x0, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x4, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x4, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x4, 0x8, 0x22, 0x18, 0xc, 0x38, 0x79, 0x0 })
            Name(C2PR, Buffer(0x40) {0x31, 0x0, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x4, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x4, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x4, 0x8, 0x22, 0x18, 0xc, 0x38, 0x79, 0x0 })
            Name(LPPR, Buffer(0x34) {0x31, 0x0, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0xa0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0xa0, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x38, 0x79, 0x0 })
            Name(EPRS, Buffer(0xa5) {0x31, 0x0, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x4, 0x22, 0x80, 0x0, 0x2a, 0x2, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x38, 0x79, 0x0 })
            Name(UAR1._PR0, Package(0x1) {
                URP1,
            })
            Name(UAR2._PR0, Package(0x1) {
                URP2,
            })
            Name(FDC0._PR0, Package(0x1) {
                FDDP,
            })
            Name(ECP_._PR0, Package(0x1) {
                LPTP,
            })
            Name(LPT_._PR0, Package(0x1) {
                LPTP,
            })
            Name(UAR1._PRW, Package(0x2) {
                0x8,
                0x4,
            })
            Scope(\_GPE) {
                Method(_L08) {
                    Notify(\_SB_.PCI0.SBRG.UAR1, 0x2)
                }
            }
            Name(UAR2._PRW, Package(0x2) {
                0x8,
                0x4,
            })
            Method(PMBS) {
                Or(ShiftLeft(0x8, 0x8, ), 0x0, Local0)
                Return(Local0)
            }
            Method(SMBS) {
                Or(ShiftLeft(0xc, 0x8, ), 0x0, Local0)
                Return(Local0)
            }
            OperationRegion(PWRG, SystemIO, PMBS, 0x80)
            OperationRegion(SMRG, SystemIO, SMBS, 0x20)
        }
        Device(IDEC) {
            Name(_ADR, 0x00020005)
            Name(IO5T, Package(0x3) {
                Package(0x7) {
                    0x78,
                    0xb4,
                    0x014a,
                    0x0186,
                    0x0258,
                    0x78,
                    0x96,
                },
                Package(0x7) {
                    0x6,
                    0x7,
                    0x1c,
                    0x1c,
                    0x1c,
                    0x6,
                    0x7,
                },
                Package(0x7) {
                    0x4,
                    0x9,
                    0x3,
                    0x9,
                    0x1e,
                    0x4,
                    0x6,
                },
            })
            Name(IO6T, Package(0x3) {
                Package(0x7) {
                    0x78,
                    0xb4,
                    0x014a,
                    0x0186,
                    0x0258,
                    0x78,
                    0xb4,
                },
                Package(0x7) {
                    0x9,
                    0xa,
                    0x26,
                    0x26,
                    0x26,
                    0x9,
                    0xa,
                },
                Package(0x7) {
                    0x5,
                    0xc,
                    0x4,
                    0xc,
                    0x28,
                    0x5,
                    0xc,
                },
            })
            Name(UM5T, Package(0x6) {
                0xb,
                0x7,
                0x5,
                0x4,
                0x2,
                0x1,
            })
            Name(UM6T, Package(0x7) {
                0xf,
                0xa,
                0x7,
                0x5,
                0x3,
                0x2,
                0x1,
            })
            Name(PIO5, Package(0x5) {
                0x3a,
                0x25,
                0x1f,
                0x10,
                0xa,
            })
            Name(PIO6, Package(0x5) {
                0x4e,
                0x32,
                0x2a,
                0x16,
                0xe,
            })
            Name(CRCT, Package(0x7) {
                0x6,
                0x4,
                0x3,
                0x1,
                0x1,
                0x1,
                0x1,
            })
            Name(INTT, Package(0x5) {
                0x2,
                0x2,
                0x2,
                0x4,
                0x6,
            })
            Name(DMAT, Package(0x5) {
                0x0,
                0x1,
                0x1,
                0x1,
                0x2,
            })
            Name(RMFL, 0x1)
            OperationRegion(CF40, PCI_Config, 0x40, 0x18)
            Field(CF40, WordAcc, NoLock, Preserve) {
                ,	1,
                IOR0,	1,
                UDM0,	1,
                UM60,	1,
                UCT0,	4,
                CRC0,	4,
                INI0,	4,
                ATT0,	6,
                Offset(0x3),
                RCT0,	6,
                Offset(0x4),
                ,	1,
                IOR1,	1,
                UDM1,	1,
                UM61,	1,
                UCT1,	4,
                CRC1,	4,
                INI1,	4,
                ATT1,	6,
                Offset(0x7),
                RCT1,	6,
                Offset(0x8),
                ,	1,
                IOR2,	1,
                UDM2,	1,
                UM62,	1,
                UCT2,	4,
                CRC2,	4,
                INI2,	4,
                ATT2,	6,
                Offset(0xb),
                RCT2,	6,
                Offset(0xc),
                ,	1,
                IOR3,	1,
                UDM3,	1,
                UM63,	1,
                UCT3,	4,
                CRC3,	4,
                INI3,	4,
                ATT3,	6,
                Offset(0xf),
                RCT3,	6,
                Offset(0x10),
                ,	1,
                CHE0,	1,
                Offset(0x12),
                ,	1,
                CHE1,	1,
                Offset(0x14),
                ,	30,
                REMP,	1,
                Offset(0x18)
            }
            Name(IDEP, Buffer(0x14) { })
            CreateDWordField(IDEP, 0x0, GTM0)
            CreateDWordField(IDEP, 0x4, GTM1)
            CreateDWordField(IDEP, 0x8, GTM2)
            CreateDWordField(IDEP, 0xc, GTM3)
            CreateDWordField(IDEP, 0x10, GTM4)
            Device(IDE0) {
                Name(_ADR, 0x0)
                Method(_GTM) {
                    Store(0xffffffff, Local0)
                    Store(0xffffffff, Local1)
                    Store(0xffffffff, Local2)
                    Store(0xffffffff, Local3)
                    Store(0x10, Local4)
                    Store(REMP, RMFL)
                    Store(0x0, REMP)
                    If(CHE0) {
                        If(LNot(LEqual(ATT0, 0x0))) {
                            Add(RCT0, 0x1, Local5)
                            Add(ATT0, 0x1, Local6)
                            Add(Local5, Local6, Local5)
                            Multiply(UM60, 0x5, Local6)
                            Subtract(0x14, Local6, Local7)
                            Multiply(Local5, Local7, Local0)
                            ShiftRight(Local0, 0x1, Local0)
                            If(LNot(LGreater(Local0, 0xb4))) {
                                Store(Local0, Local1)
                            }
                            If(IOR0) {
                                Or(Local4, 0x2, Local4)
                            }
                            If(UDM0) {
                                Add(UCT0, 0x1, Local5)
                                Multiply(Local5, Local7, Local6)
                                ShiftRight(Local6, 0x1, Local1)
                                Or(Local4, 0x1, Local4)
                            }
                        }
                        If(LNot(LEqual(ATT1, 0x0))) {
                            Add(RCT1, 0x1, Local5)
                            Add(ATT1, 0x1, Local6)
                            Add(Local5, Local6, Local5)
                            Multiply(UM61, 0x5, Local6)
                            Subtract(0x14, Local6, Local7)
                            Multiply(Local5, Local7, Local2)
                            ShiftRight(Local2, 0x1, Local2)
                            If(LNot(LGreater(Local2, 0xb4))) {
                                Store(Local2, Local3)
                            }
                            If(IOR1) {
                                Or(Local4, 0x8, Local4)
                            }
                            If(UDM1) {
                                Add(UCT1, 0x1, Local5)
                                Multiply(Local5, Local7, Local6)
                                ShiftRight(Local6, 0x1, Local3)
                                Or(Local4, 0x4, Local4)
                            }
                        }
                    }
                    Store(RMFL, REMP)
                    Store(Local0, GTM0)
                    Store(Local1, GTM1)
                    Store(Local2, GTM2)
                    Store(Local3, GTM3)
                    Store(Local4, GTM4)
                    Return(IDEP)
                }
                Method(_STM, 3) {
                    Store(Arg0, IDEP)
                    Store(GTM0, Local0)
                    Store(GTM1, Local1)
                    Store(GTM2, Local2)
                    Store(GTM3, Local3)
                    Store(GTM4, Local4)
                    Store(REMP, RMFL)
                    Store(0x0, REMP)
                    If(LAnd(LNot(LEqual(Local1, 0xffffffff)), LNot(LEqual(Local1, 0x0)))) {
                        If(And(Local4, 0x1, )) {
                            Store(0x1, UDM0)
                            If(LLess(Local1, 0x14)) {
                                Store(0x1, UM60)
                                Store(0x1, UCT0)
                            }
                            Else {
                                Store(0x0, UM60)
                                Divide(Local1, 0xa, Local6, Local5)
                                Decrement(Local5)
                                Store(Local5, UCT0)
                                Store(Match(UM5T, MEQ, Local5, MTR, 0x0, 0x0), Local5)
                                Store(DerefOf(Index(CRCT, Local5, )), CRC0)
                            }
                        }
                    }
                    If(LAnd(LNot(LEqual(Local0, 0xffffffff)), LNot(LEqual(Local0, 0x0)))) {
                        If(UM60) {
                            Store(Match(DerefOf(Index(IO6T, 0x0, )), MEQ, Local0, MTR, 0x0, 0x0), Local6)
                            Store(DerefOf(Index(DerefOf(Index(IO6T, 0x1, )), Local6, )), ATT0)
                            Store(DerefOf(Index(DerefOf(Index(IO6T, 0x2, )), Local6, )), RCT0)
                        }
                        Else {
                            Store(Match(DerefOf(Index(IO5T, 0x0, )), MEQ, Local0, MTR, 0x0, 0x0), Local6)
                            Store(DerefOf(Index(DerefOf(Index(IO5T, 0x1, )), Local6, )), ATT0)
                            Store(DerefOf(Index(DerefOf(Index(IO5T, 0x2, )), Local6, )), RCT0)
                            Store(DerefOf(Index(INTT, Local6, )), INI0)
                        }
                    }
                    If(LAnd(LNot(LEqual(Local3, 0xffffffff)), LNot(LEqual(Local3, 0x0)))) {
                        If(And(Local4, 0x4, )) {
                            Store(0x1, UDM1)
                            If(LLess(Local3, 0x14)) {
                                Store(0x1, UM61)
                                Store(0x1, UCT1)
                            }
                            Else {
                                Store(0x0, UM61)
                                Divide(Local3, 0xa, Local6, Local5)
                                Decrement(Local5)
                                Store(Local5, UCT1)
                                Store(Match(UM5T, MEQ, Local5, MTR, 0x0, 0x0), Local5)
                                Store(DerefOf(Index(CRCT, Local5, )), CRC1)
                            }
                        }
                    }
                    If(LAnd(LNot(LEqual(Local2, 0xffffffff)), LNot(LEqual(Local2, 0x0)))) {
                        If(UM61) {
                            Store(Match(DerefOf(Index(IO6T, 0x0, )), MEQ, Local2, MTR, 0x0, 0x0), Local6)
                            Store(DerefOf(Index(DerefOf(Index(IO6T, 0x1, )), Local6, )), ATT1)
                            Store(DerefOf(Index(DerefOf(Index(IO6T, 0x2, )), Local6, )), RCT1)
                        }
                        Else {
                            Store(Match(DerefOf(Index(IO5T, 0x0, )), MEQ, Local2, MTR, 0x0, 0x0), Local6)
                            Store(DerefOf(Index(DerefOf(Index(IO5T, 0x1, )), Local6, )), ATT1)
                            Store(DerefOf(Index(DerefOf(Index(IO5T, 0x2, )), Local6, )), RCT1)
                            Store(DerefOf(Index(INTT, Local6, )), INI1)
                        }
                    }
                    Store(RMFL, REMP)
                }
                Device(DRV0) {
                    Name(_ADR, 0x0)
                    Method(_GTF) {
                        Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }, Local6)
                        Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }, Local7)
                        CreateByteField(Local6, 0x1, MODE)
                        CreateByteField(Local7, 0x1, UMOD)
                        Store(REMP, RMFL)
                        Store(0x0, REMP)
                        If(LNot(LEqual(ATT0, 0x0))) {
                            Add(ATT0, RCT0, Local5)
                            If(UM60) {
                                Store(Match(PIO6, MEQ, Local5, MTR, 0x0, 0x0), MODE)
                            }
                            Else {
                                Store(Match(PIO5, MEQ, Local5, MTR, 0x0, 0x0), MODE)
                            }
                            If(UDM0) {
                                If(UM60) {
                                    Store(Match(UM6T, MEQ, UCT0, MTR, 0x0, 0x0), UMOD)
                                }
                                Else {
                                    Store(Match(UM5T, MEQ, UCT0, MTR, 0x0, 0x0), UMOD)
                                }
                                Or(UMOD, 0x40, UMOD)
                            }
                            Else {
                                Store(DerefOf(Index(DMAT, MODE, )), UMOD)
                                Or(UMOD, 0x20, UMOD)
                            }
                            Or(MODE, 0x8, MODE)
                        }
                        Store(RMFL, REMP)
                        Concatenate(Local6, Local7, Local5)
                        Return(Local5)
                    }
                }
                Device(DRV1) {
                    Name(_ADR, 0x1)
                    Method(_GTF) {
                        Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef }, Local6)
                        Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef }, Local7)
                        CreateByteField(Local6, 0x1, MODE)
                        CreateByteField(Local7, 0x1, UMOD)
                        Store(REMP, RMFL)
                        Store(0x0, REMP)
                        If(LNot(LEqual(ATT1, 0x0))) {
                            Add(ATT1, RCT1, Local5)
                            If(UM61) {
                                Store(Match(PIO6, MEQ, Local5, MTR, 0x0, 0x0), MODE)
                            }
                            Else {
                                Store(Match(PIO5, MEQ, Local5, MTR, 0x0, 0x0), MODE)
                            }
                            If(UDM1) {
                                If(UM61) {
                                    Store(Match(UM6T, MEQ, UCT1, MTR, 0x0, 0x0), UMOD)
                                }
                                Else {
                                    Store(Match(UM5T, MEQ, UCT1, MTR, 0x0, 0x0), UMOD)
                                }
                                Or(UMOD, 0x40, UMOD)
                            }
                            Else {
                                Store(DerefOf(Index(DMAT, MODE, )), UMOD)
                                Or(UMOD, 0x20, UMOD)
                            }
                            Or(MODE, 0x8, MODE)
                        }
                        Store(RMFL, REMP)
                        Concatenate(Local6, Local7, Local5)
                        Return(Local5)
                    }
                }
            }
            Device(IDE1) {
                Name(_ADR, 0x1)
                Method(_GTM) {
                    Store(0xffffffff, Local0)
                    Store(0xffffffff, Local1)
                    Store(0xffffffff, Local2)
                    Store(0xffffffff, Local3)
                    Store(0x10, Local4)
                    Store(REMP, RMFL)
                    Store(0x0, REMP)
                    If(CHE1) {
                        If(LNot(LEqual(ATT2, 0x0))) {
                            Add(RCT2, 0x1, Local5)
                            Add(ATT2, 0x1, Local6)
                            Add(Local5, Local6, Local5)
                            Multiply(UM62, 0x5, Local6)
                            Subtract(0x14, Local6, Local7)
                            Multiply(Local5, Local7, Local0)
                            ShiftRight(Local0, 0x1, Local0)
                            If(LNot(LGreater(Local0, 0xb4))) {
                                Store(Local0, Local1)
                            }
                            If(IOR2) {
                                Or(Local4, 0x2, Local4)
                            }
                            If(UDM2) {
                                Add(UCT2, 0x1, Local5)
                                Multiply(Local5, Local7, Local6)
                                ShiftRight(Local6, 0x1, Local1)
                                Or(Local4, 0x1, Local4)
                            }
                        }
                        If(LNot(LEqual(ATT3, 0x0))) {
                            Add(RCT3, 0x1, Local5)
                            Add(ATT3, 0x1, Local6)
                            Add(Local5, Local6, Local5)
                            Multiply(UM63, 0x5, Local6)
                            Subtract(0x14, Local6, Local7)
                            Multiply(Local5, Local7, Local2)
                            ShiftRight(Local2, 0x1, Local2)
                            If(LNot(LGreater(Local2, 0xb4))) {
                                Store(Local2, Local3)
                            }
                            If(IOR3) {
                                Or(Local4, 0x8, Local4)
                            }
                            If(UDM3) {
                                Add(UCT3, 0x1, Local5)
                                Multiply(Local5, Local7, Local6)
                                ShiftRight(Local6, 0x1, Local3)
                                Or(Local4, 0x4, Local4)
                            }
                        }
                    }
                    Store(RMFL, REMP)
                    Store(Local0, GTM0)
                    Store(Local1, GTM1)
                    Store(Local2, GTM2)
                    Store(Local3, GTM3)
                    Store(Local4, GTM4)
                    Return(IDEP)
                }
                Method(_STM, 3) {
                    Store(Arg0, IDEP)
                    Store(GTM0, Local0)
                    Store(GTM1, Local1)
                    Store(GTM2, Local2)
                    Store(GTM3, Local3)
                    Store(GTM4, Local4)
                    Store(REMP, RMFL)
                    Store(0x0, REMP)
                    If(LAnd(LNot(LEqual(Local1, 0xffffffff)), LNot(LEqual(Local1, 0x0)))) {
                        If(And(Local4, 0x1, )) {
                            Store(0x1, UDM2)
                            If(LLess(Local1, 0x14)) {
                                Store(0x1, UM62)
                                Store(0x1, UCT2)
                            }
                            Else {
                                Store(0x0, UM62)
                                Divide(Local1, 0xa, Local6, Local5)
                                Decrement(Local5)
                                Store(Local5, UCT2)
                                Store(Match(UM5T, MEQ, Local5, MTR, 0x0, 0x0), Local5)
                                Store(DerefOf(Index(CRCT, Local5, )), CRC2)
                            }
                        }
                    }
                    If(LAnd(LNot(LEqual(Local0, 0xffffffff)), LNot(LEqual(Local0, 0x0)))) {
                        If(UM62) {
                            Store(Match(DerefOf(Index(IO6T, 0x0, )), MEQ, Local0, MTR, 0x0, 0x0), Local6)
                            Store(DerefOf(Index(DerefOf(Index(IO6T, 0x1, )), Local6, )), ATT2)
                            Store(DerefOf(Index(DerefOf(Index(IO6T, 0x2, )), Local6, )), RCT2)
                        }
                        Else {
                            Store(Match(DerefOf(Index(IO5T, 0x0, )), MEQ, Local0, MTR, 0x0, 0x0), Local6)
                            Store(DerefOf(Index(DerefOf(Index(IO5T, 0x1, )), Local6, )), ATT2)
                            Store(DerefOf(Index(DerefOf(Index(IO5T, 0x2, )), Local6, )), RCT2)
                            Store(DerefOf(Index(INTT, Local6, )), INI2)
                        }
                    }
                    If(LAnd(LNot(LEqual(Local3, 0xffffffff)), LNot(LEqual(Local3, 0x0)))) {
                        If(And(Local4, 0x4, )) {
                            Store(0x1, UDM3)
                            If(LLess(Local3, 0x14)) {
                                Store(0x1, UM63)
                                Store(0x1, UCT3)
                            }
                            Else {
                                Store(0x0, UM63)
                                Divide(Local3, 0xa, Local6, Local5)
                                Decrement(Local5)
                                Store(Local5, UCT3)
                                Store(Match(UM5T, MEQ, Local5, MTR, 0x0, 0x0), Local5)
                                Store(DerefOf(Index(CRCT, Local5, )), CRC3)
                            }
                        }
                    }
                    If(LAnd(LNot(LEqual(Local2, 0xffffffff)), LNot(LEqual(Local2, 0x0)))) {
                        If(UM63) {
                            Store(Match(DerefOf(Index(IO6T, 0x0, )), MEQ, Local2, MTR, 0x0, 0x0), Local6)
                            Store(DerefOf(Index(DerefOf(Index(IO6T, 0x1, )), Local6, )), ATT3)
                            Store(DerefOf(Index(DerefOf(Index(IO6T, 0x2, )), Local6, )), RCT3)
                        }
                        Else {
                            Store(Match(DerefOf(Index(IO5T, 0x0, )), MEQ, Local2, MTR, 0x0, 0x0), Local6)
                            Store(DerefOf(Index(DerefOf(Index(IO5T, 0x1, )), Local6, )), ATT3)
                            Store(DerefOf(Index(DerefOf(Index(IO5T, 0x2, )), Local6, )), RCT3)
                            Store(DerefOf(Index(INTT, Local6, )), INI3)
                        }
                    }
                    Store(RMFL, REMP)
                }
                Device(DRV0) {
                    Name(_ADR, 0x0)
                    Method(_GTF) {
                        Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }, Local6)
                        Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }, Local7)
                        CreateByteField(Local6, 0x1, MODE)
                        CreateByteField(Local7, 0x1, UMOD)
                        Store(REMP, RMFL)
                        Store(0x0, REMP)
                        If(LNot(LEqual(ATT2, 0x0))) {
                            Add(ATT2, RCT2, Local5)
                            If(UM62) {
                                Store(Match(PIO6, MEQ, Local5, MTR, 0x0, 0x0), MODE)
                            }
                            Else {
                                Store(Match(PIO5, MEQ, Local5, MTR, 0x0, 0x0), MODE)
                            }
                            If(UDM2) {
                                If(UM62) {
                                    Store(Match(UM6T, MEQ, UCT2, MTR, 0x0, 0x0), UMOD)
                                }
                                Else {
                                    Store(Match(UM5T, MEQ, UCT2, MTR, 0x0, 0x0), UMOD)
                                }
                                Or(UMOD, 0x40, UMOD)
                            }
                            Else {
                                Store(DerefOf(Index(DMAT, MODE, )), UMOD)
                                Or(UMOD, 0x20, UMOD)
                            }
                            Or(MODE, 0x8, MODE)
                        }
                        Store(RMFL, REMP)
                        Concatenate(Local6, Local7, Local5)
                        Return(Local5)
                    }
                }
                Device(DRV1) {
                    Name(_ADR, 0x1)
                    Method(_GTF) {
                        Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef }, Local6)
                        Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef }, Local7)
                        CreateByteField(Local6, 0x1, MODE)
                        CreateByteField(Local7, 0x1, UMOD)
                        Store(REMP, RMFL)
                        Store(0x0, REMP)
                        If(LNot(LEqual(ATT3, 0x0))) {
                            Add(ATT3, RCT3, Local5)
                            If(UM63) {
                                Store(Match(PIO6, MEQ, Local5, MTR, 0x0, 0x0), MODE)
                            }
                            Else {
                                Store(Match(PIO5, MEQ, Local5, MTR, 0x0, 0x0), MODE)
                            }
                            If(UDM3) {
                                If(UM63) {
                                    Store(Match(UM6T, MEQ, UCT3, MTR, 0x0, 0x0), UMOD)
                                }
                                Else {
                                    Store(Match(UM5T, MEQ, UCT3, MTR, 0x0, 0x0), UMOD)
                                }
                                Or(UMOD, 0x40, UMOD)
                            }
                            Else {
                                Store(DerefOf(Index(DMAT, MODE, )), UMOD)
                                Or(UMOD, 0x20, UMOD)
                            }
                            Or(MODE, 0x8, MODE)
                        }
                        Store(RMFL, REMP)
                        Concatenate(Local6, Local7, Local5)
                        Return(Local5)
                    }
                }
            }
        }
        Device(USB1) {
            Name(_ADR, 0x00030000)
            Method(USXD) {
                If(OSFL) {
                    Return(0x2)
                }
                Else {
                    Return(0x3)
                }
            }
            Method(_PRW) {
                If(OSFL) {
                    Return(Package(0x2) {
                        0xe,
                        0x4,
                    })
                }
                Else {
                    Return(Package(0x2) {
                        0xe,
                        0x3,
                    })
                }
            }
            Scope(\_GPE) {
                Method(_L0E) {
                    Notify(\_SB_.PCI0.USB1, 0x2)
                }
            }
        }
        Device(USB2) {
            Name(_ADR, 0x00030001)
            Method(USXD) {
                If(OSFL) {
                    Return(0x2)
                }
                Else {
                    Return(0x3)
                }
            }
            Method(_PRW) {
                If(OSFL) {
                    Return(Package(0x2) {
                        0x4,
                        0x4,
                    })
                }
                Else {
                    Return(Package(0x2) {
                        0x4,
                        0x3,
                    })
                }
            }
            Scope(\_GPE) {
                Method(_L04) {
                    Notify(\_SB_.PCI0.USB2, 0x2)
                }
            }
        }
        Device(USB3) {
            Name(_ADR, 0x00030002)
            Method(USXD) {
                If(OSFL) {
                    Return(0x2)
                }
                Else {
                    Return(0x3)
                }
            }
            Method(_PRW) {
                If(OSFL) {
                    Return(Package(0x2) {
                        0x7,
                        0x4,
                    })
                }
                Else {
                    Return(Package(0x2) {
                        0x7,
                        0x3,
                    })
                }
            }
            Scope(\_GPE) {
                Method(_L07) {
                    Notify(\_SB_.PCI0.USB3, 0x2)
                }
            }
        }
        Device(USB4) {
            Name(_ADR, 0x00030003)
            Method(USXD) {
                If(OSFL) {
                    Return(0x2)
                }
                Else {
                    Return(0x3)
                }
            }
            Method(_PRW) {
                If(OSFL) {
                    Return(Package(0x2) {
                        0x6,
                        0x4,
                    })
                }
                Else {
                    Return(Package(0x2) {
                        0x6,
                        0x3,
                    })
                }
            }
            Scope(\_GPE) {
                Method(_L06) {
                    Notify(\_SB_.PCI0.USB4, 0x2)
                }
            }
        }
        Device(S139) {
            Name(_ADR, 0x00020003)
            Name(_PRW, Package(0x2) {
                0x3,
                0x4,
            })
            Scope(\_GPE) {
                Method(_L03) {
                    Notify(\_SB_.PCI0.S139, 0x2)
                }
            }
        }
        Device(LAN_) {
            Name(_ADR, 0x00040000)
            Name(_PRW, Package(0x2) {
                0xc,
                0x4,
            })
            Scope(\_GPE) {
                Method(_L0C) {
                    Notify(\_SB_.PCI0.LAN_, 0x2)
                }
            }
        }
        Device(MDM_) {
            Name(_ADR, 0x00020006)
            Name(_PRW, Package(0x2) {
                0x5,
                0x4,
            })
            Scope(\_GPE) {
                Method(_L05) {
                    Notify(\_SB_.PCI0.MDM_, 0x2)
                }
            }
        }
        Device(AUD_) {
            Name(_ADR, 0x00020007)
            Name(_PRW, Package(0x2) {
                0xa,
                0x4,
            })
            Scope(\_GPE) {
                Method(_L0A) {
                    Notify(\_SB_.PCI0.AUD_, 0x2)
                }
            }
        }
        Name(_PRW, Package(0x2) {
            0xb,
            0x4,
        })
        Scope(\_GPE) {
            Method(_L0B) {
                Notify(\_SB_.PCI0, 0x2)
            }
        }
    }
}
OperationRegion(FNOR, SystemIO, 0x0434, 0x4)
OperationRegion(SIOR, SystemIO, 0x0370, 0x2)
Field(SIOR, ByteAcc, NoLock, Preserve) {
    SIND,	8,
    SDTA,	8
}
OperationRegion(SLED, SystemIO, 0x0862, 0x1)
Field(SLED, ByteAcc, NoLock, Preserve) {
    ,	6,
    R062,	2
}
Scope(_SI_) {
    Method(_SST, 1) {
        If(Arg0) {
            If(LEqual(Arg0, 0x1)) {
                Store(0x0, R062)
            }
            If(LEqual(Arg0, 0x2)) {
                Store(0x0, R062)
            }
            If(LEqual(Arg0, 0x3)) {
                Store(0x1, R062)
            }
            If(LEqual(Arg0, 0x4)) {
                Store(0x2, R062)
            }
        }
        Else {
            Store(0x0, R062)
        }
    }
}
Method(_PTS, 1) {
    Store(Arg0, DBG8)
    If(LNot(LEqual(Arg0, 0x4))) {
        Or(Arg0, 0xa0, Local0)
        Store(Local0, P48_)
    }
    Or(P42_, 0x40, P42_)
    Store(\_SB_.PCI0.OSFL, P49_)
}
Method(_WAK, 1) {
    ShiftLeft(Arg0, 0x4, DBG8)
    If(LEqual(Arg0, 0x1)) {
        And(RTCE, RTC1, RTCE)
        If(RTCE) {
            Store(0xc1, DBG8)
        }
        Else {
            Notify(\_SB_.PWRB, 0x2)
            Sleep(0x0294)
        }
    }
    Else {
        If(RTC3) {
            Store(0xc3, DBG8)
        }
        Else {
            Notify(\_SB_.PWRB, 0x2)
            Sleep(0x0294)
        }
    }
    If(LNot(LEqual(Arg0, 0x4))) {
        Add(Arg0, 0x6, Local0)
        Or(Local0, 0xa0, Local0)
        Store(Local0, P48_)
    }
}
OperationRegion(PR48, SystemIO, 0x0848, 0x1)
Field(PR48, ByteAcc, NoLock, Preserve) {
    P48_,	8
}
OperationRegion(PR42, SystemIO, 0x0842, 0x1)
Field(PR42, ByteAcc, NoLock, Preserve) {
    P42_,	8
}
OperationRegion(PR49, SystemIO, 0x0849, 0x1)
Field(PR49, ByteAcc, NoLock, Preserve) {
    P49_,	8
}
OperationRegion(PP49, SystemIO, 0x0849, 0x1)
Field(PP49, ByteAcc, NoLock, Preserve) {
    ,	1,
    RTCE,	1
}
OperationRegion(S1WK, SystemIO, 0x0800, 0x2)
Field(S1WK, ByteAcc, NoLock, Preserve) {
    ,	10,
    RTC1,	1
}
OperationRegion(S3WK, SystemIO, 0x0860, 0x2)
Field(S3WK, ByteAcc, NoLock, Preserve) {
    ,	14,
    RTC3,	1
}
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=19,
	OEMID=AMIINT, OEM Table ID=SiS645XX, OEM Revision=0x1000,
	Creator ID=MSFT, Creator Revision=0x100000b
 */
/*
	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=9
	Flags={Polarity=active-lo, Trigger=level}
 */


	The motherboard BIOS supports mptable-1.4
	
>Description:
	During the boot process, the "APIC_IO: Testing" message is displayed on
	the console and then nothing else appears to happen. The boot never
	completes.
>How-To-Repeat:
	Re-boot with SMP/APIC enabled kernel.
	
>Fix:

	


>Release-Note:
>Audit-Trail:

From: none <jimd_NOSPAM@siu.edu>
To: freebsd-gnats-submit@FreeBSD.org, jimd@siu.edu
Cc:  
Subject: Re: i386/53200: 5.1-RC1 SMP kernel boot gags at "APIC_IO: Testing
 8254 interrupt delivery"
Date: Sun, 29 Jun 2003 00:07:25 -0500

 This problem still occurs with 5.1-RELEASE.
 

From: Graeme Tattersall <gtattersall@tibus.com>
To: freebsd-gnats-submit@FreeBSD.org, jimd@siu.edu
Cc:  
Subject: Re: i386/53200: 5.1-RC1 SMP kernel boot gags at "APIC_IO: Testing
 8254 interrupt delivery"
Date: Thu, 24 Jul 2003 00:16:08 +0100

 My System is a Dual P3/1Ghz system, using a Tyan Thunder LE board, based 
 on the Serverworks Serverset LE3 chipset. I'm running 5.1 Release, 
 currently under the generic kernel. Generic-SMP does not work.
 
 I'm seeing this problem also - Kernel hangs at the "Testing 8254 
 interrupt delivery" message. Should this bug be uprated in severity? - 
 this is a showstopper for me - I will have to go back to a release with 
 working SMP support.
 
 Disabling these tests by editing clock.c in src/sys/i386/isa allows the 
 kernel to boot a little further, however this is not a fix, and in 
 anycase, the system then resets without warning later in the boot process.
 
 Hope this helps
 
 
 Graeme
 

From: "Simon L. Nielsen" <simon@FreeBSD.org>
To: Graeme Tattersall <gtattersall@tibus.com>
Cc: freebsd-gnats-submit@FreeBSD.org
Subject: Re: i386/53200: 5.1-RC1 SMP kernel boot gags at "APIC_IO: Testing 8254 interrupt delivery"
Date: Thu, 24 Jul 2003 22:50:17 +0200

 --C7PTD44AewjTsiSV
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 Content-Transfer-Encoding: quoted-printable
 
 On 2003.07.23 16:20:12 -0700, Graeme Tattersall wrote:
 
 >  My System is a Dual P3/1Ghz system, using a Tyan Thunder LE board, based=
 =20
 >  on the Serverworks Serverset LE3 chipset. I'm running 5.1 Release,=20
 >  currently under the generic kernel. Generic-SMP does not work.
 
 Have you tried 4.8?  Just to know if it something from 4.x -> 5.x or a
 more general probblem.
 
 >  I'm seeing this problem also - Kernel hangs at the "Testing 8254=20
 >  interrupt delivery" message.
 
 I had this problem on a Fujitsu Siemens P250, and enabling Hyper
 Threading fixed it (4.8 though).  Worth a try.
 
 If it doesn't work try changeing the BIOS settings, sometimes this
 helps.
 
 >  Should this bug be uprated in severity? -=20
 
 The severity field is not really used for anything, so there isn't any
 reason to do that.
 
 Note that I'm not a kernel hacker, so I probably can't help much more.
 
 --=20
 Simon L. Nielsen
 FreeBSD Documentation Team
 
 
 --C7PTD44AewjTsiSV
 Content-Type: application/pgp-signature
 Content-Disposition: inline
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.2.2 (FreeBSD)
 
 iD8DBQE/IEaJh9pcDSc1mlERAoZyAKC0XnJVgGLHwSON/DlPtjRQpERj/wCfTFr7
 2GkbDzszyVHnNnVg2amULd8=
 =D0Sk
 -----END PGP SIGNATURE-----
 
 --C7PTD44AewjTsiSV--

From: none <jimd_NOSPAM@siu.edu>
To: freebsd-gnats-submit@FreeBSD.org, jimd@siu.edu
Cc:  
Subject: Re: i386/53200: 5.1-RC1 SMP kernel boot gags at "APIC_IO: Testing
 8254 interrupt delivery"
Date: Sat, 26 Jul 2003 00:26:36 -0500

 Adding some PRINTF's, as in the patch below, to 
 /usr/src/sys/i386/isa/clock.c, enabling KERNEL SMP and APIC (HT already 
 enabled in BIOS), rebuilding and installing kernel, and then rebooting 
 results in a persistent output of: "read_intr_count(8):0".
 
 
 *** clock.c.orig        Fri Jul 25 23:45:48 2003
 --- clock.c     Sat Jul 26 00:12:40 2003
 ***************
 *** 999,1006 ****
         if (apic_8254_trial) {
    
                 printf("APIC_IO: Testing 8254 interrupt delivery\n");
 !               while (read_intr_count(8) < 6)
                         ;       /* nothing */
                 if (read_intr_count(apic_8254_intr) < 3) {
                         /*
                          * The MP table is broken.
 --- 999,1012 ----
         if (apic_8254_trial) {
    
                 printf("APIC_IO: Testing 8254 interrupt delivery\n");
 !               while (read_intr_count(8) < 6) {
                         ;       /* nothing */
 +                       printf("--- 
 read_intr_count(8):%lu\n",read_intr_count(8));
 +                       }
 +                 printf("___ Out of 'while(read_intr_count(8) < 6'\n");
 +               printf("___ read_intr_count(8):%lu\n",read_intr_count(8));
 +               printf("___ read_intr_count(apic_8254_intr):%lu\n",
 +                       read_intr_count(apic_8254_intr));
                 if (read_intr_count(apic_8254_intr) < 3) {
                         /*
                          * The MP table is broken.
 
 

From: Graeme Tattersall <gtattersall@tibus.com>
To: freebsd-gnats-submit@FreeBSD.org
Cc: "Simon L. Nielsen" <simon@FreeBSD.org>, jimd@siu.edu
Subject: Re: i386/53200: 5.1-RC1 SMP kernel boot gags at "APIC_IO: Testing
 8254 interrupt delivery"
Date: Mon, 28 Jul 2003 11:05:23 +0100

 Hi Guys,
 
 I have managed to get the SMP kernel to boot, and repeat this 
 successfully, by doing the following - Can someone verify this works? 
 For testing, I'm using the GENERIC kernel with SMP and APIC_IO enabled.
 
 At the FreeBSD 5.1 boot menu, select option 6 to exit to boot-loader. 
 Hit the return key at the prompt to continue booting.  On my system, the 
 kernel now does not hang at the testing interrupt prompt.
 
 Obviously this is still not ideal, but hopefully it will give someone 
 who knows the code/architecture a pointer as to how to acheive a fix.
 
 BIOS settings, btw, do not seem to affect this SMP hang-at-boot - the 
 only SMP setting in my BIOS is to enable MP v1.4 - as my system is a 
 dual PIII, stuff like Hyperthreading doesn't apply.
 
 Cheers
 
 
 Graeme
 

From: none <jimd_NOSPAM@siu.edu>
To: freebsd-gnats-submit@FreeBSD.org
Cc:  
Subject: Re: i386/53200: 5.1-RC1 SMP kernel boot gags at "APIC_IO: Testing
 8254 interrupt delivery"
Date: Mon, 28 Jul 2003 20:28:36 -0500

 Interrupting the boot loader, as suggested, has no affect on my MSI 
 655-MAX motherboard system - it still "hangs" (persistent output of: 
 "read_intr_count(8):0") at the 8254 Interrupt "test". My BIOS has 
 selectable options for both HT and SMP (all of which are enabled).
 

From: Graeme Tattersall <gtattersall@tibus.com>
To: freebsd-gnats-submit@FreeBSD.org
Cc: "Simon L. Nielsen" <simon@FreeBSD.org>, jimd@siu.edu
Subject: Re: i386/53200: 5.1-RC1 SMP kernel boot gags at "APIC_IO: Testing
 8254 interrupt delivery"
Date: Wed, 22 Oct 2003 09:50:06 +0100

 Hi All
 
 Just an update, It seems that my kernel no longer hangs at the APIC_IO 
 message if I disable the new bootloader menu aka "beastie" as follows :
 
 --- dist/loader.rc      Tue Oct 21 17:34:04 2003
 +++ loader.rc   Tue Oct 21 17:34:23 2003
 @@ -11,10 +11,10 @@
   check-password
 
   \ Load in the boot menu
 -include /boot/beastie.4th
 +\ include /boot/beastie.4th
 
   \ Do the normal initialization and startup
   initialize drop
 
   \ Start the boot menu
 -beastie-start
 +\ beastie-start
 
 Hope this helps someone - don't try this on a production system until 
 you're happy it works!! - It still needs to be tested+verified by others.
 
 
 Cheers
 
 
 Graeme
 
 
State-Changed-From-To: open->feedback 
State-Changed-By: linimon 
State-Changed-When: Sun Nov 13 07:46:59 GMT 2005 
State-Changed-Why:  
Is this still a problem with modern versions of FreeBSD? 

http://www.freebsd.org/cgi/query-pr.cgi?pr=53200 
State-Changed-From-To: feedback->closed 
State-Changed-By: linimon 
State-Changed-When: Sun Nov 13 07:53:29 GMT 2005 
State-Changed-Why:  
Submitter's email address bounces. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=53200 
>Unformatted:
