diff options
Diffstat (limited to 'src/sys/arch/amd64/cpu/cpu_conf.c')
-rw-r--r-- | src/sys/arch/amd64/cpu/cpu_conf.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/sys/arch/amd64/cpu/cpu_conf.c b/src/sys/arch/amd64/cpu/cpu_conf.c index 7c1f5a0..ee3bb78 100644 --- a/src/sys/arch/amd64/cpu/cpu_conf.c +++ b/src/sys/arch/amd64/cpu/cpu_conf.c @@ -57,12 +57,17 @@ init_vectors(void) void cpu_conf(struct pcore *pcore) { + /* We use %GS to store the processor */ pcore->self = pcore; + wrmsr(IA32_GS_BASE, (uintptr_t)pcore); + init_vectors(); idt_load(); - platform_boot(); +} - /* We use %GS to store the processor */ - wrmsr(IA32_GS_BASE, (uintptr_t)pcore); +void +cpu_init(struct pcore *pcore) +{ lapic_init(); + platform_boot(); } |