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
This commit is contained in:
parent
37e828b44b
commit
fec5fa0210
@ -869,6 +869,10 @@ static int apic_load(QEMUFile *f, void *opaque, int version_id)
|
|||||||
static void apic_reset(void *opaque)
|
static void apic_reset(void *opaque)
|
||||||
{
|
{
|
||||||
APICState *s = opaque;
|
APICState *s = opaque;
|
||||||
|
|
||||||
|
s->apicbase = 0xfee00000 |
|
||||||
|
(s->id ? 0 : MSR_IA32_APICBASE_BSP) | MSR_IA32_APICBASE_ENABLE;
|
||||||
|
|
||||||
apic_init_ipi(s);
|
apic_init_ipi(s);
|
||||||
|
|
||||||
if (s->id == 0) {
|
if (s->id == 0) {
|
||||||
@ -906,8 +910,6 @@ int apic_init(CPUState *env)
|
|||||||
s->id = last_apic_id++;
|
s->id = last_apic_id++;
|
||||||
env->cpuid_apic_id = s->id;
|
env->cpuid_apic_id = s->id;
|
||||||
s->cpu_env = env;
|
s->cpu_env = env;
|
||||||
s->apicbase = 0xfee00000 |
|
|
||||||
(s->id ? 0 : MSR_IA32_APICBASE_BSP) | MSR_IA32_APICBASE_ENABLE;
|
|
||||||
|
|
||||||
apic_reset(s);
|
apic_reset(s);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user