Home | History | Annotate | Download | only in Protocol
      1 /** @file
      2 
      3   Copyright (c) 2016, AMD Inc. All rights reserved.<BR>
      4 
      5   This program and the accompanying materials
      6   are licensed and made available under the terms and conditions of the BSD License
      7   which accompanies this distribution.  The full text of the license may be found at
      8   http://opensource.org/licenses/bsd-license.php
      9 
     10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #ifndef _AMD_MP_CORE_INFO_H_
     16 #define _AMD_MP_CORE_INFO_H_
     17 
     18 extern EFI_GUID gAmdMpCoreInfoProtocolGuid;
     19 
     20 typedef
     21 ARM_CORE_INFO *
     22 (EFIAPI *GET_ARM_CORE_INFO_TABLE) (
     23   OUT UINTN  *NumEntries
     24   );
     25 
     26 typedef
     27 EFI_STATUS
     28 (EFIAPI *GET_PMU_SPI_FROM_MPID) (
     29   IN  UINT32  MpId,
     30   OUT UINT32  *PmuSpi
     31   );
     32 
     33 typedef
     34 EFI_PHYSICAL_ADDRESS
     35 (EFIAPI *GET_MP_PARKING_BASE) (
     36   OUT UINTN  *MpParkingSize
     37   );
     38 
     39 typedef struct _AMD_MP_CORE_INFO_PROTOCOL {
     40   GET_ARM_CORE_INFO_TABLE  GetArmCoreInfoTable;
     41   GET_PMU_SPI_FROM_MPID    GetPmuSpiFromMpId;
     42   GET_MP_PARKING_BASE      GetMpParkingBase;
     43 } AMD_MP_CORE_INFO_PROTOCOL;
     44 
     45 #endif // _AMD_MP_CORE_INFO_H_
     46