[kernel] Clean up main.cpp and others
The kernel/main.cpp and kernel/memory_bootstrap.cpp files had become something of a junk drawer. This change cleans them up in the following ways: - Most CPU initialization has moved to cpu.cpp, allowing several functions to be made static and removed from cpu.h - Multi-core startup code has moved to the new smp.h and smp.cpp, and ap_startup.s has been renamed smp.s to match. - run_constructors() has moved to memory_bootstrap.cpp, and all the functionality of that file has been hidden behind a new public interface mem::initialize(). - load_init_server() has moved from memory_bootstrap.cpp to main.cpp
This commit is contained in:
@@ -1,10 +1,18 @@
|
||||
#include "assert.h"
|
||||
#include "idt.h"
|
||||
|
||||
namespace panic {
|
||||
|
||||
uint32_t *apic_icr = reinterpret_cast<uint32_t*>(0xffffc000fee00300);
|
||||
void const *symbol_table = nullptr;
|
||||
|
||||
void
|
||||
install(uintptr_t entrypoint, const void *symbol_data)
|
||||
{
|
||||
IDT::set_nmi_handler(entrypoint);
|
||||
symbol_table = symbol_data;
|
||||
}
|
||||
|
||||
} // namespace panic
|
||||
|
||||
extern "C"
|
||||
|
||||
Reference in New Issue
Block a user