gem5
[DEVELOP-FOR-23.0]
|
These methods control interrupt delivery to the guest system. More...
Functions | |
void | gem5::BaseKvmCPU::kvmNonMaskableInterrupt () |
Send a non-maskable interrupt to the guest. More... | |
void | gem5::BaseKvmCPU::kvmInterrupt (const struct kvm_interrupt &interrupt) |
Send a normal interrupt to the guest. More... | |
void | gem5::KvmVM::createIRQChip () |
Create an in-kernel interrupt controller. More... | |
void | gem5::KvmVM::setIRQLine (uint32_t irq, bool high) |
Set the status of an IRQ line using KVM_IRQ_LINE. More... | |
bool | gem5::KvmVM::hasKernelIRQChip () const |
Is in-kernel IRQ chip emulation enabled? More... | |
void | gem5::KvmVM::enableKernelIRQChip () |
Tell the VM and VCPUs to use an in-kernel IRQ chip for interrupt delivery. More... | |
These methods control interrupt delivery to the guest system.
void gem5::KvmVM::createIRQChip | ( | ) |
Create an in-kernel interrupt controller.
Definition at line 510 of file vm.cc.
References gem5::KvmVM::_hasKernelIRQChip, gem5::KvmVM::ioctl(), panic, and warn.
|
inline |
Tell the VM and VCPUs to use an in-kernel IRQ chip for interrupt delivery.
Definition at line 372 of file vm.hh.
References gem5::KvmVM::_hasKernelIRQChip.
Referenced by gem5::KvmKernelGic::KvmKernelGic().
|
inline |
Is in-kernel IRQ chip emulation enabled?
Definition at line 363 of file vm.hh.
References gem5::KvmVM::_hasKernelIRQChip.
Referenced by gem5::BaseArmKvmCPU::kvmRun(), and gem5::BaseArmKvmCPU::startup().
|
protected |
Send a normal interrupt to the guest.
interrupt | Structure describing the interrupt to send |
Definition at line 803 of file base.cc.
References gem5::BaseKvmCPU::ioctl(), gem5::BaseKvmCPU::StatGroup::numInterrupts, panic, and gem5::BaseKvmCPU::stats.
Referenced by gem5::X86KvmCPU::deliverInterrupts().
|
protected |
Send a non-maskable interrupt to the guest.
Definition at line 795 of file base.cc.
References gem5::BaseKvmCPU::ioctl(), gem5::BaseKvmCPU::StatGroup::numInterrupts, panic, and gem5::BaseKvmCPU::stats.
Referenced by gem5::X86KvmCPU::deliverInterrupts().
void gem5::KvmVM::setIRQLine | ( | uint32_t | irq, |
bool | high | ||
) |
Set the status of an IRQ line using KVM_IRQ_LINE.
irq | Interrupt number |
high | Line level (true for high, false for low) |
Definition at line 525 of file vm.cc.
References gem5::high, gem5::KvmVM::ioctl(), gem5::ArmISA::irq, and panic.
Referenced by gem5::BaseArmKvmCPU::kvmRun(), gem5::ArmKvmCPU::kvmRun(), and gem5::KvmKernelGic::setIntState().