gem5 v24.0.0.0
|
Functions | |
void | gem5::BaseKvmCPU::kvmNonMaskableInterrupt () |
Send a non-maskable interrupt to the guest. | |
void | gem5::BaseKvmCPU::kvmInterrupt (const struct kvm_interrupt &interrupt) |
Send a normal interrupt to the guest. | |
void | gem5::KvmVM::createIRQChip () |
Create an in-kernel interrupt controller. | |
void | gem5::KvmVM::setIRQLine (uint32_t irq, bool high) |
Set the status of an IRQ line using KVM_IRQ_LINE. | |
bool | gem5::KvmVM::hasKernelIRQChip () const |
Is in-kernel IRQ chip emulation enabled? | |
void | gem5::KvmVM::enableKernelIRQChip () |
Tell the VM and VCPUs to use an in-kernel IRQ chip for interrupt delivery. | |
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 834 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 826 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::KvmVM::ioctl(), gem5::ArmISA::irq, and panic.
Referenced by gem5::ArmKvmCPU::kvmRun(), gem5::BaseArmKvmCPU::kvmRun(), and gem5::KvmKernelGic::setIntState().