7b38b65e1242c120719b0e8294a2959f4984431b
[mirror_edk2.git] / StandaloneMmPkg / Drivers / StandaloneMmCpu / AArch64 / StandaloneMmCpu.h
1 /** @file\r
2   Private header with declarations and definitions specific to the MM Standalone\r
3   CPU driver\r
4 \r
5   Copyright (c) 2017 - 2018, ARM Limited. All rights reserved.\r
6   This program and the accompanying materials\r
7   are licensed and made available under the terms and conditions of the BSD License\r
8   which accompanies this distribution.  The full text of the license may be found at\r
9   http://opensource.org/licenses/bsd-license.php\r
10 \r
11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13 \r
14 **/\r
15 \r
16 #ifndef _ARM_TF_CPU_DRIVER_H_\r
17 #define _ARM_TF_CPU_DRIVER_H_\r
18 \r
19 #include <Protocol/MmCommunication.h>\r
20 #include <Protocol/MmConfiguration.h>\r
21 #include <Protocol/MmCpu.h>\r
22 #include <Guid/MpInformation.h>\r
23 \r
24 //\r
25 // CPU driver initialization specific declarations\r
26 //\r
27 extern EFI_MM_SYSTEM_TABLE *mMmst;\r
28 \r
29 //\r
30 // CPU State Save protocol specific declarations\r
31 //\r
32 extern EFI_MM_CPU_PROTOCOL mMmCpuState;\r
33 \r
34 //\r
35 // MM event handling specific declarations\r
36 //\r
37 extern EFI_MM_COMMUNICATE_HEADER    **PerCpuGuidedEventContext;\r
38 extern EFI_MMRAM_DESCRIPTOR          mNsCommBuffer;\r
39 extern MP_INFORMATION_HOB_DATA       *mMpInformationHobData;\r
40 extern EFI_MM_CONFIGURATION_PROTOCOL mMmConfig;\r
41 \r
42 EFI_STATUS\r
43 PiMmStandloneArmTfCpuDriverEntry (\r
44   IN UINTN EventId,\r
45   IN UINTN CpuNumber,\r
46   IN UINTN NsCommBufferAddr\r
47   );\r
48 \r
49 EFI_STATUS\r
50 EFIAPI\r
51 PiMmCpuTpFwRootMmiHandler (\r
52   IN     EFI_HANDLE               DispatchHandle,\r
53   IN     CONST VOID               *Context,        OPTIONAL\r
54   IN OUT VOID                     *CommBuffer,     OPTIONAL\r
55   IN OUT UINTN                    *CommBufferSize  OPTIONAL\r
56   );\r
57 \r
58 EFI_STATUS _PiMmStandloneArmTfCpuDriverEntry (\r
59   IN UINTN EventId,\r
60   IN UINTN CpuNumber,\r
61   IN UINTN NsCommBufferAddr\r
62   );\r
63 \r
64 #endif\r