summaryrefslogtreecommitdiffstats
path: root/contrib/linux-3c503-patch
diff options
context:
space:
mode:
authorMichael Brown2005-05-17 18:44:57 +0200
committerMichael Brown2005-05-17 18:44:57 +0200
commit1097cf8685cd81f0003bd6f17d050e5174a85b90 (patch)
tree47a39f2a1e980cca43c28c4d1a6dfdf431b910b2 /contrib/linux-3c503-patch
parentQuickly hacked to use a buffer rather than a processor. (diff)
downloadipxe-1097cf8685cd81f0003bd6f17d050e5174a85b90.tar.gz
ipxe-1097cf8685cd81f0003bd6f17d050e5174a85b90.tar.xz
ipxe-1097cf8685cd81f0003bd6f17d050e5174a85b90.zip
Initial revision
Diffstat (limited to 'contrib/linux-3c503-patch')
-rw-r--r--contrib/linux-3c503-patch/3c503.patch24
-rw-r--r--contrib/linux-3c503-patch/README7
2 files changed, 31 insertions, 0 deletions
diff --git a/contrib/linux-3c503-patch/3c503.patch b/contrib/linux-3c503-patch/3c503.patch
new file mode 100644
index 00000000..b27ff1fc
--- /dev/null
+++ b/contrib/linux-3c503-patch/3c503.patch
@@ -0,0 +1,24 @@
+diff -Naur linux.orig/drivers/net/3c503.c linux/drivers/net/3c503.c
+--- linux.orig/drivers/net/3c503.c Thu Feb 19 23:14:04 1998
++++ linux/drivers/net/3c503.c Thu Feb 19 23:16:24 1998
+@@ -179,7 +179,8 @@
+ for both the old and new 3Com prefix */
+ outb(ECNTRL_SAPROM|ECNTRL_THIN, ioaddr + 0x406);
+ vendor_id = inb(ioaddr)*0x10000 + inb(ioaddr + 1)*0x100 + inb(ioaddr + 2);
+- if ((vendor_id != OLD_3COM_ID) && (vendor_id != NEW_3COM_ID)) {
++ if ((vendor_id != OLD_3COM_ID) && (vendor_id != NEW_3COM_ID) &&
++ (vendor_id != BULL_3COM_ID)) {
+ /* Restore the register we frobbed. */
+ outb(saved_406, ioaddr + 0x406);
+ return ENODEV;
+diff -Naur linux.orig/drivers/net/3c503.h linux/drivers/net/3c503.h
+--- linux.orig/drivers/net/3c503.h Thu Feb 19 23:14:05 1998
++++ linux/drivers/net/3c503.h Mon Feb 16 11:41:56 1998
+@@ -11,6 +11,7 @@
+
+ #define OLD_3COM_ID 0x02608c
+ #define NEW_3COM_ID 0x0020af
++#define BULL_3COM_ID 0x000062
+
+ /* Shared memory management parameters. NB: The 8 bit cards have only
+ one bank (MB1) which serves both Tx and Rx packet space. The 16bit
diff --git a/contrib/linux-3c503-patch/README b/contrib/linux-3c503-patch/README
new file mode 100644
index 00000000..109094ff
--- /dev/null
+++ b/contrib/linux-3c503-patch/README
@@ -0,0 +1,7 @@
+As part of determining whether a 3c503 is present, the Linux driver
+examines the first 3 bytes of the ethernet address (the vendor ID)
+to see if it corresponds to a known 3Com vendor ID.
+
+The Bull discless 386 workstation I have (don't laugh) has an
+unknown vendor ID 0x000062. This trivial patch adds it to those
+known to the driver.