Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Aug 2001 15:55:05 -0600
From:      Warner Losh <imp@harmony.village.org>
To:        unsafe at any speed <erich@ucsd.edu>
Cc:        freebsd-mobile@FreeBSD.ORG
Subject:   Re: ongoing Thinkpad 560X pccard problems 
Message-ID:  <200108252155.f7PLt5W06955@harmony.village.org>
In-Reply-To: Your message of "Sat, 25 Aug 2001 13:32:26 PDT." <3B880B5A.6030104@ucsd.edu> 
References:  <3B880B5A.6030104@ucsd.edu>  

next in thread | previous in thread | raw e-mail | index | archive | help
In message <3B880B5A.6030104@ucsd.edu> unsafe at any speed writes:
: pci_cfgintr: BIOS 0.00 doesn't support interrupt routing
: pcic0: Failed to allocate managment irq

Hmmm, the following has a minor chance of working.  Please let me
know.  It comments out the version check.  Version 0.0 is completely
F'd in the head and means that there's no PCI BIOS, the BIOS isn't
returning the right signature or the get version call is returning an
error.

Warner

Index: pci_cfgreg.c
===================================================================
RCS file: /home/imp/FreeBSD/CVS/src/sys/i386/isa/Attic/pci_cfgreg.c,v
retrieving revision 1.1.2.3
diff -u -r1.1.2.3 pci_cfgreg.c
--- pci_cfgreg.c	2001/08/21 20:13:54	1.1.2.3
+++ pci_cfgreg.c	2001/08/25 21:51:14
@@ -103,7 +103,7 @@
      * Look for the interrupt routing table.
      */
     /* We use PCI BIOS's PIR table if it's available */
-    if (pcibios_get_version() >= 0x0210 && pt == NULL && 
+    if (/* pcibios_get_version() >= 0x0210 && */ 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++) {
@@ -212,6 +212,7 @@
     struct bios_regs	args;
     u_int16_t		v;
     
+#if 0
     v = pcibios_get_version();
     if (v < 0x0210) {
 	printf(
@@ -219,6 +220,7 @@
 	  (v & 0xff00) >> 8, v & 0xff);
 	return (255);
     }
+#endif
     if ((bus < 0) || (bus > 255) || (device < 0) || (device > 255) ||
       (pin < 1) || (pin > 4))
 	return(255);


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?200108252155.f7PLt5W06955>