From ba741d5b98edc25491a43c2fbb1e9f530d58abc9 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 31 Oct 2016 10:49:00 -0600 Subject: [PATCH] Smp (#23) * Fire up multiple processors * Use IPIs to wake up secondary processors * Much better exception information * Modifications to show more information on fault * WIP: Use real libstd * Add TLS (not complete) * Add random function, export getpid, cleanup * Do not spin APs until new context * Update rust * Update rust * Use rd/wrfsbase * Implement TLS * Implement compiler builtins and update rust * Update rust * Back to Redox libstd * Update rust --- x86_64/startup-x86_64.asm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/x86_64/startup-x86_64.asm b/x86_64/startup-x86_64.asm index d49c532ce7..f3abdf983e 100644 --- a/x86_64/startup-x86_64.asm +++ b/x86_64/startup-x86_64.asm @@ -26,9 +26,9 @@ startup_ap: mov edi, 0x70000 mov cr3, edi - ;enable Page Global, Page Address Extension, and Page Size Extension + ;enable FSGSBASE, FXSAVE/FXRSTOR, Page Global, Page Address Extension, and Page Size Extension mov eax, cr4 - or eax, 1 << 7 | 1 << 5 | 1 << 4 + or eax, 1 << 16 | 1 << 9 | 1 << 7 | 1 << 5 | 1 << 4 mov cr4, eax ; load protected mode GDT @@ -91,9 +91,9 @@ startup_arch: mov edi, 0x70000 mov cr3, edi - ;enable Page Global, Page Address Extension, and Page Size Extension + ;enable FSGSBASE, FXSAVE/FXRSTOR, Page Global, Page Address Extension, and Page Size Extension mov eax, cr4 - or eax, 1 << 7 | 1 << 5 | 1 << 4 + or eax, 1 << 16 | 1 << 9 | 1 << 7 | 1 << 5 | 1 << 4 mov cr4, eax ; load protected mode GDT