Michael Brown
230f16538f
Create include/gpxe/elf.h for the ELF bits that aren't part of the ELF
standard and so don't belong in include/elf.h
пре 17 година
Michael Brown
0010e10ef3
Update TFTP to use a struct buffer rather than a callback.
Add debug autocolourisation to TFTP.
пре 17 година
Michael Brown
7ad1c2eaa8
Removed the Etherboot-specific ELF-image code and replaced it with a
generic ELF loader, to be used by the multiboot code.
пре 17 година
Michael Brown
3634e705b7
Remove osloader.c and replace with a prep_segment() that uses userptr_t
and get_memmap() in image/segment.c
пре 17 година
Michael Brown
c980cdd0aa
Move memmap.h out of arch/i386; it no longer contains anything
architecture-dependent and is needed by the ELF code.
пре 17 година
Michael Brown
fbfed96965
buffer.c should be using copy_{to,from}_user, rather than
copy_{to,from}_phys.
пре 17 година
Michael Brown
a3ed0cbbc7
Extract packet-padding login from rtl8139.c to a separate pkbpad.c file.
пре 17 година
Michael Brown
6918cf9e9e
Change FTP to use a data buffer rather than a callback function.
пре 17 година
Michael Brown
e2dcd05b67
Update buffer-handling code to enable expandable buffers.
пре 17 година
Michael Brown
bb2024c6d6
Move include/buffer.h to include/gpxe/buffer.h
пре 17 година
Michael Brown
d9ba8f790b
Add route() function to display routing table.
пре 17 година
Michael Brown
1fa5cd0e2b
Add find_pci_netdev()
пре 17 година
Michael Brown
fdc97499bf
Add device description fields to struct device.
пре 17 година
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).
пре 17 година
Michael Brown
c821a7b20d
Add udp_sendto_via() to allow e.g. DHCP to transmit without first having
to set up dummy routing entries.
пре 17 година
Michael Brown
f008b77ba2
Allow an explicit network device to be specified for IP-layer
transmissions.
пре 17 година
Michael Brown
55e590ab3a
Move header file for usr/autoboot.c to include/usr
пре 17 година
Michael Brown
d24b80acf2
Added network interface management commands
пре 17 година
Michael Brown
98b6154c3e
Add "name" field to network device, to facilitate netdev commands.
пре 17 година
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.
пре 17 година
Michael Brown
18e5353bed
Rename pkb_available() to pkb_tailroom() for consistency with Linux's
skb_tailroom(). Add pkb_headroom().
пре 17 година
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
пре 17 година
Michael Brown
76525294ee
Clean up connection closing and permanent failure logic.
пре 17 година
Michael Brown
79c5f0ba04
Added PCI_BASE_CLASS() macro
пре 17 година
Michael Brown
5af4918356
Added support for wildcard device/vendor ID matches
пре 17 година
Michael Brown
20c9fc407e
Remove types and prototypes now provided in the undi*.h headers.
пре 17 година
Michael Brown
9780fef360
Partial implementation of UNDI loader caller.
пре 17 година
Michael Brown
0638945c7e
Add PXE driver-scanning code, capable of locating all PXE ROMs in a system
and matching them up to (e.g. PCI) devices.
пре 17 година
Michael Brown
7e07dfb2f4
Added PXE bus driver (with support only for using PXE structures found
lying about in memory, not for loading from ROM), and UNDI net driver.
пре 17 година
Michael Brown
350603cb86
Don't include __FUNCTION__ in assert() messages; it was causing the
function name to appear within the objects even in non-asserting
builds. (This could be considered a gcc bug.)
Removing __FUNCTION__ from assert() reduces the size of bin/blib.a by
around 2.5%!
пре 17 година
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.
пре 17 година
Michael Brown
7fafa89258
A DHCP session holds a persistent reference to a network device
пре 17 година
Michael Brown
ac53da1790
Added missing #include
пре 17 година
Michael Brown
b29861a5aa
IPv6 minirouting table entries hold persistent references to net devices.
пре 17 година
Michael Brown
b22d4405c0
An AoE session holds a persistent reference to a net device.
пре 17 година
Michael Brown
bdf79ec8dc
Use hotplug support to notify persistent reference holders when a
net_device is unregistered.
пре 17 година
Michael Brown
0063725d28
Minimal hotplug support: provide a facility for notifying persistent
reference holders that their reference is about to become invalid.
пре 17 година
Michael Brown
a0525a4ed3
Verify checksums on the RX datapath.
Simplify checksum generation on the TX datapath.
пре 17 година
Michael Brown
b91b9d3d88
Use whole bytes for the ACKED and RCVD portions of tcp_state; it
produces slightly smaller code.
пре 17 година
Michael Brown
2494625702
Added auto-colourising DBGC() macro
пре 17 година
Michael Brown
ce9819af27
Redefine TCP state to include "flags that have been sent" rather than
"flags that are currently being sent". This allows at least one special
case (checking that we haven't already sent a FIN in tcp_rx_fin()) to be
collapsed.
пре 17 година
Michael Brown
61ed298bc7
Merge changes from mcb-tcp-fixes branch.
пре 17 година
Michael Brown
a2e3357825
Cannot immediately overwrite the peer address when we parse
TargetAddress from the login response, because we still need the old
address while we close the connection!
пре 17 година
Michael Brown
73e3e02367
Fix prototype of random() and move to stdlib.h
пре 17 година
Michael Brown
66a7ed23cb
Make start_timer() and stop_timer() robust against incorrect usage.
пре 17 година
Michael Brown
9485478acc
ibft_fill_data() prototype change.
пре 17 година
Michael Brown
ab242a760d
Add ability to shut down iSCSI connection
пре 17 година
Michael Brown
cacd6b1d04
KEY_XXX constants are now defined in gpxe/keys.h. Kept separate from
curses.h so that you don't have to suffer the curses namespace pollution
just to get the symbolic key names.
пре 17 година
Michael Brown
46c3eeba2a
Fix definition of KEY_END
пре 17 година
Michael Brown
2ae27f44d9
Add insert/delete and document keys, and documentation.
пре 17 година