Commit fec5fa0210a853635d3011fbce26f137206958c6
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 | ... | ... |