Move SMP and other arch specific stuff into arch specific folders
This commit is contained in:
parent
7706e629c6
commit
2213707c6a
5 changed files with 180 additions and 1 deletions
27
include/smp.h
Normal file
27
include/smp.h
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <scheduler/sched.h>
|
||||
|
||||
#pragma once
|
||||
|
||||
#define GSBASE 0xC0000101
|
||||
#define KERNELGSBASE 0xC0000102
|
||||
|
||||
typedef struct cpu_state {
|
||||
uint32_t 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();
|
||||
void bsp_early_init();
|
||||
bool get_cpu_struct_initialized();
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue