Skip to content
Permalink
Browse files
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 <anup.patel@wdc.com>
  • Loading branch information
avpatel committed Dec 6, 2021
1 parent c72c564 commit dc0299fdaf9714a56b13b955c086bab2f8bd4046
Show file tree
Hide file tree
Showing 3 changed files with 553 additions and 14 deletions.
@@ -112,20 +112,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_64BIT
static inline void kvm_riscv_vcpu_aia_flush_interrupts(struct kvm_vcpu *vcpu)
@@ -31,3 +31,4 @@ kvm-y += vcpu_sbi_hsm.o
kvm-y += vcpu_timer.o
kvm-y += aia.o
kvm-y += aia_device.o
kvm-y += aia_aplic.o

0 comments on commit dc0299f

Please sign in to comment.