target-i386: wake up processors that receive an SMI

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.

Backports commit a9bad65d2c1f61af74ce2ff43238d4b20bf81c3a from qemu
This commit is contained in:
Paolo Bonzini 2018-02-13 12:31:59 -05:00 committed by Lioncash
parent d4621935bb
commit fa57438734
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -2481,7 +2481,9 @@ static bool x86_cpu_has_work(CPUState *cs)
(cs->interrupt_request & (CPU_INTERRUPT_NMI |
CPU_INTERRUPT_INIT |
CPU_INTERRUPT_SIPI |
CPU_INTERRUPT_MCE));
CPU_INTERRUPT_MCE)) ||
((cs->interrupt_request & CPU_INTERRUPT_SMI) &&
!(env->hflags & HF_SMM_MASK));
}
static void x86_cpu_common_class_init(struct uc_struct *uc, ObjectClass *oc, void *data)