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
This commit is contained in:
parent
25dc44b348
commit
149b0297a4
54 changed files with 1121 additions and 380 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue