Michael Brown
b34d4d0449
Separate the "is data ready" function of xfer_seek() into an
xfer_window() function, which can return a scalar rather than a
boolean.
il y a 17 ans
Michael Brown
ca4c6f9eee
Kill off unused request() method in data-xfer interface.
il y a 17 ans
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.
il y a 17 ans
Michael Brown
539ff45fd0
Allow recording of TX and RX errors to aid in end-user debugging.
il y a 17 ans
Michael Brown
0324d5ff70
!PXE and PXENV+ structures are in code segment, not data segment.
il y a 17 ans
Michael Brown
dca470cb21
Add (untested) UNDI loader C-level implementation.
il y a 17 ans
Michael Brown
89349d7fad
Separated out initialisation functions from startup/shutdown functions.
il y a 17 ans
Michael Brown
5ce5e6d846
Move pxe_netdev and set_pxe_netdev to pxe_undi.c and remove
now-obsolete pxe.c.
il y a 17 ans
Michael Brown
0924cf678e
Implemented (untested) PXENV_START_UNDI.
il y a 17 ans
Michael Brown
30a442aef8
Report our interface type as "gPXE" to avoid working around Etherboot
5.4 bugs when driving ourselves via UNDI.
il y a 17 ans
Michael Brown
1ce0b4bbfb
Kill off PXENV_UNDI_FORCE_INTERRUPT support; we have no reason to
suspect that we need it, and implementing it would require needlessly
complicating the net device API.
il y a 17 ans
Michael Brown
5f92f0bd82
Reserve space for link-layer header in pxenv_undi_transmit() when not
handed a P_UNKNOWN packet.
il y a 17 ans
Michael Brown
258afef751
Add missing call to free_iob() in pxenv_undi_isr().
Correct typo in pxenv_set_station_address().
il y a 17 ans
Michael Brown
4968caab82
Add trivial net device statistics (TX and RX packet count), reported
via UNDI API and also by ifstat command; may be useful for debugging.
il y a 17 ans
Michael Brown
cbd956535e
Place netdev_open()/netdev_close() calls in appropriate places.
il y a 17 ans
Michael Brown
8f37a6a424
Add mechanism for providing TX completion events.
il y a 17 ans
Michael Brown
332614a382
Add untested support for UNDI transmit and receive.
il y a 17 ans
Michael Brown
e42eba4af4
Use a common base-memory packet buffer for DHCP construction (as used
by PXE and NBI) and UNDI packets (as used by undinet and UNDI).
il y a 17 ans
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.
il y a 17 ans
Michael Brown
e3bbfd7a75
Call shutdown() from pxenv_undi_shutdown(). Probably not totally
correct, but it's enough to get RIS working.
il y a 17 ans
Michael Brown
4472e22b5e
Implement the two UNDI API calls used by RIS.
il y a 17 ans
Michael Brown
d05d8edd42
Implement the "overwrite TFTP filename" Microsoft RIS bug workaround.
il y a 17 ans
Michael Brown
8130443f9f
Separate out pxe_start_nbp() from pxe_image.c into pxe_call.c
Implement PXENV_RESTART_TFTP.
il y a 17 ans
Michael Brown
9125070f51
I really, really screwed up the semantics of BufferSize and BufferLimit.
il y a 17 ans
Michael Brown
40d6d3dcf4
Windows RIS now gets as far as downloading NTLDR.
il y a 17 ans
Michael Brown
e381714c07
Partial migration of UDP to data-xfer interface. (Will not link at
present; DHCP is broken).
il y a 17 ans
Michael Brown
01b4bde8a0
Updated TFTP and PXE UDP API code to use not-yet-implemented data-xfer
UDP API.
il y a 17 ans
Michael Brown
23008b9326
Updated to use POSIX-style file I/O layer.
il y a 17 ans
Michael Brown
5ff23aa406
Include stdlib.h rather than malloc.h
il y a 18 ans
Michael Brown
a5a330339b
Split DBG() statement containing two inet_ntoa() statements; they
return a static buffer.
il y a 18 ans
Michael Brown
ce7289a766
Dump buffer and packet information in PXENV_UDP_READ as well
il y a 18 ans
Michael Brown
6dcb182aee
Fill in BufferSize in PXENV_GET_CACHED_INFO
il y a 18 ans
Michael Brown
3b2f6e4585
Currently unusable; do not attempt to compile
il y a 18 ans
Michael Brown
d4894f0127
We *should* use the persistent reference API for our netdev reference,
but there's so much else missing that it's not worth doing right now.
il y a 18 ans
Michael Brown
84a2b886e1
Split error-message table portions of errno.h out to gpxe/errortab.h
il y a 18 ans
Michael Brown
88e38fa148
We don't actually have a stdio.h header file. Our printf() functions are
defined in vsprintf.h. (This may change, since vsprintf.h is a
non-standard name, but for now it's the one to use.)
There should be no need to include vsprintf.h just for DBG() statements,
since include/compiler.h forces it in for a debug build anyway.
il y a 18 ans
Marty Connor
6ac78f6aff
added stdio.h to includes for DBG compilation
il y a 18 ans
Michael Brown
f018da8215
Implement enough of PXENV_GET_CACHED_INFO to support pxelinux.
il y a 18 ans
Michael Brown
75d26d884a
Added pxe_netdev; a slight hack for now, but will need to be done
properly for the PXE UNDI API anyway.
il y a 18 ans
Michael Brown
691557281f
Add a couple of small but vital parts to PXENV_UDP_WRITE.
il y a 18 ans
Michael Brown
71754ada2a
Allow linking by converting functions to stubs
il y a 18 ans
Michael Brown
17ecfd1d67
Allow linking by converting all functions to stubs
il y a 18 ans
Michael Brown
ffe0e24249
Make the UDP senddata() methods return a status code.
udp_connect() now follows the standard BSD sockets semantics and simply
sets the default address for outgoing packets; it doesn't filter incoming
packets.
il y a 18 ans
Michael Brown
a0a872f7f1
Updated PXE UDP implementation to use the new Etherboot UDP API.
Updated PXE API dispatcher to use copy_{to,from}_user, and moved to
arch/i386 since the implementation is quite architecture-dependent.
(The individual PXE API calls can be largely
architecture-independent.)
il y a 18 ans
Michael Brown
c3e41e6fd1
Added soon-to-be-requisite missing include.
il y a 18 ans
Michael Brown
832e86246b
gcc is rather over-aggressive about optimising out static data structures
even when __atribute__ (( unused )) is correctly set...
il y a 18 ans
Michael Brown
b89ccac02d
Updated to remove obsolete constants
il y a 18 ans
Michael Brown
53a4436d94
TFTP upgraded to use a core function library (in tftpcore.c) which will be
shared between TFTP, TFTM and MTFTP protocols.
il y a 19 ans
Michael Brown
59582db29d
Documented remainder of PXE TFTP API calls.
il y a 19 ans
Michael Brown
2ffc960e67
Added diatribe about the mismatch between the PXE spec and the TFTP
protocol, and how we will work around it.
il y a 19 ans