]> git.proxmox.com Git - mirror_edk2.git/blame - StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.h
StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu
[mirror_edk2.git] / StandaloneMmPkg / Drivers / StandaloneMmCpu / AArch64 / StandaloneMmCpu.h
CommitLineData
275d4bd4
SV
1/** @file\r
2 Private header with declarations and definitions specific to the MM Standalone\r
3 CPU driver\r
4\r
9a0f88b5 5 Copyright (c) 2017 - 2021, Arm Limited. All rights reserved.\r
86094561 6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
275d4bd4
SV
7\r
8**/\r
9\r
10#ifndef _ARM_TF_CPU_DRIVER_H_\r
11#define _ARM_TF_CPU_DRIVER_H_\r
12\r
88899a37 13#include <Protocol/MmCommunication2.h>\r
275d4bd4
SV
14#include <Protocol/MmConfiguration.h>\r
15#include <Protocol/MmCpu.h>\r
16#include <Guid/MpInformation.h>\r
17\r
18//\r
19// CPU driver initialization specific declarations\r
20//\r
21extern EFI_MM_SYSTEM_TABLE *mMmst;\r
22\r
23//\r
24// CPU State Save protocol specific declarations\r
25//\r
26extern EFI_MM_CPU_PROTOCOL mMmCpuState;\r
27\r
28//\r
29// MM event handling specific declarations\r
30//\r
31extern EFI_MM_COMMUNICATE_HEADER **PerCpuGuidedEventContext;\r
32extern EFI_MMRAM_DESCRIPTOR mNsCommBuffer;\r
33extern MP_INFORMATION_HOB_DATA *mMpInformationHobData;\r
34extern EFI_MM_CONFIGURATION_PROTOCOL mMmConfig;\r
35\r
9a0f88b5
SM
36/**\r
37 The PI Standalone MM entry point for the TF-A CPU driver.\r
38\r
39 @param [in] EventId The event Id.\r
40 @param [in] CpuNumber The CPU number.\r
41 @param [in] NsCommBufferAddr Address of the NS common buffer.\r
42\r
43 @retval EFI_SUCCESS Success.\r
44 @retval EFI_INVALID_PARAMETER A parameter was invalid.\r
45 @retval EFI_ACCESS_DENIED Access not permitted.\r
46 @retval EFI_OUT_OF_RESOURCES Out of resources.\r
47 @retval EFI_UNSUPPORTED Operation not supported.\r
48**/\r
275d4bd4 49EFI_STATUS\r
c8102727 50PiMmStandaloneArmTfCpuDriverEntry (\r
275d4bd4
SV
51 IN UINTN EventId,\r
52 IN UINTN CpuNumber,\r
53 IN UINTN NsCommBufferAddr\r
54 );\r
55\r
9a0f88b5
SM
56/**\r
57 This function is the main entry point for an MM handler dispatch\r
58 or communicate-based callback.\r
59\r
60 @param DispatchHandle The unique handle assigned to this handler by\r
61 MmiHandlerRegister().\r
62 @param Context Points to an optional handler context which was\r
63 specified when the handler was registered.\r
64 @param CommBuffer A pointer to a collection of data in memory that will\r
65 be conveyed from a non-MM environment into an\r
66 MM environment.\r
67 @param CommBufferSize The size of the CommBuffer.\r
68\r
69 @return Status Code\r
70\r
71**/\r
275d4bd4
SV
72EFI_STATUS\r
73EFIAPI\r
74PiMmCpuTpFwRootMmiHandler (\r
75 IN EFI_HANDLE DispatchHandle,\r
76 IN CONST VOID *Context, OPTIONAL\r
77 IN OUT VOID *CommBuffer, OPTIONAL\r
78 IN OUT UINTN *CommBufferSize OPTIONAL\r
79 );\r
80\r
275d4bd4 81#endif\r