mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-11 18:50:50 +00:00
Kernel: Introduce stages in Aarch64 CPU initialization phase
Dropping to each exception level is now more explicit.
This commit is contained in:
parent
c08f059340
commit
0f81fb03f2
Notes:
sideshowbarker
2024-07-19 16:59:04 +09:00
Author: https://github.com/konradekk
Commit: 0f81fb03f2
Pull-request: https://github.com/SerenityOS/serenity/pull/16781
Reviewed-by: https://github.com/ADKaster ✅
Reviewed-by: https://github.com/gmta
4 changed files with 33 additions and 28 deletions
|
@ -18,8 +18,6 @@
|
|||
#include <Kernel/Thread.h>
|
||||
#include <Kernel/Time/TimeManagement.h>
|
||||
|
||||
extern "C" uintptr_t vector_table_el1;
|
||||
|
||||
namespace Kernel {
|
||||
|
||||
extern "C" void thread_context_first_enter(void);
|
||||
|
@ -33,14 +31,7 @@ void Processor::initialize(u32 cpu)
|
|||
{
|
||||
VERIFY(g_current_processor == nullptr);
|
||||
|
||||
auto current_exception_level = static_cast<u64>(Aarch64::Asm::get_current_exception_level());
|
||||
dbgln("CPU{} started in: EL{}", cpu, current_exception_level);
|
||||
|
||||
dbgln("Drop CPU{} to EL1", cpu);
|
||||
drop_to_exception_level_1();
|
||||
|
||||
// Load EL1 vector table
|
||||
Aarch64::Asm::el1_vector_table_install(&vector_table_el1);
|
||||
initialize_exceptions(cpu);
|
||||
|
||||
g_current_processor = this;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue