summaryrefslogtreecommitdiff
path: root/src/sys/arch/amd64/cpu/cpu_conf.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys/arch/amd64/cpu/cpu_conf.c')
-rw-r--r--src/sys/arch/amd64/cpu/cpu_conf.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/sys/arch/amd64/cpu/cpu_conf.c b/src/sys/arch/amd64/cpu/cpu_conf.c
index eac82d5..9399973 100644
--- a/src/sys/arch/amd64/cpu/cpu_conf.c
+++ b/src/sys/arch/amd64/cpu/cpu_conf.c
@@ -29,9 +29,14 @@
#include <sys/cpuvar.h>
#include <machine/boot.h>
+#include <machine/msr.h>
void
cpu_conf(struct pcore *pcore)
{
+ pcore->self = pcore;
platform_boot();
+
+ /* We use %GS to store the processor */
+ wrmsr(IA32_GS_BASE, (uintptr_t)pcore);
}