forgot to enable local_apic in init()

This commit is contained in:
Stanislav Shwartsman 2009-02-18 22:38:58 +00:00
parent 3564ef3162
commit 7be90a7426
2 changed files with 7 additions and 5 deletions

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: apic.cc,v 1.120 2009-02-18 22:33:06 sshwarts Exp $
// $Id: apic.cc,v 1.121 2009-02-18 22:38:58 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2002 Zwane Mwaikambo, Stanislav Shwartsman
@ -235,8 +235,10 @@ void bx_local_apic_c::set_base(bx_phy_address newbase)
global_enabled = (newbase >> 11) & 1;
newbase &= ~((bx_phy_address) 0xfff);
base_addr = newbase;
if (id != APIC_UNKNOWN_ID)
BX_INFO(("allocate APIC id=%d to 0x" FMT_PHY_ADDRX, id, newbase));
if (id != APIC_UNKNOWN_ID) {
BX_INFO(("allocate APIC id=%d (%s) to 0x" FMT_PHY_ADDRX,
id, global_enabled ? "enabled" : "disabled", newbase));
}
}
void bx_local_apic_c::set_id(Bit32u new_id)

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: init.cc,v 1.200 2009-02-18 22:33:06 sshwarts Exp $
// $Id: init.cc,v 1.201 2009-02-18 22:38:58 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -927,8 +927,8 @@ void BX_CPU_C::reset(unsigned source)
/* APIC Address, APIC enabled and BSP is default, we'll fill in the rest later */
BX_CPU_THIS_PTR msr.apicbase = BX_LAPIC_BASE_ADDR;
BX_CPU_THIS_PTR lapic.init();
BX_CPU_THIS_PTR lapic.set_base(BX_CPU_THIS_PTR msr.apicbase);
BX_CPU_THIS_PTR msr.apicbase |= 0x900;
BX_CPU_THIS_PTR lapic.set_base(BX_CPU_THIS_PTR msr.apicbase);
#endif
#if BX_SUPPORT_X86_64
BX_CPU_THIS_PTR efer.set32(0);