summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/CapsulePei/Capsule.h
diff options
context:
space:
mode:
authorjyao1 <jyao1@6f19259b-4bc3-4df7-8a09-765794883524>2011-09-13 05:48:57 +0000
committerjyao1 <jyao1@6f19259b-4bc3-4df7-8a09-765794883524>2011-09-13 05:48:57 +0000
commitc56b65665de7a665e29107ee9c377c1e2e84d343 (patch)
treef0f676c4d9c8b6ad6ab834707db285824480c81b /MdeModulePkg/Universal/CapsulePei/Capsule.h
parent81b7a609893d2b8fa38fee2f5630925c929fda5f (diff)
downloadedk2-c56b65665de7a665e29107ee9c377c1e2e84d343.zip
edk2-c56b65665de7a665e29107ee9c377c1e2e84d343.tar.gz
edk2-c56b65665de7a665e29107ee9c377c1e2e84d343.tar.bz2
Use CPU_HOB to detect max address support from platform, and added 1G page table support.
Sign-off-by: jyao1 Reviewed-by: li-elvin git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12332 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/CapsulePei/Capsule.h')
-rw-r--r--MdeModulePkg/Universal/CapsulePei/Capsule.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/MdeModulePkg/Universal/CapsulePei/Capsule.h b/MdeModulePkg/Universal/CapsulePei/Capsule.h
index 5b7caae..57af114 100644
--- a/MdeModulePkg/Universal/CapsulePei/Capsule.h
+++ b/MdeModulePkg/Universal/CapsulePei/Capsule.h
@@ -89,6 +89,30 @@ typedef union {
UINT64 Uint64;
} PAGE_TABLE_ENTRY;
+//
+// Page Table Entry 1GB
+//
+typedef union {
+ struct {
+ UINT64 Present:1; // 0 = Not present in memory, 1 = Present in memory
+ UINT64 ReadWrite:1; // 0 = Read-Only, 1= Read/Write
+ UINT64 UserSupervisor:1; // 0 = Supervisor, 1=User
+ UINT64 WriteThrough:1; // 0 = Write-Back caching, 1=Write-Through caching
+ UINT64 CacheDisabled:1; // 0 = Cached, 1=Non-Cached
+ UINT64 Accessed:1; // 0 = Not accessed, 1 = Accessed (set by CPU)
+ UINT64 Dirty:1; // 0 = Not Dirty, 1 = written by processor on access to page
+ UINT64 MustBe1:1; // Must be 1
+ UINT64 Global:1; // 0 = Not global page, 1 = global page TLB not cleared on CR3 write
+ UINT64 Available:3; // Available for use by system software
+ UINT64 PAT:1; //
+ UINT64 MustBeZero:17; // Must be zero;
+ UINT64 PageTableBaseAddress:22; // Page Table Base Address
+ UINT64 AvabilableHigh:11; // Available for use by system software
+ UINT64 Nx:1; // 0 = Execute Code, 1 = No Code Execution
+ } Bits;
+ UINT64 Uint64;
+} PAGE_TABLE_1G_ENTRY;
+
#pragma pack()
typedef