|
gem5
v21.2.1.1
|
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 501 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 368 of file vm.hh.
References gem5::KvmVM::_hasKernelIRQChip.
Referenced by gem5::KvmKernelGicV2::KvmKernelGicV2().
|
inline |
Is in-kernel IRQ chip emulation enabled?
Definition at line 359 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 802 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 794 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 516 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::KvmKernelGicV2::setIntState().