On 29.01.2026 15:40, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/traps.c
> +++ b/xen/arch/riscv/traps.c
> @@ -196,6 +196,7 @@ void do_trap(struct cpu_user_regs *cpu_regs)
> {
> /* Handle interrupt */
> unsigned long icause = cause & ~CAUSE_IRQ_FLAG;
> + bool intr_handled = true;
Of course I don't know what your further plans are here, so maybe doing
it this way really is desirable. As the code is right now, I wonder if
you couldn't make this a 2-line change, ...
> @@ -204,10 +205,12 @@ void do_trap(struct cpu_user_regs *cpu_regs)
> break;
... using return here and ...
> default:
> + intr_handled = false;
> break;
> }
>
> - break;
> + if ( intr_handled )
> + break;
... simply dropping this break altogether.
Jan