Michael Brown
df868476e7
Various warnings fixups for OpenBSD with gcc-3.3.5.
17 anni fa
Michael Brown
4c418d2100
Use net_device_operations structure and netdev_nullify() to allow for
safe dropping of the netdev ref by the driver while other refs still
exist.
Add netdev_irq() method. Net device open()/close() methods should no
longer enable or disable IRQs.
Remove rx_quota; it wasn't used anywhere and added too much complexity
to implementing correct interrupt-masking behaviour in pxe_undi.c.
17 anni fa
Michael Brown
71f500ff1b
Enable/disable interrupts in driver open/close.
17 anni fa
Michael Brown
f33bbd4112
How has the legacy wrapper been working for the past month or so...?
17 anni fa
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 anni fa
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 anni fa
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.
17 anni fa
Michael Brown
c63af1ea14
Remove no-longer-used variable
18 anni fa
James Harper
1c971f1234
Fix padding problem - from Michael
18 anni fa
Michael Brown
73b09ecba6
Use stdio.h instead of vsprintf.h
18 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
Michael Brown
7c76791730
Improve debugging output for legacy wrapper
18 anni fa
Michael Brown
1697c78848
Legacy drivers cannot cope with multiple active devices.
18 anni fa
Michael Brown
02df45352c
Force pci.o to be included.
Print warning message at probe time.
18 anni fa
Michael Brown
754cfdfcf4
Legacy drivers will not pad when necessary
18 anni fa
Michael Brown
286bf68faf
Added a very quick and dirty compatibility layer, to allow
not-yet-updated drivers to at least function.
18 anni fa