Michael Brown
							
						 
						
							
								18f9f939a8
								
							 
						 
						
							Introduce structured error codes. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c2352dc8de
								
							 
						 
						
							Add POSIX prototypes for time functions, to allow external code to build 
							
							 
							more easily within gPXE.
Note that we don't have function bodies for these functions yet. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								4256b3338a
								
							 
						 
						
							Split random number generation out into core/random.c, and create the 
							
							 
							correct prototypes for srandom(), rand() and srand(). 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								f4c1e564a1
								
							 
						 
						
							vsprintf.h is gPXE-specific; move it to include/gpxe 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								73b09ecba6
								
							 
						 
						
							Use stdio.h instead of vsprintf.h 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								06475f7b69
								
							 
						 
						
							Finally move the prototypes for printf() and friends to stdio.h 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								1a0ca661c2
								
							 
						 
						
							4.3BSD says that bcopy and bzero are defined in strings.h, not string.h 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								a213876382
								
							 
						 
						
							Typo 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								b02a564297
								
							 
						 
						
							Add missing prerequisite include 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								4e3976711d
								
							 
						 
						
							A working name resolution framework 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								8bb9f726a0
								
							 
						 
						
							When an async operation dies, orphan its children. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								075f8144ff
								
							 
						 
						
							Have DHCP set the nameserver, rather than DNS read the DHCP nameserver 
							
							 
							value. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c014f607a8
								
							 
						 
						
							Use total free memory as advertised window.  This seems to be sufficient 
							
							 
							to avoid drops even on slow NICs. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								6d4e37cf42
								
							 
						 
						
							Move include/malloc.h to include/gpxe/malloc.h, since everything in there 
							
							 
							is now gPXE-specific.  (The standard malloc() et al have been in stdlib.h
for a while).
Add free memory counter. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								5ff23aa406
								
							 
						 
						
							Include stdlib.h rather than malloc.h 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								d12770e254
								
							 
						 
						
							console.h is no longer needed for debugging 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								37f1b12587
								
							 
						 
						
							Allow truly arbitrary debug levels to be specified via DEBUG= 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								5d57cd47a2
								
							 
						 
						
							Declaring the CPU architecture in the middle of an assembly file is 
							
							 
							somewhat redundant, and also causes gas to complain when we include
the profiling code (which uses an i586 instruction). 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								f781a98ac4
								
							 
						 
						
							Add DBGLVL_PROFILE 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								05f4c3d176
								
							 
						 
						
							Remove the one-packet-per-poll-cycle limit; it seems to no longer be 
							
							 
							needed now that performance is up. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								5b00fbade3
								
							 
						 
						
							Increase window size to 64kB.  Line rate downloads on a 100Mbps link, 
							
							 
							anyone? 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								bd95927386
								
							 
						 
						
							Accelerate memcpy() by around 32% on large, dword-aligned copies. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c8b3e969a0
								
							 
						 
						
							Allow buffers to be pre-expanded on demand. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								6c72bf13a1
								
							 
						 
						
							Presize the download buffer when we see the Content-Length header; 
							
							 
							this saves around 70us per received packet (which is around 50% of the
overall packet processing time). 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								08da93a311
								
							 
						 
						
							Reorder functions to more closely reflect the flow of control 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								35776f481c
								
							 
						 
						
							Don't always zero memory in malloc().  This saves around 2us on a 
							
							 
							full-length PKB allocation. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								06630a3036
								
							 
						 
						
							Switch from calloc() to malloc()+memset() to match the practices used 
							
							 
							almost everywhere else. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								48fe701716
								
							 
						 
						
							Respect the RX quota.  This improves poll time by about 0.7us when the 
							
							 
							quota is 1. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								dd6d94004f
								
							 
						 
						
							HTTP/DNS now working fully asynchronously.  HTTP/IP addresses and any 
							
							 
							other protocol won't work at the moment. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								0b11733b75
								
							 
						 
						
							Replacement for fetch() which operates asynchronously and identifies 
							
							 
							protocols by URI scheme. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								99e58865c7
								
							 
						 
						
							Use struct sockaddr rather than struct sockaddr_tcpip 
							
							 
							
Tidy up code 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								6601a7da6a
								
							 
						 
						
							Added async_uninit() to simplify failure paths. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								5a807994d8
								
							 
						 
						
							Add utility function to parse port from URI 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								8ffbbebf11
								
							 
						 
						
							Ensure that struct sockaddr is long enough... 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								9828181e3b
								
							 
						 
						
							Obsolete 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								544fa25928
								
							 
						 
						
							Rename e{malloc,realloc,free} to u{malloc,realloc,free}, to more obviously 
							
							 
							reflect the fact that they allocate and deallocate user memory (i.e.
things reached through a userptr_t). 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								ff8528ea9a
								
							 
						 
						
							Create and use async_block() macro; it cuts down on the visual overhead 
							
							 
							of blocking on asynchronous operations, when that isn't an important
aspect of the code. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								f11da20f25
								
							 
						 
						
							When a network device is specified to tcpip_tx() or it's children, treat 
							
							 
							it as a fallback network device rather than an explicitly forced network
device.
Clear routing table entries before re-attempting DHCP. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								1a1fc23417
								
							 
						 
						
							Improve debugging 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								bcdb6fad3e
								
							 
						 
						
							Improve debug messages 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								835d35749f
								
							 
						 
						
							Improved debugging 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								143d14614d
								
							 
						 
						
							Quickly hack in DNS resolution as a proof of concept 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								9af12d5fba
								
							 
						 
						
							A working DNS resolver (not yet tied in to anything) 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								df0397f334
								
							 
						 
						
							Update TFTP and FTP to take the same temporary URI scheme as HTTP 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								afa752f5fb
								
							 
						 
						
							Protocol's get() method no longer takes ownership of the URI.  HTTP is the 
							
							 
							exception rather than the rule; we may as well keep things clean for other
protocols. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								1f92c6b3e8
								
							 
						 
						
							Must free http on the error path; nothing else will do it 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c676591cd1
								
							 
						 
						
							Unmaintained example code is probably worse than useless. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								4e20d73bb5
								
							 
						 
						
							Gave asynchronous operations approximate POSIX signal semantics.  This 
							
							 
							will enable us to cascade async operations, which is necessary in order to
properly support DNS.  (For example, an HTTP request may have to redirect
to a new location and will have to perform a new DNS lookup, so we can't
just rely on doing the name lookup at the time of parsing the initial
URL).
Anything other than HTTP is probably broken right now; I'll fix the others
up asap. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								ec75b269d3
								
							 
						 
						
							Add missing include 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								90d859c34b
								
							 
						 
						
							Add ETIMEDOUT 
							
							
						 
						vor 19 Jahren