summaryrefslogtreecommitdiff
path: root/src/include/cpu/x86
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2018-04-17 14:35:48 -0600
committerPatrick Georgi <pgeorgi@google.com>2018-04-23 09:18:28 +0000
commitd5e4746cf84a8da1b6465058ec7c7cc19c3c32c0 (patch)
treef5bf8a5cb74f8a757183c4fb2480b9c64a9a8edc /src/include/cpu/x86
parentae18f80febc3ecaacc0314e942a4f8b248bfcc4c (diff)
downloadcoreboot-d5e4746cf84a8da1b6465058ec7c7cc19c3c32c0.tar.xz
cpu/x86: expose and add paging helper functions
Add the following functions for use outside of the paging module: void paging_enable_pae_cr3(uintptr_t cr3); void paging_enable_pae(void); void paging_disable_pae(void); The functions just enable and/or disable paging along with PAE. Disassembly shows equivalent output for both versions. BUG=b:72728953 Change-Id: I9665e7ec4795a5f52889791f73cf98a8f4def827 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/25714 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Justin TerAvest <teravest@chromium.org>
Diffstat (limited to 'src/include/cpu/x86')
-rw-r--r--src/include/cpu/x86/pae.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/include/cpu/x86/pae.h b/src/include/cpu/x86/pae.h
index 9b9f27b688..5bbfdf3aca 100644
--- a/src/include/cpu/x86/pae.h
+++ b/src/include/cpu/x86/pae.h
@@ -3,6 +3,14 @@
#include <stdint.h>
+/* Enable paging with cr3 value for page directory pointer table as well as PAE
+ option in cr4. */
+void paging_enable_pae_cr3(uintptr_t cr3);
+/* Enable paging as well as PAE option in cr4. */
+void paging_enable_pae(void);
+/* Disable paging as well as PAE option in cr4. */
+void paging_disable_pae(void);
+
/* Set/Clear NXE bit in IA32_EFER MSR */
void paging_set_nxe(int enable);