arch-arm: Expose haveGicv3CPUInterface to the ISA interface

Change-Id: I36232b7618ad875983f34b741c51f12ddb9ae166
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17989
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Giacomo Travaglini
2019-02-19 09:51:31 +00:00
parent 92518ec843
commit e9c7c81680
2 changed files with 16 additions and 1 deletions

View File

@@ -65,7 +65,8 @@ ISA::ISA(Params *p)
_vecRegRenameMode(Enums::Full),
pmu(p->pmu),
haveGICv3CPUInterface(false),
impdefAsNop(p->impdef_nop)
impdefAsNop(p->impdef_nop),
afterStartup(false)
{
miscRegs[MISCREG_SCTLR_RST] = 0;
@@ -406,6 +407,8 @@ ISA::startup(ThreadContext *tc)
gicv3CpuInterface->setThreadContext(tc);
}
}
afterStartup = true;
}

View File

@@ -105,6 +105,8 @@ namespace ArmISA
*/
bool impdefAsNop;
bool afterStartup;
/** MiscReg metadata **/
struct MiscRegLUTEntry {
uint32_t lower; // Lower half mapped to this register
@@ -706,6 +708,16 @@ namespace ArmISA
Enums::DecoderFlavour decoderFlavour() const { return _decoderFlavour; }
/** Getter for haveGICv3CPUInterface */
bool haveGICv3CpuIfc() const
{
// haveGICv3CPUInterface is initialized at startup time, hence
// trying to read its value before the startup stage will lead
// to an error
assert(afterStartup);
return haveGICv3CPUInterface;
}
Enums::VecRegRenameMode
vecRegRenameMode() const
{