aboutsummaryrefslogtreecommitdiffstats
path: root/src/romlayout.S
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2015-09-22 12:35:00 -0400
committerKevin O'Connor <kevin@koconnor.net>2015-10-09 13:30:59 -0400
commit62de31b4feb5eacc4139f4d9fc28ae102921b4c7 (patch)
treeabc7644646894282e58daac29d90ac86e7b66c37 /src/romlayout.S
parent4c599ef3960ed8f2aaf7a73980814ebe42e37bf3 (diff)
downloadseabios-62de31b4feb5eacc4139f4d9fc28ae102921b4c7.tar.gz
Always enable caching on transition32; backup/restore cr0 on call32
Always enable caching at start of 32bit code and always make sure the paging flag is off. Because this alters the cr0 register, perform a backup and restore of it when using call32(). Also, rename get/setcr0() to cr0_read/write() to more closely match other register access functions. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/romlayout.S')
-rw-r--r--src/romlayout.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/romlayout.S b/src/romlayout.S
index fefc212e..823188b6 100644
--- a/src/romlayout.S
+++ b/src/romlayout.S
@@ -47,6 +47,7 @@ transition32_nmi_off:
// Enable protected mode
movl %cr0, %ecx
+ andl $~(CR0_PG|CR0_CD|CR0_NW), %ecx
orl $CR0_PE, %ecx
movl %ecx, %cr0