Michael Brown
							
						 
						
							
								bd95927386
								
							 
						 
						
							Accelerate memcpy() by around 32% on large, dword-aligned copies. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c8b3e969a0
								
							 
						 
						
							Allow buffers to be pre-expanded on demand. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   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). 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								08da93a311
								
							 
						 
						
							Reorder functions to more closely reflect the flow of control 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								35776f481c
								
							 
						 
						
							Don't always zero memory in malloc().  This saves around 2us on a 
							
							 
							full-length PKB allocation. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								06630a3036
								
							 
						 
						
							Switch from calloc() to malloc()+memset() to match the practices used 
							
							 
							almost everywhere else. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								48fe701716
								
							 
						 
						
							Respect the RX quota.  This improves poll time by about 0.7us when the 
							
							 
							quota is 1. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								dd6d94004f
								
							 
						 
						
							HTTP/DNS now working fully asynchronously.  HTTP/IP addresses and any 
							
							 
							other protocol won't work at the moment. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								0b11733b75
								
							 
						 
						
							Replacement for fetch() which operates asynchronously and identifies 
							
							 
							protocols by URI scheme. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								99e58865c7
								
							 
						 
						
							Use struct sockaddr rather than struct sockaddr_tcpip 
							
							 
							
Tidy up code 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								6601a7da6a
								
							 
						 
						
							Added async_uninit() to simplify failure paths. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								5a807994d8
								
							 
						 
						
							Add utility function to parse port from URI 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								8ffbbebf11
								
							 
						 
						
							Ensure that struct sockaddr is long enough... 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								9828181e3b
								
							 
						 
						
							Obsolete 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   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). 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   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. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   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. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								1a1fc23417
								
							 
						 
						
							Improve debugging 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								bcdb6fad3e
								
							 
						 
						
							Improve debug messages 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								835d35749f
								
							 
						 
						
							Improved debugging 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								143d14614d
								
							 
						 
						
							Quickly hack in DNS resolution as a proof of concept 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								9af12d5fba
								
							 
						 
						
							A working DNS resolver (not yet tied in to anything) 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								df0397f334
								
							 
						 
						
							Update TFTP and FTP to take the same temporary URI scheme as HTTP 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   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. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								1f92c6b3e8
								
							 
						 
						
							Must free http on the error path; nothing else will do it 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c676591cd1
								
							 
						 
						
							Unmaintained example code is probably worse than useless. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   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. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								ec75b269d3
								
							 
						 
						
							Add missing include 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								90d859c34b
								
							 
						 
						
							Add ETIMEDOUT 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								26166cf5e0
								
							 
						 
						
							Added a URI parser that should be standards conformant.  (It can certainly 
							
							 
							handle something as convoluted as
  ftp://joe:secret@insecure.org :8081/hidden/path/to?what=is#this 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								a5a330339b
								
							 
						 
						
							Split DBG() statement containing two inet_ntoa() statements; they 
							
							 
							return a static buffer. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								ce7289a766
								
							 
						 
						
							Dump buffer and packet information in PXENV_UDP_READ as well 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								76aa9ad07d
								
							 
						 
						
							Make TCP give up immediately when it receives -ENETUNREACH from 
							
							 
							tcpip_tx().  This avoids the irritating wait when you accidentally type
"kernel pxelinux.0" before bringing up the network interface.
Add ENETUNREACH to strerror()'s list. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c953c1a1c3
								
							 
						 
						
							Use -ENETUNREACH to mean "no reachable network device exists, don't bother 
							
							 
							retrying". 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								8edf8f6fa8
								
							 
						 
						
							Add the "initrd" command 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								a5f6408d8e
								
							 
						 
						
							We can now load an initrd as well as a kernel 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								b9f99858ab
								
							 
						 
						
							Make the getmemsize() prototype available in memsizes.h, for code that 
							
							 
							doesn't want to go to the hassle of processing a full memory map. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c1fd6e8dc7
								
							 
						 
						
							Once image type has been set, do not autoprobe further 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								99272f958b
								
							 
						 
						
							Typo 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								10c9b03cdb
								
							 
						 
						
							Actually, the initrd image should be architecture-independent. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								f92e04dea4
								
							 
						 
						
							Add dummy "initrd" image format, just so that images can be marked as 
							
							 
							initrds. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								7dc50167bb
								
							 
						 
						
							Allow load() and exec() methods to be NULL. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								8a490146bf
								
							 
						 
						
							Copy command line at execution time rather than load time. 
							
							 
							
Parse command line for "vga=" and "mem=" parameters 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								3ccd7335f0
								
							 
						 
						
							Split bzimage_load into separate functions 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								97a3037f76
								
							 
						 
						
							Can start a Linux kernel directly (albeit with no initrd support) 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								3cbf0db0a3
								
							 
						 
						
							Remove some references to no-longer-existent source files. 
							
							 
							
Add a path for isolinux.bin that is correct on my system; hopefully it
will work on others too. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								b04b0ddc31
								
							 
						 
						
							.lilo and derived targets (e.g. .iso) now load properly. 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								77d280968a
								
							 
						 
						
							Obsoleted by arch/i386/image/multiboot.c 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								784e10635a
								
							 
						 
						
							Can almost start a kernel now.  It dies with "No setup signature found" 
							
							
						 
						19 lat temu  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								698bbe0155
								
							 
						 
						
							Obsolete 
							
							
						 
						19 lat temu