]> git.proxmox.com Git - mirror_qemu.git/commit
target/riscv: Add HS-mode virtual interrupt and IRQ filtering support.
authorRajnesh Kanwal <rkanwal@rivosinc.com>
Mon, 16 Oct 2023 11:17:36 +0000 (12:17 +0100)
committerAlistair Francis <alistair.francis@wdc.com>
Tue, 7 Nov 2023 01:02:17 +0000 (11:02 +1000)
commit40336d5b1d4c6b8b8b38c77fda254457d44fe90b
tree3dcea675926643687a22a84d0f174de6881425dd
parent1697837ed98cf56a6f65edd06128151f83b99403
target/riscv: Add HS-mode virtual interrupt and IRQ filtering support.

This change adds support for inserting virtual interrupts from HS-mode
into VS-mode using hvien and hvip csrs. This also allows for IRQ filtering
from HS-mode.

Also, the spec doesn't mandate the interrupt to be actually supported
in hardware. Which allows HS-mode to assert virtual interrupts to VS-mode
that have no connection to any real interrupt events.

This is defined as part of the AIA specification [0], "6.3.2 Virtual
interrupts for VS level".

[0]: https://github.com/riscv/riscv-aia/releases/download/1.0/riscv-interrupts-1.0.pdf

Signed-off-by: Rajnesh Kanwal <rkanwal@rivosinc.com>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20231016111736.28721-7-rkanwal@rivosinc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
target/riscv/cpu.c
target/riscv/cpu.h
target/riscv/cpu_helper.c
target/riscv/csr.c
target/riscv/machine.c