#include #include #include #pragma once #define GSBASE 0xC0000101 #define KERNELGSBASE 0xC0000102 typedef struct cpu_state { uint32_t lapic_id; uint64_t lapic_timer_ticks; struct thread *head; struct thread *base; struct thread *current_process; uint16_t process_count; struct context *scheduler_context; uint64_t *scheduler_stack; bool scheduler_initialized; }cpu_state; void smp_init(); cpu_state *get_cpu_struct(); uint64_t get_cpu_count(); bool get_cpu_struct_initialized();