diff options
Diffstat (limited to 'src/arch/sparc/faults.hh')
-rw-r--r-- | src/arch/sparc/faults.hh | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/arch/sparc/faults.hh b/src/arch/sparc/faults.hh index 86f8c5b7d..88826bf61 100644 --- a/src/arch/sparc/faults.hh +++ b/src/arch/sparc/faults.hh @@ -57,13 +57,19 @@ class SparcFaultBase : public FaultBase SH = -1, ShouldntHappen = SH }; + using PrivilegeLevelSpec = std::array<PrivilegeLevel, NumLevels>; struct FaultVals { const FaultName name; const TrapType trapType; const FaultPriority priority; - const PrivilegeLevel nextPrivilegeLevel[NumLevels]; + const PrivilegeLevelSpec nextPrivilegeLevel; FaultStat count; + FaultVals(const FaultName& name_, const TrapType& trapType_, + const FaultPriority& priority_, const PrivilegeLevelSpec& il) + : name(name_), trapType(trapType_), priority(priority_), + nextPrivilegeLevel(il) + {} }; void invoke(ThreadContext * tc, const StaticInstPtr &inst = StaticInst::nullStaticInstPtr); |