PrOSess/kernel/include/apic/core.h

29 lines
No EOL
433 B
C++

#pragma once
#include "memory/pointer.h"
#include "acpi/discovery.h"
#include "memory/pagetable.h"
namespace apic {
struct stack_t {
paddr_t ptr;
size_t size;
};
using core_id = uint8_t;
struct Core {
core_id id;
stack_t stack;
PageTable kernelPageTable;
};
optional<Core> initCore(acpi::Madt madt, core_id id);
void initCores(acpi::discovery_result_t);
void transitionStartupCore();
} // namespace apic