changeset 971f35a65a00 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=971f35a65a00
description:
X86: Move the GDT down to where it can be accessed in 32 bit mode.
The GDT can be accessed by user level software running in compatibility
mode
by moving segment selectors into segment registers. The GDT needs to be
set up
at an address accessible in this mode.
diffstat:
src/arch/x86/process.cc | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diffs (21 lines):
diff -r 545591665fc7 -r 971f35a65a00 src/arch/x86/process.cc
--- a/src/arch/x86/process.cc Sun May 27 19:01:04 2012 -0700
+++ b/src/arch/x86/process.cc Sun May 27 19:01:08 2012 -0700
@@ -132,7 +132,7 @@
int _numSyscallDescs) :
X86LiveProcess(params, objFile, _syscallDescs, _numSyscallDescs)
{
- _gdtStart = ULL(0x100000000);
+ _gdtStart = ULL(0xffffd000);
_gdtSize = VMPageSize;
vsyscallPage.base = 0xffffe000ULL;
@@ -140,7 +140,7 @@
vsyscallPage.vsyscallOffset = 0x400;
vsyscallPage.vsysexitOffset = 0x410;
- stack_base = vsyscallPage.base;
+ stack_base = _gdtStart;
// Set pointer for next thread stack. Reserve 8M for main stack.
next_thread_stack_base = stack_base - (8 * 1024 * 1024);
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev