From 3003b8bbf9a044e3f5f1c95c0fb1c35ff09f8385 Mon Sep 17 00:00:00 2001 From: aurel32 Date: Wed, 1 Oct 2008 22:01:28 +0000 Subject: [PATCH] Reset CPU on INIT IPI INIT IPI should reset CPU. Also non boot CPU should be halted. It will be un-halted by SIPI. Signed-off-by: Gleb Natapov Signed-off-by: Aurelien Jarno git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5390 c046a42c-6fe2-441c-8c8c-71466251a162 --- hw/apic.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/apic.c b/hw/apic.c index 74e3a71615..0f661b61fe 100644 --- a/hw/apic.c +++ b/hw/apic.c @@ -458,6 +458,11 @@ static void apic_init_ipi(APICState *s) s->initial_count = 0; s->initial_count_load_time = 0; s->next_time = 0; + + cpu_reset(s->cpu_env); + + if (!(s->apicbase & MSR_IA32_APICBASE_BSP)) + s->cpu_env->halted = 1; } /* send a SIPI message to the CPU to start it */