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