Michael Brown
							
						 
						
							
								8df7e74990
								
							 
						 
						
							Fix up prototype of strtoul() to match POSIX. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								01bd78d62a
								
							 
						 
						
							Created net/tcp and moved hello.c there 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								7af478b30d
								
							 
						 
						
							Make tcp_connect() void; it will eventually have no failure case. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								9c9208a132
								
							 
						 
						
							Put the TCP connection periodic processing in tcp.c, where it belongs. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								178b0a7e5e
								
							 
						 
						
							Consistency 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								592a5a99c8
								
							 
						 
						
							Moved uIP and tcp.c from proto/ to net/ 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								352bf1bda2
								
							 
						 
						
							Move init.h to gpxe/init.h. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								bac97eb979
								
							 
						 
						
							Change semantics of network API so that packet-absorbing calls *always* 
							
							 
							take ownership of the packet, rather than doing so only if they return
success.  This breaks semantic compatibility with Linux's
hard_start_xmit() method, but means that we don't have to worry so much
about error cases.
Split mechanism of processing received packets (net_rx_process()) out
from policy (net_step()), preparatory to putting net_step() in a separate
object. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								23c494d14e
								
							 
						 
						
							Added basic code for implementing co-operative multitasking. 
							
							 
							
Yes, you really can do it in 65 bytes. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								5fe31f1014
								
							 
						 
						
							Give uIP a static IP address for proof-of-concept testing 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								129c6c3968
								
							 
						 
						
							Network layer now works as a proof of concept 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								1488cd3b73
								
							 
						 
						
							Fix a couple of broken assertions, and align the buffer correctly. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								79f64eea55
								
							 
						 
						
							Transmit the buffer contents, not the buffer descriptor... 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								51feeab445
								
							 
						 
						
							Add an explicit failure debug message 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								084f6b18f7
								
							 
						 
						
							Exclude bin directory from tags generation. 
							
							 
							
Create something that might be usable as a symbol list for bochs'
internal debugger. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								d8e99bf28f
								
							 
						 
						
							Gave up on adding POSIX errno's as required, and just added (almost) all 
							
							 
							of them in one go.
EBADIMG has been replaced by ENOEXEC, and EIMGRET by ECANCELED. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								cfae86f6c8
								
							 
						 
						
							Glenn managed to shrink .text by 5 more bytes. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								fee8b91015
								
							 
						 
						
							D'oh 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								7a82c3eca3
								
							 
						 
						
							Added missing ssize_t 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								cf3783b4ca
								
							 
						 
						
							Actually, it's probably a good idea to have packet buffers avoid 4kB 
							
							 
							crossings. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								00a1de964d
								
							 
						 
						
							Update to use POSIX-like API. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								face774c4c
								
							 
						 
						
							Fixed erroneous comparison 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								95f8a42930
								
							 
						 
						
							Removed incorrect comment; malloc() is inefficient only when the 
							
							 
							alignment and size are both powers of two, and there's no way to
specify an alignment through the malloc() interface anyway. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								4e92f29c9e
								
							 
						 
						
							Now passes trivial tests.  free_memblock() needs neatening up. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								b601a7d355
								
							 
						 
						
							Updated memory allocator to improve support for unaligned or partially 
							
							 
							aligned blocks.
Moved header to include/malloc.h, since we now also provide the
POSIX-like malloc()/free() pair.
Not yet tested. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								2f0d412210
								
							 
						 
						
							Add __constant_flsl(), because it's useful for finding out the next 
							
							 
							power-of-two up from a given constant via
  ( 1 << fls ( constant - 1 ) )
fls(), flsl(), ffs() and ffsl() appear in strings.h according to
POSIX. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								a81f96998b
								
							 
						 
						
							Added missing headers required for compilation in Etherboot. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								455b76980f
								
							 
						 
						
							Added pkb_reserve(). 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								26749951dc
								
							 
						 
						
							We have our own ARP layer now. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								fcf765e42d
								
							 
						 
						
							Add missing {register,free}_netdev(). 
							
							 
							
Tie into existing driver API; we'll fix that up soon. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								832e86246b
								
							 
						 
						
							gcc is rather over-aggressive about optimising out static data structures 
							
							 
							even when __atribute__ (( unused )) is correctly set... 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								4c4e4de18f
								
							 
						 
						
							(librm_base-1b) is already an offset; no need to apply OFFSET(). 
							
							 
							Doing so, in fact, seems to expose an assembler bug; (a-b-0) is
apparently not the same as (a-b).  Go figure. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								824d6ffa7f
								
							 
						 
						
							Header rearrangement. 
							
							 
							
I want to get to the point where any header in include/ reflects a
standard user-level header (e.g. a POSIX header), while everything that's
specific to gPXE lives in include/gpxe/.  Headers that reflect a Linux
header (e.g. if_ether.h) should also be in include/gpxe/, with the same
name as the Linux header and, preferably, the same names used for the
definitions. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								53f78346bf
								
							 
						 
						
							Network API now allows for multiple network devices (although the 
							
							 
							implementation allows for only one, and does so without compromising on
the efficiency of static allocation).
Link-layer protocols are cleanly separated from the device drivers.
Network-layer protocols are cleanly separated from individual network
devices.
Link-layer and network-layer protocols are cleanly separated from each
other. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								fdc2ee79db
								
							 
						 
						
							Network API now allows for multiple network devices (although the 
							
							 
							implementation allows for only one, and does so without compromising on
the efficiency of static allocation).
Link-layer protocols are cleanly separated from the device drivers.
Network-layer protocols are cleanly separated from individual network
devices.
Link-layer and network-layer protocols are cleanly separated from each
other. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								0d97f0d482
								
							 
						 
						
							Obviate uip_init(); our bss is zeroed at startup already. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								5423f876fb
								
							 
						 
						
							Don't bother poisoning lists; it costs code size. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								1d7cfd5acf
								
							 
						 
						
							Prototype now clashes with the macro in arch/i386. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								510ccb2900
								
							 
						 
						
							Added __constant_memcpy() based on version in Linux's string.h. 
							
							 
							
Added memswap(). 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								b6b6a0b5fe
								
							 
						 
						
							First draft of a dynamic memory allocator 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								e323d1a29b
								
							 
						 
						
							Add "net" directory. 
							
							 
							
Avoid including debug information in bin/%.s output, since the whole
point is to have easy-to-read assembler. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								6209bd873a
								
							 
						 
						
							First sketch of a new net device API. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								bdc8190c8d
								
							 
						 
						
							Remove the concept of the media-independent link-layer header and replace 
							
							 
							it with metadata in the pkb structure.  This is required since UNDI will
want to be able to parse the link-layer header without destroying it. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								b89ccac02d
								
							 
						 
						
							Updated to remove obsolete constants 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								3ca7dbe7ca
								
							 
						 
						
							Added the concept of a network interface (a network-layer concept) as 
							
							 
							separate from a network device (a link-layer concept). 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								d65a66606b
								
							 
						 
						
							Typo 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								2558439ce4
								
							 
						 
						
							First version, based on include/linux/list.h, stripped down to just 
							
							 
							those functions we are likely to need.
Still need to come up with a way of getting the linker to create
static lists using this linking mechanism. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								d24042f0bb
								
							 
						 
						
							Update now that if_ether.h has moved. 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								4f3581e99c
								
							 
						 
						
							Added ENOENT and EAFNOSUPPORT 
							
							
						 
						hace 19 años  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								ab139ceda9
								
							 
						 
						
							Added pkb_unput() and pkb_len(). 
							
							
						 
						hace 19 años