]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/CpuMpPei/CpuMpPei.h
UefiCpuPkg/CpuMpPei: Get AP reset code size and far jump information
[mirror_edk2.git] / UefiCpuPkg / CpuMpPei / CpuMpPei.h
index 146422c2b5b60dcf8532970444bb89062852f66f..7c96084ca2a1216b1209b243633686b2e87fc8bd 100644 (file)
 #include <Library/PeimEntryPoint.h>
 #include <Library/UefiCpuLib.h>
 
+//
+// AP reset code information
+//
+typedef struct {
+  UINT8             *RendezvousFunnelAddress;
+  UINTN             PModeEntryOffset;
+  UINTN             LModeEntryOffset;
+  UINTN             RendezvousFunnelSize;
+} MP_ASSEMBLY_ADDRESS_MAP;
+
 #pragma pack(1)
 
 typedef union {
@@ -62,6 +72,19 @@ typedef struct {
 } MP_CPU_EXCHANGE_INFO;
 
 #pragma pack()
+
+/**
+  Assembly code to get starting address and size of the rendezvous entry for APs.
+  Information for fixing a jump instruction in the code is also returned.
+
+  @param AddressMap  Output buffer for address map information.
+**/
+VOID
+EFIAPI
+AsmGetAddressMap (
+  OUT MP_ASSEMBLY_ADDRESS_MAP    *AddressMap
+  );
+
 /**
   Assembly code to load GDT table and update segment accordingly.