mirror of
https://github.com/armbian/linux-cix.git
synced 2026-01-06 12:30:45 -08:00
RISC-V: KVM: Add in-kernel emulation of AIA APLIC
There is no virtualization support in AIA APLIC so we add in-kernel emulation of AIA APLIC which only supports MSI-mode (i.e. wired interrupts forwarded to AIA IMSIC as MSIs). Signed-off-by: Anup Patel <apatel@ventanamicro.com> Reviewed-by: Atish Patra <atishp@rivosinc.com> Signed-off-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
@@ -129,20 +129,9 @@ static inline void kvm_riscv_vcpu_aia_imsic_cleanup(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int kvm_riscv_aia_aplic_inject(struct kvm *kvm,
|
||||
u32 source, bool level)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int kvm_riscv_aia_aplic_init(struct kvm *kvm)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void kvm_riscv_aia_aplic_cleanup(struct kvm *kvm)
|
||||
{
|
||||
}
|
||||
int kvm_riscv_aia_aplic_inject(struct kvm *kvm, u32 source, bool level);
|
||||
int kvm_riscv_aia_aplic_init(struct kvm *kvm);
|
||||
void kvm_riscv_aia_aplic_cleanup(struct kvm *kvm);
|
||||
|
||||
#ifdef CONFIG_32BIT
|
||||
void kvm_riscv_vcpu_aia_flush_interrupts(struct kvm_vcpu *vcpu);
|
||||
|
||||
@@ -28,3 +28,4 @@ kvm-y += vcpu_timer.o
|
||||
kvm-$(CONFIG_RISCV_PMU_SBI) += vcpu_pmu.o vcpu_sbi_pmu.o
|
||||
kvm-y += aia.o
|
||||
kvm-y += aia_device.o
|
||||
kvm-y += aia_aplic.o
|
||||
|
||||
576
arch/riscv/kvm/aia_aplic.c
Normal file
576
arch/riscv/kvm/aia_aplic.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user