Date: Sun, 08 Apr 2001 02:05:10 +0200 From: "Jose Luis Arbona Orovay" <jarbo@infocentre.gva.es> To: freebsd-mobile@freebsd.org Subject: pccbb device Message-ID: <3ACFAB36.1F0673F7@infocentre.gva.es>
next in thread | raw e-mail | index | archive | help
I'm trying to enable the cardbus extensión in my IBM Thinkpad 760ED
(P166/64MB). I've compiled the kernel using the NEWCARD file include in
the current-release (with some additions from me, of course, but
basically the same).
When the system boots it gives me the next output:
...
pccbb0: <TI1130 PCI-CardBus Bridge> mem 0x10812000-0x10812fff at device
2.0 on pci0
pci_cfgintr: can't route an interrupt to 0:2 INTA
pccbb: Unable to map IRQ...
device_probe_and_attach: pccbb0 attach returned 12
pccbb0: <TI1130 PCI-CardBus Bridge> mem 0x10811000-0x10811fff at device
2.1 on pci0
pci_cfgintr: can't route an interrupt to 0:2 INTB
pccbb: Unable to map IRQ...
device_probe_and_attach: pccbb0 attach returned 12
...
Looking at the code, that the call to the function pci_cfgintr fails
because in the initialisation of the route_table, the function
bios_sigsearch doesn't find the $PIR signature in the bios, and then
pci_route_count is equal to 0 and pci_route_table is empty.
if ((pt == NULL) && ((sigaddr = bios_sigsearch(0, "$PIR", 4, 16, 0))
!= 0)) {
pt = (struct PIR_table *)(uintptr_t)BIOS_PADDRTOVADDR(sigaddr);
for (cv = (u_int8_t *)pt, ck = 0, i = 0; i <
(pt->pt_header.ph_length); i++) {
ck += cv[i];
}
if (ck == 0) {
pci_route_table = pt;
pci_route_count = (pt->pt_header.ph_length - sizeof(struct
PIR_header)) / sizeof(struct PIR_entry);
printf("Using $PIR table, %d entries at %p\n", pci_route_count,
pci_route_table);
}
}
What's the $PIR bios resource and why doesn't the kernel find it ?
Thanks in advance.
Jose Luis
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3ACFAB36.1F0673F7>
