diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2009-02-15 23:43:39 -0800 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2009-02-15 23:43:39 -0800 |
commit | 6923282fb5a9ba6af14d19be094839eefe1c34be (patch) | |
tree | c009d33ccdde3ceb63225d0c8561918c8f8c25e4 /src/sim | |
parent | e0f425bb94a5b67c1128cc05c490dc78f0841290 (diff) | |
download | gem5-6923282fb5a9ba6af14d19be094839eefe1c34be.tar.xz |
X86: Make the loader recognize 32 bit x86 processes.
Diffstat (limited to 'src/sim')
-rw-r--r-- | src/sim/process.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/sim/process.cc b/src/sim/process.cc index b335d0cf2..7383611c0 100644 --- a/src/sim/process.cc +++ b/src/sim/process.cc @@ -708,14 +708,19 @@ LiveProcess::create(LiveProcessParams * params) fatal("Unknown/unsupported operating system."); } #elif THE_ISA == X86_ISA - if (objFile->getArch() != ObjectFile::X86) + if (objFile->getArch() != ObjectFile::X86_64 && + objFile->getArch() != ObjectFile::I386) fatal("Object file architecture does not match compiled ISA (x86)."); switch (objFile->getOpSys()) { case ObjectFile::UnknownOpSys: warn("Unknown operating system; assuming Linux."); // fall through case ObjectFile::Linux: - process = new X86LinuxProcess(params, objFile); + if (objFile->getArch() == ObjectFile::X86_64) { + process = new X86LinuxProcess(params, objFile); + } else { + panic("32 bit x86 Linux process aren't implemented.\n"); + } break; default: |