On 21.11.2022 11:53, Roger Pau Monné wrote: > On Mon, Nov 21, 2022 at 09:33:53AM +0100, Jan Beulich wrote: >> On 18.11.2022 15:26, Roger Pau Monné wrote: >>> Maybe best to add an ASSERT in vlapic_set_irq() to be sure the lapic is >>> enabled, as other callers already check this before trying to inject? >> >> Perhaps, yes (once we've fixed paths where the check is presently >> missing). > > Another option would be to unconditionally return 0 for IRR and ISR > reads when the LAPIC is disabled, that would avoid having to force the > event channel injection when the LAPIC is enabled, but there could be > more than just the event channel vector queued in that way which would > be against the spec.
Pre-existing set IRR bits remain set when moving into disabled mode. If we faked zeros for reads, we'd violate the spec and undermine Linux'es checking of the bits. Jan