diff options
| author | Jon Santmyer <jon@jonsantmyer.com> | 2026-09-13 11:45:31 -0400 |
|---|---|---|
| committer | Jon Santmyer <jon@jonsantmyer.com> | 2026-09-13 11:45:31 -0400 |
| commit | 24136157aae8c88f9397903157adf8f6237d73c0 (patch) | |
| tree | 97555b8bd455ebfe13e3a08b96d3c370b7021d15 /arch/x86_64/hal/msr.c | |
| parent | 53fa3cd2bfdb122d773024612d8c1d71f0dd8188 (diff) | |
| download | jove-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.c | 15 |
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; |
