cpu: Implement getReg and setReg for O3.

Change-Id: I3f0bf1e75a5191be98c79fede5aad854a920e9c9
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49109
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
This commit is contained in:
Gabe Black
2021-08-06 03:54:09 -07:00
parent 772b2ab8ba
commit 3ca13734ac
6 changed files with 385 additions and 0 deletions

View File

@@ -197,6 +197,38 @@ ThreadContext::readCCRegFlat(RegIndex reg_idx) const
return cpu->readArchCCReg(reg_idx, thread->threadId());
}
RegVal
ThreadContext::getRegFlat(const RegId &reg) const
{
return cpu->getArchReg(reg, thread->threadId());
}
void *
ThreadContext::getWritableRegFlat(const RegId &reg)
{
return cpu->getWritableArchReg(reg, thread->threadId());
}
void
ThreadContext::getRegFlat(const RegId &reg, void *val) const
{
cpu->getArchReg(reg, val, thread->threadId());
}
void
ThreadContext::setRegFlat(const RegId &reg, RegVal val)
{
cpu->setArchReg(reg, val, thread->threadId());
conditionalSquash();
}
void
ThreadContext::setRegFlat(const RegId &reg, const void *val)
{
cpu->setArchReg(reg, val, thread->threadId());
conditionalSquash();
}
void
ThreadContext::setIntRegFlat(RegIndex reg_idx, RegVal val)
{