#error EDK_RELEASE_VERSION can not be zero\r
#endif\r
\r
-\r
#include <Common/UefiBaseTypes.h>\r
#include <Dxe/DxeCis.h>\r
+\r
+#if defined(MDE_CPU_IA32) || defined(MDE_CPU_X64)\r
#include <Dxe/SmmCis.h>\r
+#endif\r
+\r
+#if defined(MDE_CPU_IPF)\r
+#include <SalApi.h>\r
+#endif\r
\r
#include <Common/DataHubRecords.h>\r
#include <Guid/DataHubRecords.h>\r
} EFI_DXE_SERVICES;\r
\r
\r
+//\r
+// Function prototype for invoking a function on an Application Processor\r
+// Used by both the SMM infrastructure and the MP Services Protocol\r
+//\r
+typedef\r
+VOID\r
+(EFIAPI *EFI_AP_PROCEDURE) (\r
+ IN VOID *Buffer\r
+ );\r
+\r
#include <Common/BootMode.h>\r
#include <Common/BootScript.h>\r
#include <Common/Capsule.h>\r
IN UINTN NumberOfPages\r
);\r
\r
-typedef\r
-VOID\r
-(EFIAPI *EFI_AP_PROCEDURE) (\r
- IN VOID *Buffer\r
- );\r
-\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_STARTUP_THIS_AP) (\r
#error EDK_RELEASE_VERSION can not be zero\r
#endif\r
\r
-\r
-\r
#include <Common/UefiBaseTypes.h>\r
#include <Dxe/DxeCis.h>\r
\r
+#if defined(MDE_CPU_IPF)\r
+#include <SalApi.h>\r
+#endif\r
+\r
#endif\r
UINT64 GP;\r
} EFI_PLABEL;\r
\r
-typedef struct {\r
- UINTN BootPhase; // entry r20 value\r
- UINTN UniqueId; // PAL arbitration ID\r
- UINTN HealthStat; // Health Status\r
- UINTN PALRetAddress; // return address to PAL\r
-} IPF_HANDOFF_STATUS;\r
-\r
#endif\r
\r
#define EFI_SAL_NO_INFORMATION ((EFI_SAL_STATUS) - 5)\r
#define EFI_SAL_NOT_ENOUGH_SCRATCH ((EFI_SAL_STATUS) - 9)\r
\r
+//\r
+// Return values from SAL\r
+//\r
+typedef struct {\r
+ EFI_SAL_STATUS Status; // register r8\r
+ UINTN r9;\r
+ UINTN r10;\r
+ UINTN r11;\r
+} SAL_RETURN_REGS;\r
+\r
//\r
// Delivery Mode of IPF CPU.\r
//\r
EFI_DELIVERY_MODE_ExtINT\r
} EFI_DELIVERY_MODE;\r
\r
-//\r
-// Return values from SAL\r
-//\r
-typedef struct {\r
- EFI_SAL_STATUS Status; // register r8\r
- UINTN r9;\r
- UINTN r10;\r
- UINTN r11;\r
-} SAL_RETURN_REGS;\r
-\r
typedef SAL_RETURN_REGS (EFIAPI *SAL_PROC)\r
(\r
IN UINT64 FunctionId,\r
#include <Common/UefiBaseTypes.h>\r
#include <Peim/PeiCis.h>\r
\r
+#if defined(MDE_CPU_IPF)\r
+#include <SalApi.h>\r
+#endif\r
+\r
//\r
//StatusCodeDataTypeId needs DebugSupport Protocol definition\r
//\r
#include <Common/UefiBaseTypes.h>\r
#include <Peim/PeiCis.h>\r
\r
+#if defined(MDE_CPU_IPF)\r
+#include <SalApi.h>\r
+#endif\r
+ \r
#include <Protocol/Decompress.h>\r
\r
//\r
\r
extern EFI_GUID gEfiSecPlatformInformationPpiGuid;\r
\r
+typedef struct {\r
+ UINTN BootPhase; // entry r20 value\r
+ UINTN UniqueId; // PAL arbitration ID\r
+ UINTN HealthStat; // Health Status\r
+ UINTN PALRetAddress; // return address to PAL\r
+} IPF_HANDOFF_STATUS;\r
+\r
///\r
/// EFI_HEALTH_FLAGS\r
///\r
#include <Common/UefiBaseTypes.h>\r
#include <Uefi/UefiSpec.h>\r
\r
+#if defined(MDE_CPU_IPF)\r
+#include <SalApi.h>\r
+#endif\r
+\r
#endif\r