• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1How I added the SIS900 card to Etherboot
2
3Author: Marty Connor (mdc@thinguin.org)
4
5Date:   25 Febrary 2001
6
7Description:
8
9This file is intended to help people who want to write an Etherboot
10driver or port another driver to Etherboot.  It is a starting point.
11Perhaps someday I may write a more detailed description of writing an
12Etherboot driver. This text should help get people started, and
13studying sis900.[ch] should help show the basic structure and
14techniques involved in writing and Etherboot driver.
15
16***********************************************************************
17
180. Back up all the files I need to modify:
19
20cd etherboot-4.7.20/src
21cp Makefile Makefile.orig
22cp config.c config.c.orig
23cp pci.h pci.h.orig
24cp NIC NIC.orig
25cp cards.h cards.h.orig
26
271. Edit src/Makefile to add SIS900FLAGS to defines
28
29SIS900FLAGS=	       	-DINCLUDE_SIS900
30
312. edit src/pci.h to add PCI signatures for card
32
33#define PCI_VENDOR_ID_SIS         	0x1039
34#define PCI_DEVICE_ID_SIS900     	0x0900
35#define PCI_DEVICE_ID_SIS7016    	0x7016
36
373. Edit src/config.c to add the card to the card probe list
38
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)
45
46... and ...
47
48#ifdef INCLUDE_SIS900
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},
53#endif
54
55... and ...
56
57#ifdef INCLUDE_SIS900
58	{ "SIS900", sis900_probe, pci_ioaddrs },
59#endif
60
614. Edit NIC to add sis900 and sis7016 to NIC list
62
63# SIS 900 and SIS 7016
64sis900		sis900		0x1039,0x0900
65sis7016		sis900		0x1039,0x7016
66
675. Edit cards.h to add sis900 probe routine declaration
68
69#ifdef	INCLUDE_SIS900
70extern struct nic	*sis900_probe(struct nic *, unsigned short *
71                        PCI_ARG(struct pci_device *));
72#endif
73
74***********************************************************************
75
76At this point, you can begin creating your driver source file.  See
77the "Writing and Etherboot Driver" section of the Etherboot
78documentation for some hints.  See the skel.c file for a starting
79point.  If there is a Linux driver for the card, you may be able to
80use that.  Copy and learn from existing Etherboot drivers (this is GPL
81/ Open Source software!).
82
83Join the etherboot-developers and etherboot-users mailing lists
84(information is on etherboot.sourceforge.net) for information and
85assistance. We invite more developers to help improve Etherboot.
86
87Visit the http://etherboot.sourceforge.net, http://thinguin.org,
88http://rom-o-matic.net, and http://ltsp.org sites for information and
89assistance.
90
91Enjoy.
92