From nobody  Fri Oct  2 15:06:09 1998
Received: (from nobody@localhost)
          by hub.freebsd.org (8.8.8/8.8.8) id PAA13148;
          Fri, 2 Oct 1998 15:06:09 -0700 (PDT)
          (envelope-from nobody)
Message-Id: <199810022206.PAA13148@hub.freebsd.org>
Date: Fri, 2 Oct 1998 15:06:09 -0700 (PDT)
From: jasonl@quanxing.org
To: freebsd-gnats-submit@freebsd.org
Subject: Support for PCI NE2000 compatible Ethernet card in the `netboot' code
X-Send-Pr-Version: www-1.0

>Number:         8131
>Category:       i386
>Synopsis:       [patch] Support for PCI NE2000 compatible Ethernet card in the `netboot' code
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct  2 15:10:00 PDT 1998
>Closed-Date:    Mon Aug 14 07:01:50 PDT 2000
>Last-Modified:  Mon Aug 14 07:02:48 PDT 2000
>Originator:     Jason Liao
>Release:        2.2.7
>Organization:
Quanxing.org
>Environment:
>Description:
The following text comes from http://www.quanxing.org/netboot/

FreeBSD netboot Enhancement

                                       BOOTROM for FreeBSD

The original netboot code released with FreeBSD 2.2.7 supports NE2000 compatible and 3Com 3C509 Ethernet cards.  I
used it successfully with some ISA bus NE2000 compatible cards.  However, the code doesn't support PCI NE2000
compatible cards because the base I/O address is hard coded in the program.  One way to work around it is to find out the
I/O address assigned to the PCI NE2000 compatible card and set the -DNE_BASE option in the Makefile.  This is not a
universal solution because the I/O address is assigned by the PCI BIOS at boot time.  BootROMs with hard coded I/O
address will not work if moved to another computer.

I wrote some code to get the base I/O address using PCI BIOS calls.  With this enhancement, the BootROM can
automatically detect the existence of PCI BIOS and get the correct I/O address of the card.  I tested the code with PCI
NE2000 compatible card based on both Realtek 8029AS and Winbond 89C940F chipsets.

In order to make a BootROM for a PCI NE2000 compatible card, you must include the NS8390 option -DNE_PCI in the
Makefile.  The PCI_VENDOR and PCI_DEVICE macros must be defined with the correct values that match the chipset.  If
you change any of these macros, you must do a "make clean" before "make" or the program will not be re-compiled.

The enhanced code can be downloaded as a gzip-ped tar file: netboot.tar.gz

Please send any feed back to me.  My email address can be found in the file pci8390.S.

>How-To-Repeat:

>Fix:
Modified source code can be downloaded from
http://www.quanxing.org/netboot/
>Release-Note:
>Audit-Trail:

From: Jason Liao <jasonl@quanxing.org>
To: freebsd-gnats-submit@freebsd.org
Cc:  Subject: Re: i386/8131: Support for PCI NE2000 compatible Ethernet card in the `netboot' code
Date: Mon, 19 Oct 1998 08:44:05 -0700

 I just finished the netboot support for Intel i82557/82558-based Fast
 Ethernet NICs (including Intel EtherExpress Pro/100B).  The boot code is
 based on the if_fxp driver by David Greenman.  The PCI portion is
 written in assembly language using PCI BIOS calls.  The source is
 available at http://www.quanxing.org/netboot/ .
 
 Just before I submit this follow-up, I found that another contributor
 had done the netboot support for Intel i82557/82558-based NICs.  See
 problem report i386/8171 for details.
 
 --
 ---------------------
      Jason Liao
 <jasonl@quanxing.org>
 ---------------------
 
 
State-Changed-From-To: open->closed 
State-Changed-By: johan 
State-Changed-When: Mon Aug 14 07:01:50 PDT 2000 
State-Changed-Why:  
Superseded by PR 8171. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=8131 
>Unformatted:
