|
| KvmKernelGicV3 (KvmVM &vm, const MuxingKvmGicV3Params ¶ms) |
| Instantiate a KVM in-kernel GICv3 model. More...
|
|
void | init () override |
|
uint32_t | readDistributor (Addr daddr) override |
|
uint32_t | readRedistributor (const ArmISA::Affinity &aff, Addr daddr) override |
|
RegVal | readCpu (const ArmISA::Affinity &aff, ArmISA::MiscRegIndex misc_reg) override |
|
void | writeDistributor (Addr daddr, uint32_t data) override |
|
void | writeRedistributor (const ArmISA::Affinity &aff, Addr daddr, uint32_t data) override |
|
void | writeCpu (const ArmISA::Affinity &aff, ArmISA::MiscRegIndex misc_reg, RegVal data) override |
|
| KvmKernelGic (KvmVM &vm, uint32_t dev, unsigned it_lines) |
| Instantiate a KVM in-kernel GIC model. More...
|
|
virtual | ~KvmKernelGic () |
|
| KvmKernelGic (const KvmKernelGic &other)=delete |
|
| KvmKernelGic (const KvmKernelGic &&other)=delete |
|
KvmKernelGic & | operator= (const KvmKernelGic &&rhs)=delete |
|
KvmKernelGic & | operator= (const KvmKernelGic &rhs)=delete |
|
void | setSPI (unsigned spi) |
| Raise a shared peripheral interrupt. More...
|
|
void | clearSPI (unsigned spi) |
| Clear a shared peripheral interrupt. More...
|
|
void | setPPI (unsigned vcpu, unsigned ppi) |
| Raise a private peripheral interrupt. More...
|
|
void | clearPPI (unsigned vcpu, unsigned ppi) |
| Clear a private peripheral interrupt. More...
|
|
|
template<typename Ret > |
Ret | getGicReg (unsigned group, unsigned mpidr, unsigned offset) |
| Get value of GIC register "from" a cpu. More...
|
|
template<typename Arg > |
void | setGicReg (unsigned group, unsigned mpidr, unsigned offset, Arg value) |
| Set value of GIC register "from" a cpu. More...
|
|
void | setIntState (unsigned type, unsigned vcpu, unsigned irq, bool high) |
| Update the kernel's VGIC interrupt state. More...
|
|
|
static void | copyDistRegister (Gicv3Registers *from, Gicv3Registers *to, Addr daddr) |
|
static void | copyRedistRegister (Gicv3Registers *from, Gicv3Registers *to, const ArmISA::Affinity &aff, Addr daddr) |
|
static void | copyCpuRegister (Gicv3Registers *from, Gicv3Registers *to, const ArmISA::Affinity &aff, ArmISA::MiscRegIndex misc_reg) |
|
static void | clearRedistRegister (Gicv3Registers *to, const ArmISA::Affinity &aff, Addr daddr) |
|
static void | copyRedistRange (Gicv3Registers *from, Gicv3Registers *to, const ArmISA::Affinity &aff, Addr daddr, size_t size) |
|
static void | copyDistRange (Gicv3Registers *from, Gicv3Registers *to, Addr daddr, size_t size) |
|
static void | clearDistRange (Gicv3Registers *to, Addr daddr, size_t size) |
|
KvmVM & | vm |
| KVM VM in the parent system. More...
|
|
KvmDevice | kdev |
| Kernel interface to the GIC. More...
|
|
Definition at line 191 of file gic.hh.