fastmodel: Handle "special" vector regs without calling into IRIS.
These registers don't have an architectural equivalent, but they may need to be accessed by generic code, for instance the code that checkpoints a thread context. Change-Id: I4a18f44f2c09e379a4629c8e3eb8070b5c01918e Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23784 Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -190,6 +190,11 @@ const ArmISA::VecRegContainer &
|
||||
ArmThreadContext::readVecReg(const RegId ®_id) const
|
||||
{
|
||||
const RegIndex idx = reg_id.index();
|
||||
// Ignore accesses to registers which aren't architected. gem5 defines a
|
||||
// few extra registers which it uses internally in the implementation of
|
||||
// some instructions.
|
||||
if (idx >= vecRegIds.size())
|
||||
return vecRegs.at(idx);
|
||||
ArmISA::VecRegContainer ® = vecRegs.at(idx);
|
||||
|
||||
iris::ResourceReadResult result;
|
||||
|
||||
Reference in New Issue
Block a user