60a61
> #include "arch/x86/apicregs.hh"
62a64,66
> #include "params/X86LocalApic.hh"
> #include "sim/eventq.hh"
> #include "sim/sim_object.hh"
63a68,69
> class ThreadContext;
>
67c73
< class Interrupts
---
> class Interrupts : public SimObject
68a75,91
> protected:
> uint32_t regs[NUM_APIC_REGS];
>
> class ApicTimerEvent : public Event
> {
> public:
> ApicTimerEvent() : Event()
> {}
>
> void process()
> {
> warn("Local APIC timer event doesn't do anything!\n");
> }
> };
>
> ApicTimerEvent apicTimerEvent;
>
70c93,96
< Interrupts()
---
> typedef X86LocalApicParams Params;
>
> const Params *
> params() const
71a98,111
> return dynamic_cast<const Params *>(_params);
> }
>
> uint32_t readRegNoEffect(ApicRegIndex reg);
> uint32_t readReg(ApicRegIndex miscReg, ThreadContext *tc);
>
> void setRegNoEffect(ApicRegIndex reg, uint32_t val);
> void setReg(ApicRegIndex reg, uint32_t val, ThreadContext *tc);
>
> Interrupts(Params * p) : SimObject(p)
> {
> //Set the local apic DFR to the flat model.
> regs[APIC_DESTINATION_FORMAT] = (uint32_t)(-1);
> memset(regs, 0, sizeof(regs));