bug-hurd
[Top][All Lists]
Advanced

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

Re: [PATCH gnumach] interrupt: Mask, eoi, unmask


From: Samuel Thibault
Subject: Re: [PATCH gnumach] interrupt: Mask, eoi, unmask
Date: Mon, 2 Oct 2023 01:43:48 +0200
User-agent: NeoMutt/20170609 (1.8.3)

Damien Zammit, le dim. 01 oct. 2023 23:26:02 +0000, a ecrit:
> I think the logic for this should be:
> 
> When we get irq N, first we mask irq N, then EOI irq N.
> Then call the handler. If there is a user handler for irq N, let the irq_ack
> unmask irq N, otherwise we need to unmask irq N now.
> But don't EOI in the user handlers anymore.
> 
> What do you think?

That can be a plan, yes, but what about the legacy irqs, and their
in-kernel handlers?  We need to fix them too. One keypoint there is that
we want to unmask with IF cleared, so that we don't get interrupted
again on unmask, but on iret (so we don't nest).

Also, if there is no user handler, I guess we rather want to keep the
irq masked? Otherwise we risk just getting interrupted again -> hang or
cpu waste.

Also, "don't EOI in the user handlers anymore.", isn't that already the
case?

Samuel



reply via email to

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