[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH] x86: Fix conditions for Virtual Wire IRQ delive
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] Re: [PATCH] x86: Fix conditions for Virtual Wire IRQ delivery |
Date: |
Thu, 23 Oct 2008 10:06:04 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
Jan Kiszka wrote:
> QEMU is implementing the Virtual Wire mode to attach the PIC to modern,
> APIC-supporting CPUs. But Intel's MP spec says that PIC interrupts then
> flow through the APICs, thus they also have to be enabled. Patch below
> fixes the test logic accordingly, avoiding delivery in case an APIC is
> disabled.
>
> Signed-off-by: Jan Kiszka <address@hidden>
> ---
> hw/apic.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: b/hw/apic.c
> ===================================================================
> --- a/hw/apic.c
> +++ b/hw/apic.c
> @@ -526,7 +526,7 @@ int apic_accept_pic_intr(CPUState *env)
>
> lvt0 = s->lvt[APIC_LVT_LINT0];
>
> - if ((s->apicbase & MSR_IA32_APICBASE_ENABLE) == 0 ||
> + if ((s->apicbase & MSR_IA32_APICBASE_ENABLE) &&
> (lvt0 & APIC_LVT_MASKED) == 0)
> return 1;
>
This patch turned out to be incorrect (SDM 3A, 5.3.1), please ignore it.
Jan
--
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux