git: 3f79c8c46f24 - stable/14 - amd64 la57_trampoline: disable EFER.LME around setting CR4.LA57
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 23 Sep 2024 13:03:44 UTC
The branch stable/14 has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=3f79c8c46f24f2b87569444a034e1aa08ead2dbd
commit 3f79c8c46f24f2b87569444a034e1aa08ead2dbd
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2024-09-11 00:39:30 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2024-09-23 13:03:06 +0000
amd64 la57_trampoline: disable EFER.LME around setting CR4.LA57
(cherry picked from commit b7ea2b69ef666ee8cdc6dcc814d610df0a7f0999)
---
sys/amd64/amd64/locore.S | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/sys/amd64/amd64/locore.S b/sys/amd64/amd64/locore.S
index 86db0f76b22b..9a991402cdc2 100644
--- a/sys/amd64/amd64/locore.S
+++ b/sys/amd64/amd64/locore.S
@@ -114,11 +114,21 @@ l1: movl $(3<<3),%eax
andl $~CR0_PG,%eax
movl %eax,%cr0
+ movl $MSR_EFER,%ecx
+ rdmsr
+ andl $~EFER_LME,%eax
+ wrmsr
+
movl %cr4,%eax
orl $CR4_LA57,%eax
movl %eax,%cr4
movl %edi,%cr3
+
+ rdmsr
+ orl $EFER_LME,%eax
+ wrmsr
+
movl %ebp,%cr0
jmp 1f