PLEASE TEST: acpi pci irq routing

Luo Hong luohong99 at
Sun Aug 8 00:24:08 PDT 2004

With the new code, the system did not generate any wrong printf during 
the boot, but the PS/2 mouse could not be used, just like in PR55473. 
After I have applied the following patch, the system really generated 
some wrong printf's, but the mouse worked again. My motherboard is Iwill 
KK266 with Award BIOS.

The patch is here:

--- acpi_pci_link.c.orig    Sun Aug  8 13:12:14 2004
+++ acpi_pci_link.c Sun Aug  8 13:44:34 2004
@@ -467,10 +467,11 @@
    * PCI link status (_STA) is unreliable.  Many systems return
    * erroneous values so we ignore it.
-   if ((sta & (ACPI_STA_PRESENT | ACPI_STA_FUNCTIONAL)) == 0) {
+   if ((sta & ACPI_STA_ENABLED) == 0) {
       device_printf(pcidev, "acpi PRT ignoring status for %s\n",
+       return_ACPI_STATUS (AE_ERROR);
           "interrupt link is not functional - %s\n",

and the dmesg when the mouse works well is here:

Copyright (c) 1992-2004 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.2-CURRENT #11: Sun Aug  8 13:50:55 CST 2004
   root at
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(tm) processor (997.80-MHz 686-class CPU)
 Origin = "AuthenticAMD"  Id = 0x642  Stepping = 2

 AMD Features=0xc0440000<RSVD,AMIE,DSP,3DNow!>
real memory  = 805240832 (767 MB)
avail memory = 782893056 (746 MB)
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <VIA694 AWRDACPI> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU (3 Cx states)> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 
0x6000-0x607f,0x5000-0x500f,0x4080-0x40ff,0x4000-0x407f,0xcf8-0xcff on 
pcib0: acpi PRT ignoring status for \\_SB_.PCI0.LNKB
pcib0: acpi PRT ignoring status for \\_SB_.PCI0.LNKB
pcib0: acpi PRT ignoring status for \\_SB_.PCI0.LNKB
pcib0: acpi PRT ignoring status for \\_SB_.PCI0.LNKB
pcib0: acpi PRT ignoring status for \\_SB_.PCI0.LNKB
pcib0: acpi PRT ignoring status for \\_SB_.PCI0.LNKB
pcib0: acpi PRT ignoring status for \\_SB_.PCI0.LNKB
pcib0: acpi PRT ignoring status for \\_SB_.PCI0.LNKB
pcib0: acpi PRT ignoring status for \\_SB_.PCI0.LNKB
pcib0: acpi PRT ignoring status for \\_SB_.PCI0.LNKB
pci0: <ACPI PCI bus> on pcib0
agp0: <VIA 82C8363 (Apollo KT133A) host to PCI bridge> mem 
0xd0000000-0xd7ffffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
drm0: <ATI Radeon QD R100> port 0xc000-0xc0ff mem 
0xe1000000-0xe107ffff,0xd8000000-0xdfffffff irq 9 at device
0.0 on pci1
info: [drm] AGP at 0xd0000000 128MB
info: [drm] Initialized radeon 1.11.0 20020828 on minor 0
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C686B UDMA100 controller> port 
0xd000-0xd00f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 7.1 on pci0
atapci0: Correcting VIA config for southbridge data corruption bug
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pci0: <serial bus, USB> at device 7.2 (no driver attached)
pci0: <serial bus, USB> at device 7.3 (no driver attached)
pci0: <bridge, PCI-unknown> at device 7.4 (no driver attached)
fxp0: <Intel 82559 Pro/100 Ethernet> port 0xdc00-0xdc3f mem 
0xe3000000-0xe30fffff,0xe3100000-0xe3100fff irq 10 at device 11.0 on pci0
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:90:27:59:62:91
pci0: <network, ethernet> at device 12.0 (no driver attached)
pcm0: <CMedia CMI8738> port 0xe400-0xe4ff irq 10 at device 15.0 on pci0
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
orm0: <ISA Option ROM> at iomem 0xc0000-0xc7fff on isa0
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
Timecounter "TSC" frequency 997803424 Hz quality 800
Timecounters tick every 10.000 msec
acpi_cpu: throttling enabled, 2 steps (100% to 50.0%), currently 100.0%
ATAPI_RESET time = 20us
ad0: 117800MB <HDS722512VLAT20/V33OA60A> [239340/16/63] at ata0-master 
acd0: CDROM <ATAPI-CD ROM-DRIVE-50MAX/VER 50EA> at ata0-slave UDMA33
ad1: 39266MB <IC35L040AVER07-0/ER4OA44A> [79780/16/63] at ata1-master 
Mounting root from ufs:/dev/ad0s1a


Hong Luo

More information about the freebsd-current mailing list