From owner-freebsd-mobile Sat Apr 7 17: 5:20 2001 Delivered-To: freebsd-mobile@freebsd.org Received: from ciberteca.infocentre.gva.es (ciberteca.infocentre.gva.es [195.57.208.34]) by hub.freebsd.org (Postfix) with ESMTP id AAD9737B424 for ; Sat, 7 Apr 2001 17:05:15 -0700 (PDT) (envelope-from jarbo@infocentre.gva.es) Received: from infocentre.gva.es ([195.57.200.196]) by ciberteca.infocentre.gva.es (Netscape Messaging Server 3.6) with ESMTP id AAA36BE for ; Sun, 8 Apr 2001 02:04:59 +0200 Message-ID: <3ACFAB36.1F0673F7@infocentre.gva.es> Date: Sun, 08 Apr 2001 02:05:10 +0200 From: "Jose Luis Arbona Orovay" X-Mailer: Mozilla 4.51 [en] (WinNT; I) X-Accept-Language: en,pdf MIME-Version: 1.0 To: freebsd-mobile@freebsd.org Subject: pccbb device Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org 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: 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: 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