summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.h
diff options
context:
space:
mode:
authoryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>2007-09-28 08:22:33 +0000
committeryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>2007-09-28 08:22:33 +0000
commit5d582956c244d8b5cc03520f73b65a7d042e3720 (patch)
tree7defdd332887ae633db22b821ae77733aeba50d2 /MdeModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.h
parent3d7b0992fccc89cc049de91d02b4869ec81cf9fb (diff)
downloadedk2-platforms-5d582956c244d8b5cc03520f73b65a7d042e3720.tar.xz
Enable the 0-31 temporary IDT entries prior to activate the LongMode. If not enable the temporary IDT table, DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED may not work correctly till CPU DXE programs the IDT table.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3966 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.h')
-rw-r--r--MdeModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/MdeModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.h b/MdeModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.h
index 89a7f2eceb..18fbcb907d 100644
--- a/MdeModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.h
+++ b/MdeModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.h
@@ -49,6 +49,12 @@ typedef union {
UINT64 Uint64;
} IA32_GDT;
+typedef struct {
+ IA32_IDT_GATE_DESCRIPTOR Ia32IdtEntry;
+ UINT32 Offset32To63;
+ UINT32 Reserved;
+} X64_IDT_GATE_DESCRIPTOR;
+
//
// Page-Map Level-4 Offset (PML4) and
// Page-Directory-Pointer Offset (PDPE) entries 4K & 2MB
@@ -104,4 +110,38 @@ CreateIdentityMappingPageTables (
)
;
+
+/**
+
+ Fix up the vector number in the vector code.
+
+ @param VectorBase Base address of the vector handler.
+
+ @param VectorNum Index of vector.
+
+**/
+VOID
+EFIAPI
+AsmVectorFixup (
+ VOID *VectorBase,
+ UINT8 VectorNum
+ );
+
+
+/**
+
+ Get the information of vector template.
+
+ @param TemplateBase Base address of the template code.
+
+ @return Size of the Template code.
+
+**/
+UINTN
+EFIAPI
+AsmGetVectorTemplatInfo (
+ OUT VOID **TemplateBase
+ );
+
+
#endif