Michael Brown
							
						 
						
							
								6abfaa153b
								
							 
						 
						
							Towards making KEEP_IT_REAL work again. 
							
							 
							
Fix bug that caused over-allocation of .text16 and .data16 memory areas
by a factor of 16. 
							
							
						 
						19 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								35b04b1514
								
							 
						 
						
							Tidy up comment 
							
							
						 
						19 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								041a04335e
								
							 
						 
						
							Fixed assembly on old versions of gas 
							
							
						 
						19 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								29340d7728
								
							 
						 
						
							Documented the fact that the prefix can prot_call(main) without 
							
							 
							worrying about its stack being destroyed during the Etherboot run. 
							
							
						 
						19 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								89da833c5d
								
							 
						 
						
							init_librm() and prot_call() are now real-mode far calls. 
							
							 
							
install() now calls relocate(), moves the protected-mode code to the new
location, and calls hide_etherboot(). 
							
							
						 
						19 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								02cf755f3f
								
							 
						 
						
							Removed REAL_EXEC(); there is no longer any code using it. 
							
							
						 
						19 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								83d80d9e79
								
							 
						 
						
							Remove references to obsoleted REAL_CALL from documentation. 
							
							
						 
						19 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								5080668704
								
							 
						 
						
							Provide access to rm_cs and rm_ds from protected-mode code. 
							
							
						 
						19 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								f7b963da51
								
							 
						 
						
							(Redoing check-in lost by SourceForge's failure.) 
							
							 
							
Use .text16.data section with "aw" attributes, to avoid section type
conflicts when placing both code and data into .text16.
Add __from_{text16,data16}. 
							
							
						 
						19 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								fdb983d473
								
							 
						 
						
							Preserve the whole of %esp across prot_call().  We have to split this 
							
							 
							between the low half stored in the static variable rm_sp, and the high
half stored on the prot_call() stack, because:
  Just using the stack would screw up when a prot_call()ed routine
  executes a real_call(); it would have no way to find the current top of
  the RM stack.
  Extending rm_sp to rm_esp would not be safe, because the guarantee that
  rm_sp must return to the correct value by the time an external
  real-mode call returns applies only to %sp, not to %esp. 
							
							
						 
						19 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								c10d1aa9d7
								
							 
						 
						
							Preserve GDT across prot_call(). 
							
							
						 
						19 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								dcc1b0054e
								
							 
						 
						
							This line should not have been checked in 
							
							
						 
						19 anos atrás  
					 
				
					
						
							
								   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 anos atrás  
					 
				
					
						
							
								   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 anos atrás  
					 
				
					
						
							
								   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 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								352bf1bda2
								
							 
						 
						
							Move init.h to gpxe/init.h. 
							
							
						 
						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
							
						 
						
							
								d3dec7c331
								
							 
						 
						
							Update to cope with changes in registers.h 
							
							
						 
						20 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								378c1b500c
								
							 
						 
						
							Cleaner separation of functionality between post_reloc and 
							
							 
							initialise_via_librm. 
							
							
						 
						20 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								34a0b5f16f
								
							 
						 
						
							initialise() doesn't take regs 
							
							
						 
						20 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								87508aa0b2
								
							 
						 
						
							arch_initialise() is now sufficiently generic that we may as well just 
							
							 
							call it initialise() and place it in main.c.  :) 
							
							
						 
						20 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								560027899e
								
							 
						 
						
							Heading towards a sane set of control functions 
							
							
						 
						20 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								04a99841e6
								
							 
						 
						
							Make prot_call() able to transparently return via the newly installed copy 
							
							 
							of librm. 
							
							
						 
						20 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								2fa14f2f1d
								
							 
						 
						
							lgdt needs data32 prefix, otherwise it loads only 24 bits.  (sgdt 
							
							 
							always saves 32 bits). 
							
							
						 
						20 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								6a4ac358f3
								
							 
						 
						
							Add INIT_FNs to make sure that librm gets reallocated when needed. 
							
							
						 
						20 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								1f6dfd7047
								
							 
						 
						
							Allow ourselves to be freed by basemem.c without being damaged. 
							
							
						 
						20 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								a800e9657d
								
							 
						 
						
							PM function called by prot_call() should be allowed to modifying 
							
							 
							registers returned to RM code. 
							
							
						 
						20 anos atrás  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								0ff80b477d
								
							 
						 
						
							Merged mcb30-realmode-redesign back to HEAD 
							
							
						 
						20 anos atrás