Michael Brown
f77815f2b1
Kill off hotplug.h and just make net devices normal reference-counted
...
structures.
DHCP still broken and #if 0'd out.
2007-06-27 14:48:31 +01: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
Michael Brown
7d9267561b
Don't call PXENV_STOP_UNDI in the kpxeprefix. This slighy breaks the
...
clean separation between loading and starting, but does mean that more
PXE stacks survive the process.
2007-01-29 15:21:10 +00:00
Michael Brown
d0f4e9a54b
Add some trace messages for important events
2007-01-13 17:54:41 +00:00
Michael Brown
4b77061881
Pick up the return status code from the correct place now that we
...
don't overwrite the parameter block until *after* the debug code.
2007-01-13 16:55:57 +00:00
Michael Brown
5817c9f114
When an UNDI API call fails, print everything there is to know about it.
2007-01-13 16:53:55 +00:00
Michael Brown
6a3c76c8e0
Always send EOI. We can't feasibly share interrupts (since we have no
...
clue what the "previous" interrupt handler will do, which could range
from "just an iret" to "disable the interrupt"), and that means that
we have to take responsibility for ACKing all interrupts. Joy.
2007-01-13 14:45:26 +00:00
Michael Brown
f81bf3bc52
We *do* have a __data16_array after all!
2007-01-12 02:37:47 +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
18e5353bed
Rename pkb_available() to pkb_tailroom() for consistency with Linux's
...
skb_tailroom(). Add pkb_headroom().
2007-01-09 20:56:31 +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
3c2cc59d25
Added ability to break ISR processing over several calls to poll().
...
This will allow us to implement RX quotas.
2007-01-09 17:04:10 +00:00
Michael Brown
aa7bda7b47
Send EOI after enabling interrupt, in case the device had asserted IRQ
...
to the PIC while it was disabled.
2007-01-09 14:53:19 +00:00
Michael Brown
66f7bcc785
Tidied up debug messages
2007-01-08 03:34:06 +00:00
Michael Brown
675fe200e5
Use "struct undi_device" instead of "struct pxe_device", and use the
...
function prefix "undinet_" and the variable name "undinic" in undinet.c,
so that we can reserve the variable name "undi" for a struct undi_device.
The idea is that we preserve the Etherboot 5.4 convention that the "UNDI"
code refers to our using an underlying UNDI stack, while the "PXE" code
refers to our providing a PXE API.
2007-01-08 02:24:53 +00:00
Michael Brown
36c1e1aa57
Renamed undi.c to undinet.c. (undi.c will become the UNDI PCI driver)
2007-01-08 02:02:07 +00:00