1 /** @file 2 Private header with declarations and definitions specific to the MM Standalone 3 CPU driver 4 5 Copyright (c) 2017 - 2018, ARM Limited. All rights reserved. 6 SPDX-License-Identifier: BSD-2-Clause-Patent 7 8 **/ 9 10 #ifndef _ARM_TF_CPU_DRIVER_H_ 11 #define _ARM_TF_CPU_DRIVER_H_ 12 13 #include <Protocol/MmCommunication.h> 14 #include <Protocol/MmConfiguration.h> 15 #include <Protocol/MmCpu.h> 16 #include <Guid/MpInformation.h> 17 18 // 19 // CPU driver initialization specific declarations 20 // 21 extern EFI_MM_SYSTEM_TABLE *mMmst; 22 23 // 24 // CPU State Save protocol specific declarations 25 // 26 extern EFI_MM_CPU_PROTOCOL mMmCpuState; 27 28 // 29 // MM event handling specific declarations 30 // 31 extern EFI_MM_COMMUNICATE_HEADER **PerCpuGuidedEventContext; 32 extern EFI_MMRAM_DESCRIPTOR mNsCommBuffer; 33 extern MP_INFORMATION_HOB_DATA *mMpInformationHobData; 34 extern EFI_MM_CONFIGURATION_PROTOCOL mMmConfig; 35 36 EFI_STATUS 37 PiMmStandaloneArmTfCpuDriverEntry ( 38 IN UINTN EventId, 39 IN UINTN CpuNumber, 40 IN UINTN NsCommBufferAddr 41 ); 42 43 EFI_STATUS 44 EFIAPI 45 PiMmCpuTpFwRootMmiHandler ( 46 IN EFI_HANDLE DispatchHandle, 47 IN CONST VOID *Context, OPTIONAL 48 IN OUT VOID *CommBuffer, OPTIONAL 49 IN OUT UINTN *CommBufferSize OPTIONAL 50 ); 51 52 #endif 53