summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-08-01 12:00:32 -0700
committerGabe Black <gblack@eecs.umich.edu>2007-08-01 12:00:32 -0700
commit4b29d223862a97050e4edfdb66d9c75c0bbd53ed (patch)
treea79de12170dc87cef32386f4165319a891ada6a8 /src/arch/x86
parent4bdabe1254a8ad9bb960f57eb35cec919b370de8 (diff)
downloadgem5-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
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/process.cc5
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);