Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Oct 1998 15:06:09 -0700 (PDT)
From:      jasonl@quanxing.org
To:        freebsd-gnats-submit@FreeBSD.ORG
Subject:   i386/8131: Support for PCI NE2000 compatible Ethernet card in the `netboot' code
Message-ID:  <199810022206.PAA13148@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         8131
>Category:       i386
>Synopsis:       Support for PCI NE2000 compatible Ethernet card in the `netboot' code
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:
>Keywords:
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct  2 15:10:00 PDT 1998
>Last-Modified:
>Originator:     Jason Liao
>Organization:
Quanxing.org
>Release:        2.2.7
>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/
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810022206.PAA13148>