diff options
author | Mitch Hayenga <mitch.hayenga@arm.com> | 2015-09-30 11:14:19 -0500 |
---|---|---|
committer | Mitch Hayenga <mitch.hayenga@arm.com> | 2015-09-30 11:14:19 -0500 |
commit | e255fa053f8d105de8d188077a318124a3aad9ce (patch) | |
tree | 84733d1dcbb89c1b8f9603ae0ca097f3c75cd0ff /src/arch | |
parent | fafa83ed32933fe250d34dfca23fba348429b176 (diff) | |
download | gem5-e255fa053f8d105de8d188077a318124a3aad9ce.tar.xz |
arm: SMT MPIDR Setting
Changes assignment of the MPIDR for multi-threaded systems only.
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/arm/utility.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/arch/arm/utility.cc b/src/arch/arm/utility.cc index 34fcfd482..bedd4a0b0 100644 --- a/src/arch/arm/utility.cc +++ b/src/arch/arm/utility.cc @@ -210,7 +210,10 @@ getMPIDR(ArmSystem *arm_sys, ThreadContext *tc) // for simulation of larger systems assert((0 <= tc->cpuId()) && (tc->cpuId() < 256)); assert((0 <= tc->socketId()) && (tc->socketId() < 65536)); - if (arm_sys->multiProc) { + if (arm_sys->multiThread) { + return 0x80000000 | // multiprocessor extensions available + tc->contextId(); + } else if (arm_sys->multiProc) { return 0x80000000 | // multiprocessor extensions available tc->cpuId() | tc->socketId() << 8; } else { |