|
|
|
|
@ -121,27 +121,17 @@ extern "C" int main() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
LAPIC::Timer::setup(1000000);
|
|
|
|
|
|
|
|
|
|
ApplicationProcessor::boot();
|
|
|
|
|
|
|
|
|
|
PS2Controller::init();
|
|
|
|
|
|
|
|
|
|
IOAPIC::init();
|
|
|
|
|
IOAPIC::config(1, Core::Interrupt::KEYBOARD);
|
|
|
|
|
IOAPIC::allow(1);
|
|
|
|
|
|
|
|
|
|
PS2Controller::init();
|
|
|
|
|
ApplicationProcessor::boot();
|
|
|
|
|
Core::Interrupt::enable();
|
|
|
|
|
|
|
|
|
|
LAPIC::Timer::activate();
|
|
|
|
|
PS2Controller::drainBuffer();
|
|
|
|
|
|
|
|
|
|
DBG << "Main CPU " << static_cast<int>(LAPIC::getID()) << endl << flush;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
Guarded g = Guard::enter();
|
|
|
|
|
g.vault().sch.schedule();
|
|
|
|
|
g.vault().sch.schedule();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -158,10 +148,13 @@ extern "C" int main() {
|
|
|
|
|
extern "C" int main_ap() {
|
|
|
|
|
DBG_VERBOSE << "CPU core " << static_cast<int>(Core::getID()) << " / LAPIC "
|
|
|
|
|
<< static_cast<int>(LAPIC::getID()) << " in main_ap()" << endl;
|
|
|
|
|
Core::Interrupt::enable();
|
|
|
|
|
|
|
|
|
|
DBG << "App CPU " << static_cast<int>(Core::getID()) << endl << flush;
|
|
|
|
|
|
|
|
|
|
LAPIC::Timer::setup(1000000);
|
|
|
|
|
Core::Interrupt::enable();
|
|
|
|
|
LAPIC::Timer::activate();
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
Guarded g = Guard::enter();
|
|
|
|
|
g.vault().sch.schedule();
|
|
|
|
|
|