summaryrefslogtreecommitdiffstats
path: root/arch/x86_64/hal/msr.c
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2026-09-13 11:45:31 -0400
committerJon Santmyer <jon@jonsantmyer.com>2026-09-13 11:45:31 -0400
commit24136157aae8c88f9397903157adf8f6237d73c0 (patch)
tree97555b8bd455ebfe13e3a08b96d3c370b7021d15 /arch/x86_64/hal/msr.c
parent53fa3cd2bfdb122d773024612d8c1d71f0dd8188 (diff)
downloadjove-kernel-24136157aae8c88f9397903157adf8f6237d73c0.tar.gz
jove-kernel-24136157aae8c88f9397903157adf8f6237d73c0.tar.bz2
jove-kernel-24136157aae8c88f9397903157adf8f6237d73c0.zip
add barebones uacpi support. just gets tables
Diffstat (limited to 'arch/x86_64/hal/msr.c')
-rw-r--r--arch/x86_64/hal/msr.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/x86_64/hal/msr.c b/arch/x86_64/hal/msr.c
index f27e303..849f0ff 100644
--- a/arch/x86_64/hal/msr.c
+++ b/arch/x86_64/hal/msr.c
@@ -44,6 +44,21 @@ msr_enable_sce(void)
}
void
+msr_enable_sse(void)
+{
+ uint64_t cr4 = 0;
+ __asm__ volatile("mov %%cr4, %0": "=r"(cr4));
+
+ cr4 &= 0xFFFFFFFFFFFFFFFB;
+ cr4 |= 0x2;
+ __asm__ volatile("mov %0, %%cr4":: "r"(cr4));
+ __asm__ volatile("mov %%cr4, %0": "=r"(cr4));
+
+ cr4 |= (3 << 9);
+ __asm__ volatile("mov %0, %%cr4":: "r"(cr4));
+}
+
+void
msr_set_lstar(void *lstar_value)
{
union msr_lstar lstar;