Michael Brown
73b09ecba6
Use stdio.h instead of vsprintf.h
hace 18 años
Michael Brown
5ff23aa406
Include stdlib.h rather than malloc.h
hace 18 años
Michael Brown
48fe701716
Respect the RX quota. This improves poll time by about 0.7us when the
quota is 1.
hace 18 años
Michael Brown
03390f0cd6
Use pkb_pad() rather than doing it the dangerous way :)
hace 18 años
Michael Brown
a3ed0cbbc7
Extract packet-padding login from rtl8139.c to a separate pkbpad.c file.
hace 18 años
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).
hace 18 años
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.
hace 18 años
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.
hace 18 años
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
hace 18 años
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.
hace 18 años
Michael Brown
7ce3df65c2
Default to port 0 (sic).
hace 18 años
Michael Brown
a497e16767
The "increment MAC address by port number" hack applies only to EF1.
hace 18 años
Michael Brown
29db66fb51
Add support for non-volatile stored options in the RTL8139 EEPROM.
hace 18 años
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.
hace 18 años
Michael Brown
4c3e0fede5
Adjust EEPROM/flash detection to fit expected manufacturing practice.
hace 18 años
Michael Brown
cb883b3faf
Change some debugging messages to use DBG()
hace 18 años
Michael Brown
cc9bcb99a0
Add the concept of a fragment list for non-volatile stored options.
hace 18 años
Michael Brown
f944737045
Fixed two logic errors that were cancelling each other out.
hace 18 años
Michael Brown
d62c83a350
Migrated etherfabric driver to using generic SPI layer.
hace 18 años
Michael Brown
2d8d21fe74
Added the generic block-splitting code to nvs.c
hace 18 años
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.
hace 18 años
Michael Brown
dc06c895fc
Changed length parameter in SPI methods to be a byte length, rather than
a word length.
hace 18 años
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.
hace 18 años
Michael Brown
4cd56820ea
Basic non-volatile storage support
hace 18 años
Michael Brown
3234ef1b0b
Merged changes from Solarflare
hace 18 años
Marty Connor
757618edea
eth_ntoa and warnings cleanup
hace 18 años
Marty Connor
cd8168b071
eth_ntoa cleanup. still has warnings. needs work.
hace 18 años
Marty Connor
727a88709e
eth_ntoa and warnings cleanup
hace 18 años
Marty Connor
0d1087a5de
eth_ntoa and warnings cleanup
hace 18 años
Marty Connor
859cc71158
compilation warnings cleanup
hace 18 años
Marty Connor
a02dccdafa
eth_ntoa cleanup
hace 18 años
Marty Connor
b88aa51b07
warnings cleanup (still gives lots of compilation warnings from unused functions and missing legacy support)
hace 18 años
Marty Connor
9588e20828
warnings cleanup
hace 18 años
Marty Connor
e753444e04
compilation warnings cleanup
hace 18 años
Marty Connor
cf84605271
eth_ntoa and compilation warnings fixes
hace 18 años
Marty Connor
097c1b341d
eth_ntoa fixes
hace 18 años
Michael Brown
7952bb76ec
Minor fix
hace 18 años
Marty Connor
cce8755fb8
eth_ntoa and warnings fixups, memcpy compilation fix
hace 18 años
Marty Connor
d86c080024
eth_ntoa and warnings fixups
hace 18 años
Marty Connor
eefac0e258
eth_ntoa and warnings fixups
hace 18 años
Marty Connor
d4b060be3b
eth_ntoa and warnings fixups
hace 18 años
Marty Connor
f4d0f2e5b5
eth_ntoa and warnings fixups
hace 18 años
Marty Connor
9e71390930
eth_ntoa and warnings fixups
hace 18 años
Marty Connor
447ed77525
eth_ntoa and warnings fixups
hace 18 años
Marty Connor
3ffeffebb2
eth_ntoa and warnings fixups
hace 18 años
Marty Connor
c0e91255d0
eth_ntoa fixups
hace 18 años
Marty Connor
fe62800bad
eth_ntoa fixups
hace 18 años
Marty Connor
637411c2ab
eth_ntoa fixups
hace 18 años
Marty Connor
3df3ac72e1
eth_ntoa fixups
hace 18 años
Marty Connor
896f871fba
eth_ntoa fixups
hace 18 años