diff options
Diffstat (limited to 'src/arch/x86')
-rw-r--r-- | src/arch/x86/linux/system.cc | 4 | ||||
-rw-r--r-- | src/arch/x86/linux/system.hh | 2 | ||||
-rw-r--r-- | src/arch/x86/process.cc | 14 | ||||
-rw-r--r-- | src/arch/x86/process.hh | 4 | ||||
-rw-r--r-- | src/arch/x86/system.cc | 5 | ||||
-rw-r--r-- | src/arch/x86/system.hh | 2 |
6 files changed, 13 insertions, 18 deletions
diff --git a/src/arch/x86/linux/system.cc b/src/arch/x86/linux/system.cc index 4ae6d0ca4..1a113d365 100644 --- a/src/arch/x86/linux/system.cc +++ b/src/arch/x86/linux/system.cc @@ -59,9 +59,9 @@ LinuxX86System::~LinuxX86System() } void -LinuxX86System::startup() +LinuxX86System::initState() { - X86System::startup(); + X86System::initState(); // The location of the real mode data structure. const Addr realModeData = 0x90200; diff --git a/src/arch/x86/linux/system.hh b/src/arch/x86/linux/system.hh index e3c52ae50..ae7e93f3d 100644 --- a/src/arch/x86/linux/system.hh +++ b/src/arch/x86/linux/system.hh @@ -58,7 +58,7 @@ class LinuxX86System : public X86System LinuxX86System(Params *p); ~LinuxX86System(); - void startup(); + void initState(); }; #endif diff --git a/src/arch/x86/process.cc b/src/arch/x86/process.cc index 2a2d43d3b..02cd45478 100644 --- a/src/arch/x86/process.cc +++ b/src/arch/x86/process.cc @@ -157,12 +157,9 @@ X86LiveProcess::getDesc(int callnum) } void -X86_64LiveProcess::startup() +X86_64LiveProcess::initState() { - LiveProcess::startup(); - - if (checkpointRestored) - return; + X86LiveProcess::initState(); argsInit(sizeof(uint64_t), VMPageSize); @@ -255,12 +252,9 @@ X86_64LiveProcess::startup() } void -I386LiveProcess::startup() +I386LiveProcess::initState() { - LiveProcess::startup(); - - if (checkpointRestored) - return; + X86LiveProcess::initState(); argsInit(sizeof(uint32_t), VMPageSize); diff --git a/src/arch/x86/process.hh b/src/arch/x86/process.hh index 8063898d7..34275b2d3 100644 --- a/src/arch/x86/process.hh +++ b/src/arch/x86/process.hh @@ -99,7 +99,7 @@ namespace X86ISA public: void argsInit(int intSize, int pageSize); - void startup(); + void initState(); X86ISA::IntReg getSyscallArg(ThreadContext *tc, int &i); void setSyscallArg(ThreadContext *tc, int i, X86ISA::IntReg val); @@ -123,7 +123,7 @@ namespace X86ISA public: void argsInit(int intSize, int pageSize); - void startup(); + void initState(); void syscall(int64_t callnum, ThreadContext *tc); X86ISA::IntReg getSyscallArg(ThreadContext *tc, int &i); diff --git a/src/arch/x86/system.cc b/src/arch/x86/system.cc index 01416e544..46d17cdb3 100644 --- a/src/arch/x86/system.cc +++ b/src/arch/x86/system.cc @@ -109,9 +109,10 @@ installSegDesc(ThreadContext *tc, SegmentRegIndex seg, } void -X86System::startup() +X86System::initState() { - System::startup(); + System::initState(); + ThreadContext *tc = threadContexts[0]; // This is the boot strap processor (BSP). Initialize it to look like // the boot loader has just turned control over to the 64 bit OS. We diff --git a/src/arch/x86/system.hh b/src/arch/x86/system.hh index 4a61193e6..0b5da3145 100644 --- a/src/arch/x86/system.hh +++ b/src/arch/x86/system.hh @@ -77,7 +77,7 @@ class X86System : public System void serialize(std::ostream &os); void unserialize(Checkpoint *cp, const std::string §ion); - void startup(); + void initState(); protected: |