Kernel: Start all processors on kernel boot

Processors don't do anything, except print hello message and halt.
This commit is contained in:
2024-03-03 02:17:24 +02:00
parent 1de9daa40f
commit c035d3c82c
11 changed files with 202 additions and 29 deletions

View File

@@ -18,6 +18,8 @@ namespace Kernel
virtual BAN::ErrorOr<void> reserve_irq(uint8_t irq) override;
virtual BAN::Optional<uint8_t> get_free_irq() override;
virtual void initialize_multiprocessor() override;
private:
uint32_t read_from_local_apic(ptrdiff_t);
void write_to_local_apic(ptrdiff_t, uint32_t);

View File

@@ -37,6 +37,8 @@ namespace Kernel
static void initialize(bool force_pic);
static InterruptController& get();
virtual void initialize_multiprocessor() = 0;
virtual BAN::ErrorOr<void> reserve_irq(uint8_t irq) = 0;
virtual BAN::Optional<uint8_t> get_free_irq() = 0;

View File

@@ -16,6 +16,8 @@ namespace Kernel
virtual BAN::ErrorOr<void> reserve_irq(uint8_t irq) override;
virtual BAN::Optional<uint8_t> get_free_irq() override;
virtual void initialize_multiprocessor() override;
static void remap();
static void mask_all();