mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-11-01 23:18:21 +00:00
sse support
This commit is contained in:
@@ -4,13 +4,16 @@
|
||||
void arch_regs_saveextra(arch_extraregs* regs){
|
||||
// user gs was swapped
|
||||
regs->gsbase = rdmsr(MSR_KERNELGSBASE);
|
||||
regs->fsbase = rdmsr(MSR_FSBASE);
|
||||
regs->fsbase = rdmsr(MSR_FSBASE);
|
||||
asm("fxsave (%%rax)" : : "a"(®s->fx[0]));
|
||||
|
||||
}
|
||||
|
||||
void arch_regs_setupextra(arch_extraregs* regs){
|
||||
// gs will be swapped later
|
||||
wrmsr(MSR_KERNELGSBASE, regs->gsbase);
|
||||
wrmsr(MSR_FSBASE, regs->fsbase);
|
||||
asm("fxrstor (%%rax)" : : "a"(®s->fx[0]));
|
||||
}
|
||||
|
||||
void arch_regs_setupkernel(arch_regs* regs, void* ip, void* stack, bool interrupts){
|
||||
|
||||
Reference in New Issue
Block a user