summaryrefslogtreecommitdiff
path: root/src/arch/arm/pmu.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/pmu.hh')
-rw-r--r--src/arch/arm/pmu.hh17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/arch/arm/pmu.hh b/src/arch/arm/pmu.hh
index 61516cffd..ee68272e7 100644
--- a/src/arch/arm/pmu.hh
+++ b/src/arch/arm/pmu.hh
@@ -219,6 +219,11 @@ class PMU : public SimObject, public ArmISA::BaseISADevice {
void raiseInterrupt();
/**
+ * Clear a PMU interrupt.
+ */
+ void clearInterrupt();
+
+ /**
* Get the value of a performance counter.
*
* This method returns the value of a general purpose performance
@@ -269,6 +274,18 @@ class PMU : public SimObject, public ArmISA::BaseISADevice {
*/
void setCounterTypeRegister(CounterId id, PMEVTYPER_t type);
+ /**
+ * Used for writing the Overflow Flag Status Register (SET/CLR)
+ *
+ * This method implements a write to the PMOVSSET/PMOVSCLR registers.
+ * It is capturing change of state in the register bits so that
+ * the overflow interrupt can be raised/cleared as a side effect
+ * of the write.
+ *
+ * @param new_val New value of the Overflow Status Register
+ */
+ void setOverflowStatus(MiscReg new_val);
+
protected: /* Probe handling and counter state */
struct CounterState;