mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-05-28 15:34:33 +00:00
Fix InitDSDT called while APIC wasn't initialized
This commit is contained in:
parent
159fd7506a
commit
4c224557d1
@ -297,6 +297,9 @@ EXTERNC NIF void Main(BootInfo *Info)
|
|||||||
KPrint("Initializing Power Manager");
|
KPrint("Initializing Power Manager");
|
||||||
PowerManager = new Power::Power;
|
PowerManager = new Power::Power;
|
||||||
|
|
||||||
|
KPrint("Enabling Interrupts on Bootstrap Processor");
|
||||||
|
Interrupts::Enable(0);
|
||||||
|
|
||||||
#if defined(a64)
|
#if defined(a64)
|
||||||
PowerManager->InitDSDT();
|
PowerManager->InitDSDT();
|
||||||
#elif defined(a32)
|
#elif defined(a32)
|
||||||
@ -304,9 +307,6 @@ EXTERNC NIF void Main(BootInfo *Info)
|
|||||||
#elif defined(aa64)
|
#elif defined(aa64)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
KPrint("Enabling Interrupts on Bootstrap Processor");
|
|
||||||
Interrupts::Enable(0);
|
|
||||||
|
|
||||||
KPrint("Initializing Timers");
|
KPrint("Initializing Timers");
|
||||||
TimeManager = new Time::time;
|
TimeManager = new Time::time;
|
||||||
TimeManager->FindTimers(PowerManager->GetACPI());
|
TimeManager->FindTimers(PowerManager->GetACPI());
|
||||||
@ -484,6 +484,7 @@ EXTERNC __no_stack_protector NIF void Entry(BootInfo *Info)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// https://wiki.osdev.org/Calling_Global_Constructors
|
// https://wiki.osdev.org/Calling_Global_Constructors
|
||||||
|
trace("There are %d constructors to call", __init_array_end - __init_array_start);
|
||||||
for (CallPtr *func = __init_array_start; func != __init_array_end; func++)
|
for (CallPtr *func = __init_array_start; func != __init_array_end; func++)
|
||||||
(*func)();
|
(*func)();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user