[PATCH] Fix weird PCI bus numbers with pci_linkX

Mathieu Prevot bsdhack at club-internet.fr
Wed Nov 23 02:21:17 PST 2005


Le 22 nov. 05 à 23:19, John Baldwin a écrit :

> On Tuesday 22 November 2005 05:03 pm, Mathieu Prevot wrote:
>> Le 22 nov. 05 à 21:43, John Baldwin a écrit :
>>> On Tuesday 22 November 2005 03:03 pm, Mathieu Prevot wrote:
>>>> Weird addresses disappeared. But I don't why I have invalid IRQ ...
>>>>
>>>> ...
>>>> ACPI APIC Table: <VIAK8  AWRDACPI>
>>>> ioapic0 <Version 0.3> irqs 0-23 on motherboard
>>>> ...
>>>> pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
>>>> pci_link9: BIOS IRQ 11 for 0.16.INTA is invalid
>>>> pci_link9: BIOS IRQ 5 for 0.16.INTB is invalid
>>>> pci_link9: BIOS IRQ 10 for 0.16.INTC is invalid
>>>> pci_link10: BIOS IRQ 10 for 0.17.INTC is invalid
>>>> pci_link11: BIOS IRQ 11 for 0.18.INTA is invalid
>>>> ...
>>>> uhci0: <VIA 83C572 USB controller> port 0xd400-0xd41f irq 21 at
>>>> device 16.0 on pci0
>>>
>>> You are using an I/O APIC.  In your ASL, your pci link resources
>>> get different
>>> IRQs when using APIC than when not using APIC.  The BIOS never uses
>>> APIC
>>> mode, so it programs IRQs for each PCI device according to the non-
>>> APIC (aka
>>> PIC) mode.  The messages above mean that we found out during the
>>> boot that
>>> the interrupt for 0.16.INTA (PCI bus 0, device (slot) 16, pin A#)
>>> is routed
>>> via the pci_link9 device, and that the BIOS had set the IRQ for
>>> that device
>>> to 11.  However, when we switch over to APIC mode, then the list of
>>> valid
>>> IRQs for that link device are something like 20, 21, 22, and 23.
>>> The IRQ the
>>> BIOS used (11) isn't in that list, so we ignore it and pick an IRQ
>>> out of the
>>> list (21 in this case).  You don't need to worry about these
>>> messages.  I'll
>>> see if I can't shut them up in this case (BIOS uses an ISA IRQ but
>>> this link
>>> device only has non-ISA IRQs).
>>>
>>> In fact, I've just whipped up a patch to shut these warnings up.   
>>> It's
>>> attached.
>>
>> Thanks very much for the explanation and the patch.
>
> Ah, you got it.  Did you test it and did it work ok?

It works (it was attached). In fact there is no warning anymore (dmesg).
Maybe there is something more clean ;-) to do (changing "invalid" to  
something less alarmistic ?) for the repository ...

...
ACPI APIC Table: <VIAK8  AWRDACPI>
ioapic0 <Version 0.3> irqs 0-23 on motherboard
acpi0: <VIAK8 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> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
atapci0: <VIA 8237 UDMA133 controller> port  
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 15.0 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
uhci0: <VIA 83C572 USB controller> port 0xd400-0xd41f irq 21 at  
device 16.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xd800-0xd81f irq 21 at  
device 16.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <VIA 83C572 USB controller> port 0xdc00-0xdc1f irq 21 at  
device 16.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: <VIA 83C572 USB controller> on uhci2
usb2: USB revision 1.0
uhub2: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3: <VIA 83C572 USB controller> port 0xe000-0xe01f irq 21 at  
device 16.3 on pci0
uhci3: [GIANT-LOCKED]
usb3: <VIA 83C572 USB controller> on uhci3
usb3: USB revision 1.0
uhub3: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0: <VIA VT6202 USB 2.0 controller> mem 0xea000000-0xea0000ff irq  
21 at device 16.4 on pci0
ehci0: [GIANT-LOCKED]
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <VIA VT6202 USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: VIA EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
isab0: <PCI-ISA bridge> at device 17.0 on pci0
isa0: <ISA bus> on isab0
pcm0: <VIA VT8237> port 0xe400-0xe4ff irq 22 at device 17.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Avance Logic ALC655 AC97 Codec>
vr0: <VIA VT6102 Rhine II 10/100BaseTX> port 0xe800-0xe8ff mem  
0xea001000-0xea0010ff irq 23 at device 18.0 on pci0
miibus0: <MII bus> on vr0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr0: Ethernet address: 00:14:85:51:39:80
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
orm0: <ISA Option ROM> at iomem 0xcc000-0xd3fff 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
ums0: Logitech USB-PS/2 Optical Mouse, rev 2.00/20.00, addr 2, iclass  
3/1
ums0: 3 buttons and Z dir.
Timecounter "TSC" frequency 1607409798 Hz quality 800
Timecounters tick every 1.000 msec
ad0: 152626MB <Seagate ST3160023A 3.06> at ata0-master UDMA100
acd0: DVDR <NEC DVD RW ND-3500AG/2.16> at ata1-master UDMA33
acd1: CDRW <PLEXTOR CD-R PX-W5224A/1.03> at ata1-slave UDMA33
Trying to mount root from ufs:/dev/ad0s1a
cd0 at ata1 bus 0 target 0 lun 0
cd0: <_NEC DVD_RW ND-3500AG 2.16> Removable CD-ROM SCSI-0 device
cd0: 33.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present
cd1 at ata1 bus 0 target 1 lun 0
cd1: <PLEXTOR CD-R   PX-W5224A 1.03> Removable CD-ROM SCSI-0 device
cd1: 33.000MB/s transfers
cd1: Attempt to query device size failed: NOT READY, Medium not  
present - tray closed
vr0: link state changed to DOWN
vr0: link state changed to UP



More information about the freebsd-acpi mailing list