From owner-freebsd-hackers Sun Aug 3 17:56:58 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id RAA01201 for hackers-outgoing; Sun, 3 Aug 1997 17:56:58 -0700 (PDT) Received: from DNS.Lamb.net (root@DNS.Lamb.net [207.90.181.1]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id RAA01196 for ; Sun, 3 Aug 1997 17:56:56 -0700 (PDT) Received: (from uucp@localhost) by DNS.Lamb.net (8.8.6/8.8.5) id RAA08064; Sun, 3 Aug 1997 17:56:42 -0700 (PDT) Received: from gatekeeper.Alameda.net(207.90.181.2) via SMTP by DNS.Lamb.net, id smtpd008062; Sun Aug 3 17:56:41 1997 Received: (from ulf@localhost) by Gatekeeper.Alameda.net (8.8.6/8.7.6) id RAA13828; Sun, 3 Aug 1997 17:56:37 -0700 (PDT) From: Ulf Zimmermann Message-Id: <199708040056.RAA13828@Gatekeeper.Alameda.net> Subject: Re: patch to lnc driver for Hitachi Mx laptop In-Reply-To: <199708032333.QAA00649@vermouth.isi.edu> from Ted Faber at "Aug 3, 97 04:33:36 pm" To: faber@ISI.EDU (Ted Faber) Date: Sun, 3 Aug 1997 17:56:37 -0700 (PDT) Cc: freebsd-hackers@FreeBSD.ORG, faber@ISI.EDU, faber@lunabase.org X-Mailer: ELM [version 2.4ME+ PL31 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Could someone provide a boot install disk with this patch ? I have a Hitachi M and would like to try it. The 2.2.2R did not work. > > In the course of getting FreeBSD 2.2.2-RELEASE up on my Hitachi Mx133 > laptop, I had to modify the PCI driver code for the lnc driver in > order to use the builtin ethernet port. The changes are adding a new > constant and case branch for the chip ID of the lance chip they use (I > don't know the part number, but it behaves like an Am79C970 except for > the ID) in i386/isa/if_lnc.[ch], changing the pci_conf_read call to a > pci_map_port call in pci/if_lnc_p.c (which seems to properly > initialize multiple bridge chips where pci_map_conf doesn't) and > checking for a different result code from ne2100_probe in the > pci attach routine in i386/isa/if_lnc.c to avoid deallocating the > controller block. The last is protected by an ifdef using the option > HITACHI_MX. The others should have no change on existing code, so I > left them unprotected. > > The patch is included. Let me know what you think. > > *** pci/if_lnc_p.c.orig Fri Apr 4 08:48:12 1997 > --- pci/if_lnc_p.c Sun Aug 3 00:10:24 1997 > *************** > *** 75,81 **** > unsigned iobase; > void *lnc; /* device specific data for interrupt handler ... */ > > ! iobase = pci_conf_read(config_id, PCI_MAP_REG_START) & ~PCI_MAP_IO; > > lnc = lnc_attach_ne2100_pci(unit, iobase); > if (!lnc) > --- 75,86 ---- > unsigned iobase; > void *lnc; /* device specific data for interrupt handler ... */ > > ! /* pci_map_port correctly initializes bridge chips -- tvf */ > ! > ! if ( !pci_map_port(config_id,PCI_MAP_REG_START,(u_short *)&iobase) ) > ! printf("lnc%d: pci_port_map_attach failed?!\n",unit); > ! else > ! printf("lnc%d: pci port mapped to %x\n",unit,iobase); > > lnc = lnc_attach_ne2100_pci(unit, iobase); > if (!lnc) > *** i386/isa/if_lnc.h.orig Tue Sep 10 01:21:57 1996 > --- i386/isa/if_lnc.h Sat Aug 2 23:45:02 1997 > *************** > *** 69,74 **** > --- 69,75 ---- > #define Am79C961 0x2260 > #define Am79C965 0x2430 > #define Am79C970 0x0242 > + #define HITACHI_Am79C970 0x2621 > > /* Board types */ > #define UNKNOWN 0 > *** i386/isa/if_lnc.c.orig Tue Apr 8 03:59:30 1997 > --- i386/isa/if_lnc.c Sun Aug 3 14:59:06 1997 > *************** > *** 1068,1073 **** > --- 1068,1075 ---- > * do NOT try to ISA attach the PCI version > */ > return (0); > + case HITACHI_Am79C970: > + return (PCnet_PCI); > default: > break; > } > *************** > *** 1197,1203 **** > if (sc) { > bzero (sc, sizeof *sc); > > ! if ((ne2100_probe(sc, iobase) == 0) > || (lnc_attach_sc(sc, unit) == 0)) { > free(sc, M_DEVBUF); > sc = NULL; > --- 1199,1209 ---- > if (sc) { > bzero (sc, sizeof *sc); > > ! #ifdef HITACHI_MX > ! if ((ne2100_probe(sc, iobase) == NE2100_IOSIZE) > ! #else > ! if ((ne2100_probe(sc, iobase) == 0) > ! #endif > || (lnc_attach_sc(sc, unit) == 0)) { > free(sc, M_DEVBUF); > sc = NULL; > > > > -- Ulf. -------------------------------------------------------------------------- Ulf Zimmermann, 1525 Pacific Ave., Alameda, CA-94501, #: 510-769-2936 Alameda Networks, Inc. | http://www.Alameda.net | Fax#: 510-521-5073