Michael Brown
71f500ff1b
Enable/disable interrupts in driver open/close.
17 years ago
Michael Brown
290280f90e
Enable/disable interrupts at open/close time.
17 years ago
Michael Brown
a2a0c2eace
Enable/disable interrupts on open/close.
17 years ago
Michael Brown
5f17089b14
pxe_netdev now holds a reference to the network device.
Use generic fields in struct device_description rather than assuming
that the struct device * is contained within a pci_device or
isapnp_device; this assumption is broken when using the undionly
driver.
Add PXENV_UNDI_SET_STATION_ADDRESS.
17 years ago
Michael Brown
95cb7aaacf
Support cards such as natsemi which treat the data as little-endian
(i.e. LSB transmitted first on the wire), even though SPI commands and
addresses always have to be big-endian.
17 years ago
Michael Brown
31fe5b9415
Hack together far enough to support ne2k-pci.
17 years ago
Michael Brown
f33bbd4112
How has the legacy wrapper been working for the past month or so...?
17 years ago
Michael Brown
f77815f2b1
Kill off hotplug.h and just make net devices normal reference-counted
structures.
DHCP still broken and #if 0'd out.
17 years ago
Michael Brown
0316eaf85d
Add missing call to free_iob().
17 years ago
Marty Connor
f97e642d17
Update email addresses in drivers
17 years ago
Marty Connor
8c25ea0970
Updated email mdc's email address
17 years ago
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;'
17 years ago
Michael Brown
13137a4d61
t5x9 code relies on nic->ioaddr being set
18 years ago
Michael Brown
62548c9f0d
Updated 3c509 to current device model
18 years ago
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.
18 years ago
Michael Brown
c63af1ea14
Remove no-longer-used variable
18 years ago
James Harper
e1735d5fc2
Fix some bad pointer arithmatic in the tg3 driver that was causing the dynamic memory pool to be corrupted (or worse)
18 years ago
James Harper
1c971f1234
Fix padding problem - from Michael
18 years ago
Michael Brown
2cf1e33df1
Split bootsector execution code out into bootsector.c.
Added basic El Torito ISO image boot capability
18 years ago
Michael Brown
73b09ecba6
Use stdio.h instead of vsprintf.h
18 years ago
Michael Brown
5ff23aa406
Include stdlib.h rather than malloc.h
18 years ago
Michael Brown
48fe701716
Respect the RX quota. This improves poll time by about 0.7us when the
quota is 1.
18 years ago
Michael Brown
ff8528ea9a
Create and use async_block() macro; it cuts down on the visual overhead
of blocking on asynchronous operations, when that isn't an important
aspect of the code.
18 years ago
Michael Brown
4e20d73bb5
Gave asynchronous operations approximate POSIX signal semantics. This
will enable us to cascade async operations, which is necessary in order to
properly support DNS. (For example, an HTTP request may have to redirect
to a new location and will have to perform a new DNS lookup, so we can't
just rely on doing the name lookup at the time of parsing the initial
URL).
Anything other than HTTP is probably broken right now; I'll fix the others
up asap.
18 years ago
Michael Brown
03390f0cd6
Use pkb_pad() rather than doing it the dangerous way :)
18 years ago
Michael Brown
a3ed0cbbc7
Extract packet-padding login from rtl8139.c to a separate pkbpad.c file.
18 years ago
Michael Brown
fdc97499bf
Add device description fields to struct device.
18 years ago
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).
18 years ago
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.
18 years ago
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.
18 years ago
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
18 years ago
Michael Brown
5af4918356
Added support for wildcard device/vendor ID matches
18 years ago
Michael Brown
7b9617f5df
Add device to hierarchy before calling the driver's probe() function; this
way everything remains consistent if the probe() ends up creating child
devices.
18 years ago
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.
18 years ago
Michael Brown
61ed298bc7
Merge changes from mcb-tcp-fixes branch.
18 years ago
Michael Brown
ab242a760d
Add ability to shut down iSCSI connection
18 years ago
Michael Brown
7ce3df65c2
Default to port 0 (sic).
18 years ago
Michael Brown
6ceaa158da
Return -EIO when verification fails, instead of -EINVAL.
18 years ago
Michael Brown
9f953322a1
Remove warning (at least on platforms with uint32_t == unsigned long).
18 years ago
Michael Brown
a646e38f03
Use stdlib.h for malloc() instead of malloc.h.
18 years ago
Michael Brown
a497e16767
The "increment MAC address by port number" hack applies only to EF1.
18 years ago
Michael Brown
a39b111684
Automatically select between the "10" and "16" variants of command set,
based on the device size.
18 years ago
Michael Brown
3bd7e479a2
Catch SCSI errors, and work around the start-of-day CHECK CONDITION
that some targets send.
18 years ago
Michael Brown
29db66fb51
Add support for non-volatile stored options in the RTL8139 EEPROM.
18 years ago
Michael Brown
d2bf7abe75
Added write support for three-wire devices (e.g. the RTL8139 EEPROM)
18 years ago
Michael Brown
ac401f481d
Verify data after writing
18 years ago
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.
18 years ago
Michael Brown
4c3e0fede5
Adjust EEPROM/flash detection to fit expected manufacturing practice.
18 years ago
Michael Brown
cb883b3faf
Change some debugging messages to use DBG()
18 years ago
Michael Brown
6b45947a59
Added debug statements
18 years ago