![]() |
Max OS 0.3
|
The main kernel entry point for the bsp and other cores. Handles initialisation of all core systems. More...
#include <cstdint>#include <common/logger.h>#include <hardwarecommunication/interrupts.h>#include <hardwarecommunication/clock.h>#include <console/serial.h>#include <console/framebuffer.h>#include <processes/scheduler.h>#include <system/cpu.h>#include <system/syscalls.h>#include <memory/memorymanagement.h>#include <memory/physical.h>#include <memory/virtual.h>Go to the source code of this file.
Functions | |
| void | call_constructors () |
| Calls the C++ static constructors. | |
| void | core_main () |
| The main entry point for secondary cores. Sets up the core and waits to be scheduled. | |
| void | kernel_main (unsigned long addr, unsigned long magic) |
| The main kernel entry point. Initialises all core systems and starts the scheduler. | |
Variables | |
| uint8_t | core_boot_info [] |
| The boot info structure for the core being started. | |
The main kernel entry point for the bsp and other cores. Handles initialisation of all core systems.
Definition in file kernel.cpp.
| void call_constructors | ( | ) |
Calls the C++ static constructors.
Calls the C++ static constructors.
Definition at line 39 of file cplusplus.cpp.
References end_ctors, and start_ctors.
Referenced by kernel_main().
| void core_main | ( | ) |
The main entry point for secondary cores. Sets up the core and waits to be scheduled.
Definition at line 36 of file kernel.cpp.
References core_boot_info, MaxOS::Logger::DEBUG(), MaxOS::system::CPU::executing_core(), and MaxOS::system::CPU::halt().
| void kernel_main | ( | unsigned long | addr, |
| unsigned long | magic | ||
| ) |
The main kernel entry point. Initialises all core systems and starts the scheduler.
| addr | The address of the multiboot info struct |
| magic | The multiboot magic number |
Definition at line 61 of file kernel.cpp.
References MaxOS::hardwarecommunication::InterruptManager::activate(), MaxOS::processes::GlobalScheduler::activate(), MaxOS::system::CPU::apic, MaxOS::hardwarecommunication::Clock::calibrate(), call_constructors(), MaxOS::console::FramebufferConsole::finish(), MaxOS::system::Multiboot::framebuffer(), MaxOS::Logger::HEADER(), MaxOS::Logger::INFO(), and MaxOS::system::CPU::init_cores().
| uint8_t core_boot_info[] |
The boot info structure for the core being started.
Definition at line 31 of file kernel.cpp.
Referenced by core_main(), MaxOS::system::CPU::init_cores(), and MaxOS::system::Core::wake_up().