The main initialization routine and setup logic of the OS.
captain steers the ship of Theseus, meaning that it contains basic logic
for initializing all of the other crates in the proper order and with
the proper flow of data between them.
Currently, this is the default
captain in Theseus, which does the following:
- Initializes ACPI and APIC to discover multicore and other hardware configuration,
- Sets up interrupt and exception handlers,
- Sets up basic device drivers,
- Spawns event handling threads,
- Initializes the window manager and graphics subsystem,
At the end, the
captain enables interrupts to allow the system to schedule in other tasks.
- Items that must be held until the end of
init()and should be dropped after.
- Information needed to bring up APs (secondary CPUs) on x86_64.
- Initialize the Captain, which is the main crate that “steers the ship” of Theseus.