Tartarus CVS: ciel chris

tartarus-commits-admin@lists.tartarus.org tartarus-commits-admin@lists.tartarus.org
Tue, 21 May 2002 07:45:27 +0100


CVSROOT:	/usr/data/cvs
Module name:	ciel
Changes by:	chris	02/05/21 07:45:27

Modified files:
	.              : Tag: x86-port code_cache.cc configure.ac 
	                 decode.cc emulation.cc instructions.cc 
	                 load_file.cc 
	include        : Tag: x86-port byteswap.h code_cache.h decode.h 
	                 emulation.h instruction.h logger.h x86types.h 
	x86_libc       : Tag: x86-port libc.cc misc.cc signal.cc 
Added files:
	include        : Tag: x86-port x86_ptr.h 

Log message:
* Runs test1_dietlibc on x86!
* Added configure test for endianness, and change byteswaps to no-op if
little-endian.
* No longer mmap() program segments where they expect to go in memory, since
that's where ciel is loaded on x86.  Now we just malloc() the area and set
a global address offset.
* Abstract all x86-space memory access through new class x86_ptr, which takes
care of byteswapping and adding the above offset to addresses.
* Instruction pointer now includes a "context" field, so that we can actually
tell the difference between a real instruction pointer and a virtual one
which is an index into an array of decoded instructions.