Files
jsix/src/kernel/assert.cpp
Justin C. Miller fd25d3babc [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
2022-01-27 19:28:35 -08:00

22 lines
490 B
C++

#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"
void _PDCLIB_assert(const char *message, const char *function, const char *file, unsigned line) {
panic::panic(message, nullptr, function, file, line);
}