On Tue, Oct 28, 2025 at 6:48 PM Daniel Henrique Barboza <[email protected]> wrote: > > Add a small section talking about the 'riscv-aia' KVM setting we > implement and how it affects the provisioning of the IMSIC s-mode > in-kernel controller. > > While we're at it, fix the formatting of the AIA bullet list. > > Signed-off-by: Daniel Henrique Barboza <[email protected]>
Acked-by: Alistair Francis <[email protected]> Alistair > --- > docs/specs/riscv-aia.rst | 43 ++++++++++++++++++++++++++++++++++++---- > 1 file changed, 39 insertions(+), 4 deletions(-) > > diff --git a/docs/specs/riscv-aia.rst b/docs/specs/riscv-aia.rst > index 8097e2f897..f3c6ab7fcb 100644 > --- a/docs/specs/riscv-aia.rst > +++ b/docs/specs/riscv-aia.rst > @@ -8,10 +8,8 @@ RISC-V machine for TCG and KVM accelerators. > > The support consists of two main modes: > > -- "aia=aplic": adds one or more APLIC (Advanced Platform Level Interrupt > Controller) > - devices > -- "aia=aplic-imsic": adds one or more APLIC device and an IMSIC (Incoming MSI > - Controller) device for each CPU > +- *aia=aplic*: adds one or more APLIC (Advanced Platform Level Interrupt > Controller) devices > +- *aia=aplic-imsic*: adds one or more APLIC device and an IMSIC (Incoming > MSI Controller) device for each CPU > > From an user standpoint, these modes will behave the same regardless of the > accelerator > used. From a developer standpoint the accelerator settings will change what > it being > @@ -81,3 +79,40 @@ we will emulate in userspace: > - n/a > - emul > - in-kernel > + > + > +KVM accel option 'riscv-aia' > +---------------------------- > + > +The KVM accelerator property 'riscv-aia' interacts with the "aia=aplic-imsic" > +to determine how the host KVM module will provide the in-kernel IMSIC s-mode > +controller. The 'kernel-irqchip' setting has no impact in 'riscv-aia' given > +that any available 'kernel-irqchip' setting will always have an in-kernel > +IMSIC s-mode. 'riscv-aia' has no impact in APLIC m-mode/s-mode and > +IMSIC m-mode settings. > + > + > +.. list-table:: How 'riscv-aia' changes in-kernel IMSIC s-mode provisioning > + :widths: 25 25 25 25 > + :header-rows: 1 > + > + * - Accel > + - KVM riscv-aia > + - AIA type > + - IMSIC s-mode > + * - kvm > + - none > + - aplic-imsic > + - in-kernel, default to 'auto' > + * - kvm > + - auto > + - aplic-imsic > + - in-kernel, hwaccel if available, emul otherwise > + * - kvm > + - hwaccel > + - aplic-imsic > + - in-kernel, use IMSIC controller from guest hardware > + * - kvm > + - emul > + - aplic-imsic > + - in-kernel, IMSIC is emulated by KVM > -- > 2.51.0 > >
