Michael Brown
							
						 
						
							
								832807726a
								
							 
						 
						
							Add infrastructure to support access to .data16 (and .text16) variables 
							
							 
							from protected-mode code.
Set up %ds to point to .data16 in prot_to_real, so that code specified
via REAL_EXEC() and friends can access variables in .data16.
Move most real-mode librm variables from .text16 to .data16. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								f4429533a6
								
							 
						 
						
							Added methods for efficiently declaring and accessing variables in 
							
							 
							.data16.  librm will need to supply "char *data16", i.e. the virtual
address of the start of .data16. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								f8f75cef5b
								
							 
						 
						
							BSS is now zeroed by libprefix (along with the otherwise non-zeroable 
							
							 
							portions such as the stack) during the installation process.
init_fns() are called from main().  We need to think about initial
control flow some more. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								cc23057b59
								
							 
						 
						
							Typo 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								10c28a51bd
								
							 
						 
						
							Create two easy-to-use entry points in libprefix: install and 
							
							 
							install_prealloc.  I *think* these will suffice for all the 16-bit
prefixes. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								9e1dd6402d
								
							 
						 
						
							<name>_size variable is no longer needed, since we don't copy the code. 
							
							 
							However, it's worth adding a .size directive so that objdump reports the
correct sizes for the code fragments. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								9fcded3d23
								
							 
						 
						
							Towards a(nother) new real-mode infrastructure, in which we take 
							
							 
							advantage of the fact that we have to have a permanently-resident block
in base memory. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								8f62b39c03
								
							 
						 
						
							Move stack out to separate object, so that having a stack doesn't drag in 
							
							 
							setup.S. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								5463169c1a
								
							 
						 
						
							Verified as working 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								d081d65d48
								
							 
						 
						
							This should be much more elegant: we use flat real mode for the 
							
							 
							highmem data, so decompress16 will be able to unpack blocks bigger
than 64kB. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								cc8821a443
								
							 
						 
						
							Checking in because I don't want to lose this rather neat code for 
							
							 
							running the decompresser in 16:16 protected mode using the real-mode
stack.  However, there's an even simpler way to do it... 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								2462047128
								
							 
						 
						
							Typo 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								9e1becaf8a
								
							 
						 
						
							Merge TCP aborted(), timedout() and closed() methods into a single 
							
							 
							closed() method with a reason code. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								8afb6303fb
								
							 
						 
						
							Half-way tidy 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								04b6a1e004
								
							 
						 
						
							Make all TCP methods optional; at least FTP data is a read-only 
							
							 
							connection and so legitimately ignores acked() and senddata(). 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								aec0e127d2
								
							 
						 
						
							Proof-of-concept FTP implementation 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								a42092d2a0
								
							 
						 
						
							Add a temporary snprintf, so that safely-written code can at least 
							
							 
							compile, even if it won't yet be safe. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								8df7e74990
								
							 
						 
						
							Fix up prototype of strtoul() to match POSIX. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								01bd78d62a
								
							 
						 
						
							Created net/tcp and moved hello.c there 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								7af478b30d
								
							 
						 
						
							Make tcp_connect() void; it will eventually have no failure case. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								9c9208a132
								
							 
						 
						
							Put the TCP connection periodic processing in tcp.c, where it belongs. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								178b0a7e5e
								
							 
						 
						
							Consistency 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								592a5a99c8
								
							 
						 
						
							Moved uIP and tcp.c from proto/ to net/ 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								352bf1bda2
								
							 
						 
						
							Move init.h to gpxe/init.h. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   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 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								23c494d14e
								
							 
						 
						
							Added basic code for implementing co-operative multitasking. 
							
							 
							
Yes, you really can do it in 65 bytes. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								5fe31f1014
								
							 
						 
						
							Give uIP a static IP address for proof-of-concept testing 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								129c6c3968
								
							 
						 
						
							Network layer now works as a proof of concept 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								1488cd3b73
								
							 
						 
						
							Fix a couple of broken assertions, and align the buffer correctly. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								79f64eea55
								
							 
						 
						
							Transmit the buffer contents, not the buffer descriptor... 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								51feeab445
								
							 
						 
						
							Add an explicit failure debug message 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								084f6b18f7
								
							 
						 
						
							Exclude bin directory from tags generation. 
							
							 
							
Create something that might be usable as a symbol list for bochs'
internal debugger. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   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 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								82c4afcb32
								
							 
						 
						
							Updated instructions to reflect current reality. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								0eb0dd0437
								
							 
						 
						
							Hardcoded paths to ../../src/bin avoid one step in the instructions. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c67d81bd13
								
							 
						 
						
							Avoid the need for a symlink to the BIOS directory; just use the locally 
							
							 
							checked-out copy. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c378213387
								
							 
						 
						
							Much safer to use a TAP device statically allocated with tunctl. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								297ae0f8d5
								
							 
						 
						
							Updated to syntax required by latest bochs CVS. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								18f620ca5d
								
							 
						 
						
							Updated to current bochs CVS 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								cfae86f6c8
								
							 
						 
						
							Glenn managed to shrink .text by 5 more bytes. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								fee8b91015
								
							 
						 
						
							D'oh 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								7a82c3eca3
								
							 
						 
						
							Added missing ssize_t 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								cf3783b4ca
								
							 
						 
						
							Actually, it's probably a good idea to have packet buffers avoid 4kB 
							
							 
							crossings. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								00a1de964d
								
							 
						 
						
							Update to use POSIX-like API. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								face774c4c
								
							 
						 
						
							Fixed erroneous comparison 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   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 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								4e92f29c9e
								
							 
						 
						
							Now passes trivial tests.  free_memblock() needs neatening up. 
							
							
						 
						преди 19 години  
					 
				
					
						
							
								   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 години  
					 
				
					
						
							
								   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 години  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								a81f96998b
								
							 
						 
						
							Added missing headers required for compilation in Etherboot. 
							
							
						 
						преди 19 години