]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.h
Enable the 0-31 temporary IDT entries prior to activate the LongMode. If not enable...
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / Ia32 / VirtualMemory.h
index 89a7f2eceb98db96e5ef8945938b1c52b5e280ee..18fbcb907d85469ece81473daaa2578cbfff875e 100644 (file)
@@ -49,6 +49,12 @@ typedef union {
   UINT64  Uint64;\r
 } IA32_GDT;\r
 \r
+typedef struct {\r
+  IA32_IDT_GATE_DESCRIPTOR  Ia32IdtEntry;\r
+  UINT32                    Offset32To63;\r
+  UINT32                    Reserved;\r
+} X64_IDT_GATE_DESCRIPTOR;\r
+\r
 //\r
 // Page-Map Level-4 Offset (PML4) and\r
 // Page-Directory-Pointer Offset (PDPE) entries 4K & 2MB\r
@@ -104,4 +110,38 @@ CreateIdentityMappingPageTables (
   )\r
 ;\r
 \r
+\r
+/**\r
\r
+  Fix up the vector number in the vector code.\r
\r
+  @param VectorBase   Base address of the vector handler.\r
\r
+  @param VectorNum    Index of vector.\r
\r
+**/\r
+VOID\r
+EFIAPI\r
+AsmVectorFixup (\r
+  VOID    *VectorBase,\r
+  UINT8   VectorNum\r
+  );\r
+\r
+\r
+/**\r
\r
+  Get the information of vector template.\r
+  \r
+  @param TemplateBase   Base address of the template code.\r
\r
+  @return               Size of the Template code.\r
\r
+**/\r
+UINTN\r
+EFIAPI\r
+AsmGetVectorTemplatInfo (\r
+  OUT   VOID  **TemplateBase\r
+  );\r
+\r
+\r
 #endif \r