diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-08-01 12:00:32 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-08-01 12:00:32 -0700 |
commit | 4b29d223862a97050e4edfdb66d9c75c0bbd53ed (patch) | |
tree | a79de12170dc87cef32386f4165319a891ada6a8 | |
parent | 4bdabe1254a8ad9bb960f57eb35cec919b370de8 (diff) | |
download | gem5-4b29d223862a97050e4edfdb66d9c75c0bbd53ed.tar.xz |
X86: Get rid of initialization of R11
R11 is just junk after the start of exectuion because we're "returning" from
an execve call and linux destroys the contents of rcx and r11 on system calls.
--HG--
extra : convert_revision : 6bf69a50ce56e0355dfdd41524163874340beec0
-rw-r--r-- | src/arch/x86/process.cc | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/src/arch/x86/process.cc b/src/arch/x86/process.cc index 036805612..17904cb33 100644 --- a/src/arch/x86/process.cc +++ b/src/arch/x86/process.cc @@ -412,11 +412,6 @@ X86LiveProcess::argsInit(int intSize, int pageSize) initVirtMem->writeBlob(argc_base, (uint8_t*)&guestArgc, intSize); - //Set up the thread context to start running the process - //Because of the peculiarities of how syscall works, I believe - //a process starts with r11 containing the value of eflags or maybe r11 - //from before the call to execve. Empirically this value is 0x200. - threadContexts[0]->setIntReg(INTREG_R11, 0x200); //Set the stack pointer register threadContexts[0]->setIntReg(StackPointerReg, stack_min); |