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 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								82c4afcb32
								
							 
						 
						
							Updated instructions to reflect current reality. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								0eb0dd0437
								
							 
						 
						
							Hardcoded paths to ../../src/bin avoid one step in the instructions. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c67d81bd13
								
							 
						 
						
							Avoid the need for a symlink to the BIOS directory; just use the locally 
							
							 
							checked-out copy. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c378213387
								
							 
						 
						
							Much safer to use a TAP device statically allocated with tunctl. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								297ae0f8d5
								
							 
						 
						
							Updated to syntax required by latest bochs CVS. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								18f620ca5d
								
							 
						 
						
							Updated to current bochs CVS 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								cfae86f6c8
								
							 
						 
						
							Glenn managed to shrink .text by 5 more bytes. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								fee8b91015
								
							 
						 
						
							D'oh 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								7a82c3eca3
								
							 
						 
						
							Added missing ssize_t 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								cf3783b4ca
								
							 
						 
						
							Actually, it's probably a good idea to have packet buffers avoid 4kB 
							
							 
							crossings. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								00a1de964d
								
							 
						 
						
							Update to use POSIX-like API. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								face774c4c
								
							 
						 
						
							Fixed erroneous comparison 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   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 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								4e92f29c9e
								
							 
						 
						
							Now passes trivial tests.  free_memblock() needs neatening up. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   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 yıl önce  
					 
				
					
						
							
								   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 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								a81f96998b
								
							 
						 
						
							Added missing headers required for compilation in Etherboot. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								455b76980f
								
							 
						 
						
							Added pkb_reserve(). 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								26749951dc
								
							 
						 
						
							We have our own ARP layer now. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								fcf765e42d
								
							 
						 
						
							Add missing {register,free}_netdev(). 
							
							 
							
Tie into existing driver API; we'll fix that up soon. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								832e86246b
								
							 
						 
						
							gcc is rather over-aggressive about optimising out static data structures 
							
							 
							even when __atribute__ (( unused )) is correctly set... 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   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 yıl önce  
					 
				
					
						
							
								   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 yıl önce  
					 
				
					
						
							
								   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 yıl önce  
					 
				
					
						
							
								   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 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								0d97f0d482
								
							 
						 
						
							Obviate uip_init(); our bss is zeroed at startup already. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								5423f876fb
								
							 
						 
						
							Don't bother poisoning lists; it costs code size. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								1d7cfd5acf
								
							 
						 
						
							Prototype now clashes with the macro in arch/i386. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								510ccb2900
								
							 
						 
						
							Added __constant_memcpy() based on version in Linux's string.h. 
							
							 
							
Added memswap(). 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								b6b6a0b5fe
								
							 
						 
						
							First draft of a dynamic memory allocator 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   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 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								6209bd873a
								
							 
						 
						
							First sketch of a new net device API. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   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 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								b89ccac02d
								
							 
						 
						
							Updated to remove obsolete constants 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   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 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								d65a66606b
								
							 
						 
						
							Typo 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   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 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								d24042f0bb
								
							 
						 
						
							Update now that if_ether.h has moved. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								4f3581e99c
								
							 
						 
						
							Added ENOENT and EAFNOSUPPORT 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								ab139ceda9
								
							 
						 
						
							Added pkb_unput() and pkb_len(). 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								744b895077
								
							 
						 
						
							Make flags more efficient. 
							
							 
							
Add 'raw' net_addr facility (needed for ARP). 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								49f933fbc3
								
							 
						 
						
							Moved if_ether.h and if_arp.h to include/gpxe, for consistency with Linux 
							
							 
							kernel.
Removed obsolete struct arprequest from if_arp.h and put it in nic.c so
that nic.c will still compile.  ARP will very shortly be handled by
net/arp.c instead. 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								9f67ad9db0
								
							 
						 
						
							First version.  ARP protocol independence in less than the size of uIP's 
							
							 
							Ethernet-and-IPv4-only ARP module.  :) 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								363905e1b6
								
							 
						 
						
							Add missing prototype 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								02d342f38f
								
							 
						 
						
							First version 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								0b561ce972
								
							 
						 
						
							First sketch 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								42b659f926
								
							 
						 
						
							First version 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								0864a73347
								
							 
						 
						
							First version, based on the concepts in linux/skbuff.h 
							
							
						 
						19 yıl önce  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								1a60444fe4
								
							 
						 
						
							Added netmask and gateway global options. 
							
							 
							
Added iSCSI testing. 
							
							
						 
						19 yıl önce