[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 14/15] xen/riscv: handle hypervisor timer interrupts
- To: Jan Beulich <jbeulich@xxxxxxxx>
- From: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
- Date: Tue, 13 Jan 2026 17:53:05 +0100
- Cc: Alistair Francis <alistair.francis@xxxxxxx>, Connor Davis <connojdavis@xxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
- Delivery-date: Tue, 13 Jan 2026 16:53:27 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 1/12/26 5:15 PM, Jan Beulich wrote:
On 24.12.2025 18:03, Oleksii Kurochko wrote:
@@ -108,6 +109,15 @@ static void do_unexpected_trap(const struct cpu_user_regs
*regs)
die();
}
+static void timer_interrupt(unsigned long cause)
+{
+ /* Disable the timer to avoid more interrupts */
+ csr_clear(CSR_SIE, BIT(IRQ_S_TIMER, UL));
+
+ /* Signal the generic timer code to do its work */
+ raise_softirq(TIMER_SOFTIRQ);
+}
Why is "cause" being passed when it's not used?
Good point. No any sense in it. Even more I think the cause is
pretty known in such handler, it should be definitely = IRQ_S_TIMER.
I will drop an argument for timer_interrupt().
Thanks.
~ Oleksii
|