summaryrefslogtreecommitdiff
path: root/src/cpu/x86/smm/smmhandler.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/x86/smm/smmhandler.S')
-rw-r--r--src/cpu/x86/smm/smmhandler.S4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cpu/x86/smm/smmhandler.S b/src/cpu/x86/smm/smmhandler.S
index 450aa538f8..774088e1f2 100644
--- a/src/cpu/x86/smm/smmhandler.S
+++ b/src/cpu/x86/smm/smmhandler.S
@@ -83,13 +83,15 @@ smm_handler_start:
andl $0x7FFAFFD1, %eax /* PG,AM,WP,NE,TS,EM,MP = 0 */
orl $0x60000001, %eax /* CD, NW, PE = 1 */
movl %eax, %cr0
- wbinvd
/* Enable protected mode */
data32 ljmp $0x08, $1f
.code32
1:
+ /* flush the cache after disabling it */
+ wbinvd
+
/* Use flat data segment */
movw $0x10, %ax
movw %ax, %ds