2 Private header with declarations and definitions specific to the MM Standalone
5 Copyright (c) 2017 - 2018, ARM Limited. All rights reserved.
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #ifndef _ARM_TF_CPU_DRIVER_H_
17 #define _ARM_TF_CPU_DRIVER_H_
19 #include <Protocol/MmCommunication.h>
20 #include <Protocol/MmConfiguration.h>
21 #include <Protocol/MmCpu.h>
22 #include <Guid/MpInformation.h>
25 // CPU driver initialization specific declarations
27 extern EFI_MM_SYSTEM_TABLE
*mMmst
;
30 // CPU State Save protocol specific declarations
32 extern EFI_MM_CPU_PROTOCOL mMmCpuState
;
35 // MM event handling specific declarations
37 extern EFI_MM_COMMUNICATE_HEADER
**PerCpuGuidedEventContext
;
38 extern EFI_MMRAM_DESCRIPTOR mNsCommBuffer
;
39 extern MP_INFORMATION_HOB_DATA
*mMpInformationHobData
;
40 extern EFI_MM_CONFIGURATION_PROTOCOL mMmConfig
;
43 PiMmStandaloneArmTfCpuDriverEntry (
46 IN UINTN NsCommBufferAddr
51 PiMmCpuTpFwRootMmiHandler (
52 IN EFI_HANDLE DispatchHandle
,
53 IN CONST VOID
*Context
, OPTIONAL
54 IN OUT VOID
*CommBuffer
, OPTIONAL
55 IN OUT UINTN
*CommBufferSize OPTIONAL