X86: Get rid of initialization of R11
authorGabe Black <gblack@eecs.umich.edu>
Wed, 1 Aug 2007 19:00:32 +0000 (12:00 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Wed, 1 Aug 2007 19:00:32 +0000 (12:00 -0700)
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

src/arch/x86/process.cc

index 03680561286168c913529c596e47ac6945667e44..17904cb3398b851decfea4c82c66eae267809e12 100644 (file)
@@ -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);