1 How I added the SIS900 card to Etherboot
3 Author: Marty Connor (mdc@thinguin.org)
9 This file is intended to help people who want to write an Etherboot
10 driver or port another driver to Etherboot. It is a starting point.
11 Perhaps someday I may write a more detailed description of writing an
12 Etherboot driver. This text should help get people started, and
13 studying sis900.[ch] should help show the basic structure and
14 techniques involved in writing and Etherboot driver.
16 ***********************************************************************
18 0. Back up all the files I need to modify:
20 cd etherboot-4.7.20/src
21 cp Makefile Makefile.orig
22 cp config.c config.c.orig
25 cp cards.h cards.h.orig
27 1. Edit src/Makefile to add SIS900FLAGS to defines
29 SIS900FLAGS= -DINCLUDE_SIS900
31 2. edit src/pci.h to add PCI signatures for card
33 #define PCI_VENDOR_ID_SIS 0x1039
34 #define PCI_DEVICE_ID_SIS900 0x0900
35 #define PCI_DEVICE_ID_SIS7016 0x7016
37 3. Edit src/config.c to add the card to the card probe list
39 #if defined(INCLUDE_NS8390) || defined(INCLUDE_EEPRO100) ||
40 defined(INCLUDE_LANCE) || defined(INCLUDE_EPIC100) ||
41 defined(INCLUDE_TULIP) || defined(INCLUDE_OTULIP) ||
42 defined(INCLUDE_3C90X) || defined(INCLUDE_3C595) ||
43 defined(INCLUDE_RTL8139) || defined(INCLUDE_VIA_RHINE) ||
44 defined(INCLUDE_SIS900) || defined(INCLUDE_W89C840)
49 { PCI_VENDOR_ID_SIS, PCI_DEVICE_ID_SIS900,
50 "SIS900", 0, 0, 0, 0},
51 { PCI_VENDOR_ID_SIS, PCI_DEVICE_ID_SIS7016,
52 "SIS7016", 0, 0, 0, 0},
58 { "SIS900", sis900_probe, pci_ioaddrs },
61 4. Edit NIC to add sis900 and sis7016 to NIC list
63 # SIS 900 and SIS 7016
64 sis900 sis900 0x1039,0x0900
65 sis7016 sis900 0x1039,0x7016
67 5. Edit cards.h to add sis900 probe routine declaration
70 extern struct nic *sis900_probe(struct nic *, unsigned short *
71 PCI_ARG(struct pci_device *));
74 ***********************************************************************
76 At this point, you can begin creating your driver source file. See
77 the "Writing and Etherboot Driver" section of the Etherboot
78 documentation for some hints. See the skel.c file for a starting
79 point. If there is a Linux driver for the card, you may be able to
80 use that. Copy and learn from existing Etherboot drivers (this is GPL
81 / Open Source software!).
83 Join the etherboot-developers and etherboot-users mailing lists
84 (information is on etherboot.sourceforge.net) for information and
85 assistance. We invite more developers to help improve Etherboot.
87 Visit the http://etherboot.sourceforge.net, http://thinguin.org,
88 http://rom-o-matic.net, and http://ltsp.org sites for information and