On Wed, Jul 29, 2015 at 03:28:13PM +0200, Paolo Bonzini wrote:
> Test resampling of level interrupts after EOI, by leaving the IRQ
> line set in the ISR.  One tests does reset the IRQ line after a while,
> the other uses masking instead in the ISR.
> 
> Signed-off-by: Paolo Bonzini <[email protected]>
> ---
>  x86/ioapic.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 51 insertions(+)
> 
> diff --git a/x86/ioapic.c b/x86/ioapic.c
> index 1fcf67e..d43d5c1 100644
> --- a/x86/ioapic.c
> +++ b/x86/ioapic.c
> @@ -188,6 +188,31 @@ static void test_ioapic_level_sequential(void)
>       report("sequential level interrupts", g_isr_99 == 2);
>  }
>  
> +static volatile int g_isr_9a;
> +
> +static void ioapic_isr_9a(isr_regs_t *regs)
> +{
> +     ++g_isr_9a;
> +     if (g_isr_9a == 2)
> +             set_irq_line(0x0e, 0);
> +     eoi();
> +}
> +
> +static void test_ioapic_level_retrigger(void)
> +{
> +     handle_irq(0x9a, ioapic_isr_9a);
> +     set_ioapic_redir(0x0e, 0x9a, LEVEL_TRIGGERED);
> +
> +     asm volatile ("cli");
> +     set_irq_line(0x0e, 1);
> +     while (g_isr_9a != 2)
> +             asm volatile ("sti; hlt; cli");
This seems sketchy. The test should be able to exit this and fail.

Steve
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to