Marty Connor
f97e642d17
Update email addresses in drivers
2007-06-09 15:23:17 -04:00
Marty Connor
8c25ea0970
Updated email mdc's email address
2007-06-08 11:23:26 -04:00
Michael Brown
3e2c6b6736
pkbuff->iobuf changeover
...
Achieved via Perl using:
perl -pi -e 's/pk_buff/io_buffer/g; s/Packet buffer/I\/O buffer/ig; ' \
-e 's/pkbuff\.h/iobuf.h/g; s/pkb_/iob_/g; s/_pkb/_iob/g; ' \
-e 's/pkb/iobuf/g; s/PKB/IOB/g;'
2007-05-19 18:39:40 +00:00
James Harper
80cc27cbc4
Ported bnx2 driver from Etherboot 5.4.
2007-03-13 23:03:50 +00:00
Michael Brown
13137a4d61
t5x9 code relies on nic->ioaddr being set
2007-03-11 00:37:46 +00:00
Michael Brown
62548c9f0d
Updated 3c509 to current device model
2007-03-10 22:28:22 +00:00
Michael Brown
520d9c36af
Updated ISAPnP, EISA, MCA and ISA buses to current device model.
...
ISA 3c509 is currently non-functional, although the EISA (3c509-eisa) and
MCA (3c529) variants should build OK.
None of this code is yet tested.
2007-03-10 18:08:33 +00:00
Michael Brown
c63af1ea14
Remove no-longer-used variable
2007-02-19 17:31:20 +00:00
James Harper
e1735d5fc2
Fix some bad pointer arithmatic in the tg3 driver that was causing the dynamic memory pool to be corrupted (or worse)
2007-02-10 00:28:41 +00:00
James Harper
1c971f1234
Fix padding problem - from Michael
2007-02-10 00:27:46 +00:00
Michael Brown
73b09ecba6
Use stdio.h instead of vsprintf.h
2007-01-19 01:13:12 +00:00
Michael Brown
5ff23aa406
Include stdlib.h rather than malloc.h
2007-01-18 20:06:03 +00:00
Michael Brown
48fe701716
Respect the RX quota. This improves poll time by about 0.7us when the
...
quota is 1.
2007-01-18 12:34:12 +00:00
Michael Brown
03390f0cd6
Use pkb_pad() rather than doing it the dangerous way :)
2007-01-11 05:26:16 +00:00
Michael Brown
a3ed0cbbc7
Extract packet-padding login from rtl8139.c to a separate pkbpad.c file.
2007-01-11 05:25:50 +00:00
Michael Brown
dad5274522
Add "name" field to struct device to allow human-readable hardware device
...
names.
Add "dev" pointer in struct net_device to tie network interfaces back to a
hardware device.
Force natural alignment of data types in __table() macros. This seems to
prevent gcc from taking the unilateral decision to occasionally increase
their alignment (which screws up the table packing).
2007-01-10 04:22:09 +00:00
Michael Brown
c65fae2475
Add RX quotas to the net device poll() method. This avoids the problem
...
of alloc_pkb() exhaustion when e.g. an iSCSI-booted DOS session is left
idle for a long time at the C:\ prompt and builds up a huge packet
backlog.
2007-01-09 21:47:01 +00:00
Michael Brown
e822bc2a90
Autopadding was sometimes overwriting the struct list_head at the end
...
of the packet buffer. Although pkbuffs are guaranteed to be at least
PKB_ZLEN bytes long, there's no guarantee that the data starts at the
start of the packet buffer.
Since we have to align data for rtl8139 anyway, and since the start of
the packet buffer is guaranteed to be aligned to PKB_ALIGN, we may as
well just shuffle the packet down so that it starts at the start of
the packet buffer. This simultaneously aligns the packet and ensures
that there is enough room for the zero-padding.
2007-01-09 21:01:55 +00:00
Michael Brown
b7fcfe8ece
Added net device TX queue; this will be needed to support the PXE UNDI API
...
(which will need us to wait for TX completions).
Added debug autocolourisation to netdevice.c
2007-01-09 20:18:31 +00:00
Michael Brown
0c03bb5a9a
Make open() and close() an official part of the netdevice API.
...
Call netdevice's poll() and transmit() methods only when device is open.
2007-01-04 04:20:08 +00:00
Michael Brown
7ce3df65c2
Default to port 0 (sic).
2006-12-21 17:16:06 +00:00
Michael Brown
a497e16767
The "increment MAC address by port number" hack applies only to EF1.
2006-12-18 15:28:34 +00:00
Michael Brown
29db66fb51
Add support for non-volatile stored options in the RTL8139 EEPROM.
2006-12-06 20:45:44 +00:00
Michael Brown
a128b33b8b
The VPD engine is broken and can't actually handle placing VPD
...
anywhere other than offset 0 within the EEPROM, so we have to put our
settings at 0x100 instead.
2006-12-05 17:56:13 +00:00
Michael Brown
4c3e0fede5
Adjust EEPROM/flash detection to fit expected manufacturing practice.
2006-12-05 16:00:06 +00:00
Michael Brown
cb883b3faf
Change some debugging messages to use DBG()
2006-12-05 10:01:00 +00:00
Michael Brown
cc9bcb99a0
Add the concept of a fragment list for non-volatile stored options.
2006-12-04 21:46:13 +00:00
Michael Brown
f944737045
Fixed two logic errors that were cancelling each other out.
2006-12-04 21:12:52 +00:00
Michael Brown
d62c83a350
Migrated etherfabric driver to using generic SPI layer.
2006-12-04 20:47:51 +00:00
Michael Brown
2d8d21fe74
Added the generic block-splitting code to nvs.c
2006-12-04 19:06:07 +00:00
Michael Brown
946967f09c
Abstracted out part of the concept of an SPI device to a generalised NVS
...
device.
Separated the mechanisms of non-volatile storage access and non-volatile
stored options.
2006-12-04 18:23:06 +00:00
Michael Brown
dc06c895fc
Changed length parameter in SPI methods to be a byte length, rather than
...
a word length.
2006-12-04 16:09:59 +00:00
Michael Brown
931f94dca3
Generalised the SPI abstraction layer to also be able to handle interfaces
...
that don't provide the full flexibility of a bit-bashing interface.
Temporarily hacked rtl8139.c to use the new interface.
2006-12-04 15:36:51 +00:00
Michael Brown
4cd56820ea
Basic non-volatile storage support
2006-11-29 02:41:08 +00:00
Michael Brown
3234ef1b0b
Merged changes from Solarflare
2006-11-28 13:25:23 +00:00
Marty Connor
757618edea
eth_ntoa and warnings cleanup
2006-09-27 03:05:21 +00:00
Marty Connor
cd8168b071
eth_ntoa cleanup. still has warnings. needs work.
2006-09-27 03:00:21 +00:00
Marty Connor
727a88709e
eth_ntoa and warnings cleanup
2006-09-27 02:18:07 +00:00
Marty Connor
0d1087a5de
eth_ntoa and warnings cleanup
2006-09-27 02:07:59 +00:00
Marty Connor
859cc71158
compilation warnings cleanup
2006-09-26 22:18:00 +00:00
Marty Connor
a02dccdafa
eth_ntoa cleanup
2006-09-26 22:11:45 +00:00
Marty Connor
b88aa51b07
warnings cleanup (still gives lots of compilation warnings from unused functions and missing legacy support)
2006-09-26 22:09:03 +00:00
Marty Connor
9588e20828
warnings cleanup
2006-09-26 22:04:33 +00:00
Marty Connor
e753444e04
compilation warnings cleanup
2006-09-26 21:58:08 +00:00
Marty Connor
cf84605271
eth_ntoa and compilation warnings fixes
2006-09-26 21:33:12 +00:00
Marty Connor
097c1b341d
eth_ntoa fixes
2006-09-26 21:06:29 +00:00
Michael Brown
7952bb76ec
Minor fix
2006-09-25 14:41:54 +00:00
Marty Connor
cce8755fb8
eth_ntoa and warnings fixups, memcpy compilation fix
2006-09-25 09:06:50 +00:00
Marty Connor
d86c080024
eth_ntoa and warnings fixups
2006-09-25 03:52:01 +00:00
Marty Connor
eefac0e258
eth_ntoa and warnings fixups
2006-09-25 03:21:25 +00:00
Marty Connor
d4b060be3b
eth_ntoa and warnings fixups
2006-09-25 02:55:13 +00:00
Marty Connor
f4d0f2e5b5
eth_ntoa and warnings fixups
2006-09-25 02:47:50 +00:00
Marty Connor
9e71390930
eth_ntoa and warnings fixups
2006-09-25 02:41:46 +00:00
Marty Connor
447ed77525
eth_ntoa and warnings fixups
2006-09-25 02:18:11 +00:00
Marty Connor
3ffeffebb2
eth_ntoa and warnings fixups
2006-09-25 02:11:52 +00:00
Marty Connor
c0e91255d0
eth_ntoa fixups
2006-09-20 00:20:37 +00:00
Marty Connor
fe62800bad
eth_ntoa fixups
2006-09-20 00:06:52 +00:00
Marty Connor
637411c2ab
eth_ntoa fixups
2006-09-20 00:00:44 +00:00
Marty Connor
3df3ac72e1
eth_ntoa fixups
2006-09-19 16:33:46 +00:00
Marty Connor
896f871fba
eth_ntoa fixups
2006-09-19 15:58:37 +00:00
Marty Connor
077bbc220a
eth_ntoa fixup
2006-09-19 15:49:57 +00:00
Marty Connor
338a6de549
eth_ntoa fixup, some warnings fixups (isa/pnp fixups still needed)
2006-09-19 15:23:28 +00:00
Marty Connor
5a39995f8b
eth_ntoa fixup, _disable arg fixup
2006-09-19 15:17:51 +00:00
Marty Connor
a9cb4ca079
DBG MAC addr printout in driver
2006-09-15 12:54:11 +00:00
Marty Connor
a998286c8b
change MAC address printout to DBG using eth_ntoa (temporary legacy support)
2006-09-15 12:42:43 +00:00
Marty Connor
b41f754e3a
Fix compile warnings, remove unused var
2006-09-14 17:58:23 +00:00
Marty Connor
08d7ea1d34
Fixed DBG macro format, fixed compile warnings. removed extra parameter from mtd80x_disable(...)
2006-09-14 17:15:53 +00:00
Marty Connor
35f90278a8
Remove nic_disable call from drivers. Call should be made at a higher level
2006-09-14 14:51:38 +00:00
Marty Connor
1ed6e69ea5
Remove printf of MAC address in driver.
2006-09-14 14:06:33 +00:00
Michael Brown
21bc2015f2
Fix gcc-induced reference to memcpy
2006-09-01 10:48:35 +00:00
Michael Brown
bb3df618b8
Remove old-style debug message
2006-08-16 00:02:43 +00:00
Michael Brown
97439cb6eb
Kill off poll_interruptions(); it is lethal when we're acting as a PXE
...
stack or INT 13 emulator etc.
2006-08-14 22:29:51 +00:00
Michael Brown
d393e61d8a
Temporary hack to work around the "TX overflow" problem in the interim
...
period before updating to the new driver API (which can cope with
having TX packets in progress).
2006-06-16 14:38:16 +00:00
Michael Brown
52de4935f9
Add 4 bytes to maximum frame length to allow for the frame checksum.
...
(This actually matters once you try using TCP, because you *will*
receive full-sized frames.)
2006-06-16 14:30:41 +00:00
Michael Brown
7c76791730
Improve debugging output for legacy wrapper
2006-06-16 14:27:04 +00:00
Michael Brown
e5865e796b
Forward-port event queue fixes from 5.4 tree.
2006-06-16 14:05:43 +00:00
Michael Brown
a20c565ef3
Forward-port start-of-day fixes from 5.4 tree
2006-06-16 14:03:43 +00:00
Michael Brown
50ab8c0e5b
Forward-port reset-related changes from 5.4 tree.
2006-06-16 14:00:43 +00:00
Michael Brown
3b51c719d3
Generalise three-wire interface to generic SPI interface.
...
Update rtl8139 driver to instantiate an SPI interface with a three-wire
device attached.
2006-06-14 00:22:50 +00:00
Michael Brown
714641ae6d
Translate between "0 = success" and "0 = failure" call standards.
2006-06-14 00:18:13 +00:00
Michael Brown
7ce44f7480
Update to use the generic i2c bit-bashing code.
2006-06-11 00:57:38 +00:00
Michael Brown
1697c78848
Legacy drivers cannot cope with multiple active devices.
2006-06-08 15:18:27 +00:00
Michael Brown
02df45352c
Force pci.o to be included.
...
Print warning message at probe time.
2006-06-05 16:17:52 +00:00
Michael Brown
754cfdfcf4
Legacy drivers will not pad when necessary
2006-06-05 16:10:36 +00:00
Michael Brown
7826de3f7e
PNIC doesn't auto-pad.
2006-06-05 16:10:14 +00:00
Michael Brown
286bf68faf
Added a very quick and dirty compatibility layer, to allow
...
not-yet-updated drivers to at least function.
2006-06-05 15:45:21 +00:00
Michael Brown
70ef6dbb7c
Rewrote to use the new net driver API, the updated PCI API, and the
...
generic three-wire serial device support for EEPROM access.
2006-05-27 13:45:14 +00:00
Michael Brown
4d0a0f822d
Use insb/outsb; it's marginally faster.
2006-05-20 12:28:44 +00:00
Michael Brown
15ee09ed10
Restructured PCI subsystem to fit the new device model.
...
Generic PCI code now handles 64-bit BARs correctly when setting
"membase"; drivers should need to call pci_bar_start() only if they want
to use BARs other than the first memory or I/O BAR.
Split rarely-used PCI functions out into pciextra.c.
Core PCI code is now 662 bytes (down from 1308 bytes in Etherboot 5.4).
284 bytes of this saving comes from the pci/pciextra split.
Cosmetic changes to lots of drivers (e.g. vendor_id->vendor in order to
match the names used in Linux).
2006-05-16 15:12:06 +00:00
Michael Brown
79f64eea55
Transmit the buffer contents, not the buffer descriptor...
2006-04-28 14:08:41 +00:00
Michael Brown
fcf765e42d
Add missing {register,free}_netdev().
...
Tie into existing driver API; we'll fix that up soon.
2006-04-24 18:44:50 +00:00
Michael Brown
832e86246b
gcc is rather over-aggressive about optimising out static data structures
...
even when __atribute__ (( unused )) is correctly set...
2006-04-24 18:31:37 +00:00
Michael Brown
824d6ffa7f
Header rearrangement.
...
I want to get to the point where any header in include/ reflects a
standard user-level header (e.g. a POSIX header), while everything that's
specific to gPXE lives in include/gpxe/. Headers that reflect a Linux
header (e.g. if_ether.h) should also be in include/gpxe/, with the same
name as the Linux header and, preferably, the same names used for the
definitions.
2006-04-24 15:42:49 +00:00
Michael Brown
fdc2ee79db
Network API now allows for multiple network devices (although the
...
implementation allows for only one, and does so without compromising on
the efficiency of static allocation).
Link-layer protocols are cleanly separated from the device drivers.
Network-layer protocols are cleanly separated from individual network
devices.
Link-layer and network-layer protocols are cleanly separated from each
other.
2006-04-24 15:33:06 +00:00
Michael Brown
d08ce741a4
Build in gpxe
2006-03-16 19:09:31 +00:00
Michael Brown
0806436d99
Remove accidental duplicate arising from merge
2006-03-16 19:04:19 +00:00
Michael Brown
239579efcf
Build under gpxe
2006-03-16 19:02:18 +00:00
Michael Brown
d0777627c6
Back out duplication arising from the merge
2006-03-16 18:56:16 +00:00
Michael Brown
c4f25b637c
Fix to compile under gpxe
2006-03-16 18:54:57 +00:00
Michael Brown
4ee0e0f85e
Merge from Etherboot 5.4
2006-03-16 18:51:23 +00:00