diff mbox

[for-2.4-rc3,3/3] target-i386: wake up processors that receive an SMI

Message ID 1437761762-19798-4-git-send-email-lersek@redhat.com
State New
Headers show

Commit Message

Laszlo Ersek July 24, 2015, 6:16 p.m. UTC
From: Paolo Bonzini <pbonzini@redhat.com>

An SMI should definitely wake up a processor in halted state!
This lets OVMF boot with SMM on multiprocessor systems, although
it halts very soon after that with a "CpuIndex != BspIndex"
assertion failure.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Cc: Andreas Faerber <afaerber@suse.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 target-i386/cpu.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Laszlo Ersek July 24, 2015, 6:22 p.m. UTC | #1
On 07/24/15 20:16, Laszlo Ersek wrote:
> From: Paolo Bonzini <pbonzini@redhat.com>
> 
> An SMI should definitely wake up a processor in halted state!
> This lets OVMF boot with SMM on multiprocessor systems, although
> it halts very soon after that with a "CpuIndex != BspIndex"
> assertion failure.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Andreas Faerber <afaerber@suse.de>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Richard Henderson <rth@twiddle.net>
> Cc: Eduardo Habkost <ehabkost@redhat.com>
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> ---
>  target-i386/cpu.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index 7a779b1..ee7b4ac 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -3134,6 +3134,7 @@ static bool x86_cpu_has_work(CPUState *cs)
>      return ((cs->interrupt_request & CPU_INTERRUPT_HARD) &&
>              (env->eflags & IF_MASK)) ||
>             (cs->interrupt_request & (CPU_INTERRUPT_NMI |
> +                                     CPU_INTERRUPT_SMI |
>                                       CPU_INTERRUPT_INIT |
>                                       CPU_INTERRUPT_SIPI |
>                                       CPU_INTERRUPT_MCE)) ||
> 

My bad, please disregard this one patch in the series -- an improved
version has already been committed as
a9bad65d2c1f61af74ce2ff43238d4b20bf81c3a.

Sorry about the noise (but please do pick up the first two patches).

Thanks!
Laszlo
diff mbox

Patch

diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 7a779b1..ee7b4ac 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -3134,6 +3134,7 @@  static bool x86_cpu_has_work(CPUState *cs)
     return ((cs->interrupt_request & CPU_INTERRUPT_HARD) &&
             (env->eflags & IF_MASK)) ||
            (cs->interrupt_request & (CPU_INTERRUPT_NMI |
+                                     CPU_INTERRUPT_SMI |
                                      CPU_INTERRUPT_INIT |
                                      CPU_INTERRUPT_SIPI |
                                      CPU_INTERRUPT_MCE)) ||