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.