qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 0/2] target/riscv: Allow software access to MIP SEIP


From: Alistair Francis
Subject: Re: [PATCH v3 0/2] target/riscv: Allow software access to MIP SEIP
Date: Fri, 18 Mar 2022 09:13:51 +1000

On Thu, Mar 17, 2022 at 4:18 PM Alistair Francis
<alistair.francis@opensource.wdc.com> wrote:
>
> From: Alistair Francis <alistair.francis@wdc.com>
>
> The RISC-V specification states that:
>   "Supervisor-level external interrupts are made pending based on the
>   logical-OR of the software-writable SEIP bit and the signal from the
>   external interrupt controller."
>
> We currently only allow either the interrupt controller or software to
> set the bit, which is incorrect.
>
> This patch removes the miclaim mask when writing MIP to allow M-mode
> software to inject interrupts, even with an interrupt controller.
>
> We then also need to keep track of which source is setting MIP_SEIP. The
> final value is a OR of both, so we add two bools and use that to keep
> track of the current state. This way either source can change without
> losing the correct value.
>
> This fixes: https://gitlab.com/qemu-project/qemu/-/issues/904
>
> Alistair Francis (2):
>   target/riscv: cpu: Fixup indentation
>   target/riscv: Allow software access to MIP SEIP

Thanks!

Applied to riscv-to-apply.next

Alistair

>
>  target/riscv/cpu.h |  8 ++++++++
>  target/riscv/cpu.c | 30 +++++++++++++++++++-----------
>  target/riscv/csr.c |  8 ++++++--
>  3 files changed, 33 insertions(+), 13 deletions(-)
>
> --
> 2.35.1
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]