Commit fec5fa0210a853635d3011fbce26f137206958c6

Authored by aurel32
1 parent 37e828b4

Reset I32_APIC_BASE on system RESET

Should be done according to spec.

Signed-off-by: Gleb Natapov <gleb@qumranet.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5128 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 4 additions and 2 deletions
hw/apic.c
... ... @@ -869,6 +869,10 @@ static int apic_load(QEMUFile *f, void *opaque, int version_id)
869 869 static void apic_reset(void *opaque)
870 870 {
871 871 APICState *s = opaque;
  872 +
  873 + s->apicbase = 0xfee00000 |
  874 + (s->id ? 0 : MSR_IA32_APICBASE_BSP) | MSR_IA32_APICBASE_ENABLE;
  875 +
872 876 apic_init_ipi(s);
873 877  
874 878 if (s->id == 0) {
... ... @@ -906,8 +910,6 @@ int apic_init(CPUState *env)
906 910 s->id = last_apic_id++;
907 911 env->cpuid_apic_id = s->id;
908 912 s->cpu_env = env;
909   - s->apicbase = 0xfee00000 |
910   - (s->id ? 0 : MSR_IA32_APICBASE_BSP) | MSR_IA32_APICBASE_ENABLE;
911 913  
912 914 apic_reset(s);
913 915  
... ...