29#ifndef __ARCH_SPARC_INTERRUPT_HH__
30#define __ARCH_SPARC_INTERRUPT_HH__
36#include "debug/Interrupt.hh"
37#include "params/SparcInterrupts.hh"
66 using Params = SparcInterruptsParams;
76 if (softint & 0x10000 || softint & 0x1)
82 if (1 <<
level & softint)
194 return std::make_shared<HstickMatch>();
198 return std::make_shared<InterruptVector>();
204 return std::make_shared<TrapLevelZero>();
208 return std::make_shared<HstickMatch>();
212 return std::make_shared<InterruptVector>();
216 return std::make_shared<CpuMondo>();
219 return std::make_shared<DevMondo>();
223 return std::make_shared<InterruptLevelN>(
level);
227 return std::make_shared<ResumableError>();
uint64_t get_vec(int int_num)
void post(int int_num, int index) override
bool checkInterrupts() const override
int InterruptLevel(uint64_t softint)
void serialize(CheckpointOut &cp) const override
Serialize an object.
SparcInterruptsParams Params
void updateIntrInfo() override
uint64_t interrupts[NumInterruptTypes]
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Fault getInterrupt() override
void clear(int int_num, int index) override
Interrupts(const Params &p)
virtual RegVal readMiscRegNoEffect(RegIndex misc_reg) const =0
#define UNSERIALIZE_ARRAY(member, size)
#define SERIALIZE_ARRAY(member, size)
@ MISCREG_HPSTATE
Hyper privileged registers.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
std::shared_ptr< FaultBase > Fault
std::ostream CheckpointOut
constexpr decltype(nullptr) NoFault
#define UNSERIALIZE_SCALAR(scalar)
#define SERIALIZE_SCALAR(scalar)