Michael Brown
							
						 
						
							
								7af478b30d
								
							 
						 
						
							Make tcp_connect() void; it will eventually have no failure case. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								9c9208a132
								
							 
						 
						
							Put the TCP connection periodic processing in tcp.c, where it belongs. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								178b0a7e5e
								
							 
						 
						
							Consistency 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								592a5a99c8
								
							 
						 
						
							Moved uIP and tcp.c from proto/ to net/ 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								352bf1bda2
								
							 
						 
						
							Move init.h to gpxe/init.h. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   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. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								23c494d14e
								
							 
						 
						
							Added basic code for implementing co-operative multitasking. 
							
							 
							
Yes, you really can do it in 65 bytes. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								5fe31f1014
								
							 
						 
						
							Give uIP a static IP address for proof-of-concept testing 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								129c6c3968
								
							 
						 
						
							Network layer now works as a proof of concept 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								1488cd3b73
								
							 
						 
						
							Fix a couple of broken assertions, and align the buffer correctly. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								79f64eea55
								
							 
						 
						
							Transmit the buffer contents, not the buffer descriptor... 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								51feeab445
								
							 
						 
						
							Add an explicit failure debug message 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								084f6b18f7
								
							 
						 
						
							Exclude bin directory from tags generation. 
							
							 
							
Create something that might be usable as a symbol list for bochs'
internal debugger. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   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. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								82c4afcb32
								
							 
						 
						
							Updated instructions to reflect current reality. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								0eb0dd0437
								
							 
						 
						
							Hardcoded paths to ../../src/bin avoid one step in the instructions. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c67d81bd13
								
							 
						 
						
							Avoid the need for a symlink to the BIOS directory; just use the locally 
							
							 
							checked-out copy. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c378213387
								
							 
						 
						
							Much safer to use a TAP device statically allocated with tunctl. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								297ae0f8d5
								
							 
						 
						
							Updated to syntax required by latest bochs CVS. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								18f620ca5d
								
							 
						 
						
							Updated to current bochs CVS 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								cfae86f6c8
								
							 
						 
						
							Glenn managed to shrink .text by 5 more bytes. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								fee8b91015
								
							 
						 
						
							D'oh 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								7a82c3eca3
								
							 
						 
						
							Added missing ssize_t 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								cf3783b4ca
								
							 
						 
						
							Actually, it's probably a good idea to have packet buffers avoid 4kB 
							
							 
							crossings. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								00a1de964d
								
							 
						 
						
							Update to use POSIX-like API. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								face774c4c
								
							 
						 
						
							Fixed erroneous comparison 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   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. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								4e92f29c9e
								
							 
						 
						
							Now passes trivial tests.  free_memblock() needs neatening up. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   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. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   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. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								a81f96998b
								
							 
						 
						
							Added missing headers required for compilation in Etherboot. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								455b76980f
								
							 
						 
						
							Added pkb_reserve(). 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								26749951dc
								
							 
						 
						
							We have our own ARP layer now. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								fcf765e42d
								
							 
						 
						
							Add missing {register,free}_netdev(). 
							
							 
							
Tie into existing driver API; we'll fix that up soon. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								832e86246b
								
							 
						 
						
							gcc is rather over-aggressive about optimising out static data structures 
							
							 
							even when __atribute__ (( unused )) is correctly set... 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   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. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   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. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   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. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   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. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								0d97f0d482
								
							 
						 
						
							Obviate uip_init(); our bss is zeroed at startup already. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								5423f876fb
								
							 
						 
						
							Don't bother poisoning lists; it costs code size. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								1d7cfd5acf
								
							 
						 
						
							Prototype now clashes with the macro in arch/i386. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								510ccb2900
								
							 
						 
						
							Added __constant_memcpy() based on version in Linux's string.h. 
							
							 
							
Added memswap(). 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								b6b6a0b5fe
								
							 
						 
						
							First draft of a dynamic memory allocator 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   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. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								6209bd873a
								
							 
						 
						
							First sketch of a new net device API. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   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. 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								b89ccac02d
								
							 
						 
						
							Updated to remove obsolete constants 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								3ca7dbe7ca
								
							 
						 
						
							Added the concept of a network interface (a network-layer concept) as 
							
							 
							separate from a network device (a link-layer concept). 
							
							
						 
						před 19 roky  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								d65a66606b
								
							 
						 
						
							Typo 
							
							
						 
						před 19 roky