TianoCore EDK2 master
Loading...
Searching...
No Matches
InternalCpuCacheInfoLib.h File Reference

Go to the source code of this file.

Data Structures

union  CPU_CACHE_INFO_COMPARATOR
 
struct  CPUID_PROCESSOR_INFO
 
struct  CPUID_CACHE_DATA
 
union  MP_SERVICES
 
struct  COLLECT_CPUID_CACHE_DATA_CONTEXT
 

Macros

#define MAX_NUM_OF_CACHE_PARAMS_LEAF   6
 
#define MAX_NUM_OF_PACKAGE   100
 

Functions

EFI_STATUS CpuCacheInfoGetMpServices (OUT MP_SERVICES *MpServices)
 
VOID CpuCacheInfoStartupAllCPUs (IN MP_SERVICES MpServices, IN EFI_AP_PROCEDURE Procedure, IN VOID *ProcedureArgument)
 
VOID CpuCacheInfoGetProcessorInfo (IN MP_SERVICES MpServices, IN UINTN ProcessorNum, OUT EFI_PROCESSOR_INFORMATION *ProcessorInfo)
 
UINT32 CpuCacheInfoWhoAmI (IN MP_SERVICES MpServices)
 
UINT32 CpuCacheInfoGetNumberOfProcessors (IN MP_SERVICES MpServices)
 

Detailed Description

Internal header file for CPU Cache info Library.

Copyright (c) 2020 - 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file InternalCpuCacheInfoLib.h.

Macro Definition Documentation

◆ MAX_NUM_OF_CACHE_PARAMS_LEAF

#define MAX_NUM_OF_CACHE_PARAMS_LEAF   6

Definition at line 123 of file InternalCpuCacheInfoLib.h.

◆ MAX_NUM_OF_PACKAGE

#define MAX_NUM_OF_PACKAGE   100

Definition at line 128 of file InternalCpuCacheInfoLib.h.

Function Documentation

◆ CpuCacheInfoGetMpServices()

EFI_STATUS CpuCacheInfoGetMpServices ( OUT MP_SERVICES MpServices)

Get EDKII_PEI_MP_SERVICES2_PPI or EFI_MP_SERVICES_PROTOCOL pointer.

Parameters
[out]MpServicesA pointer to the buffer where EDKII_PEI_MP_SERVICES2_PPI or EFI_MP_SERVICES_PROTOCOL is stored
Return values
EFI_SUCCESSEDKII_PEI_MP_SERVICES2_PPI or EFI_MP_SERVICES_PROTOCOL interface is returned
EFI_NOT_FOUNDEDKII_PEI_MP_SERVICES2_PPI or EFI_MP_SERVICES_PROTOCOL interface is not found

Get EFI_MP_SERVICES_PROTOCOL pointer.

Parameters
[out]MpServicesA pointer to the buffer where EFI_MP_SERVICES_PROTOCOL is stored
Return values
EFI_SUCCESSEFI_MP_SERVICES_PROTOCOL interface is returned
EFI_NOT_FOUNDEFI_MP_SERVICES_PROTOCOL interface is not found

Get EDKII_PEI_MP_SERVICES2_PPI pointer.

Parameters
[out]MpServicesA pointer to the buffer where EDKII_PEI_MP_SERVICES2_PPI is stored
Return values
EFI_SUCCESSEDKII_PEI_MP_SERVICES2_PPI interface is returned
EFI_NOT_FOUNDEDKII_PEI_MP_SERVICES2_PPI interface is not found

Definition at line 25 of file DxeCpuCacheInfoLib.c.

◆ CpuCacheInfoGetNumberOfProcessors()

UINT32 CpuCacheInfoGetNumberOfProcessors ( IN MP_SERVICES  MpServices)

Get the total number of logical processors in the platform.

Parameters
[in]MpServicesMP_SERVICES structure.
Return values
Returnthe total number of logical processors.

Definition at line 116 of file DxeCpuCacheInfoLib.c.

◆ CpuCacheInfoGetProcessorInfo()

VOID CpuCacheInfoGetProcessorInfo ( IN MP_SERVICES  MpServices,
IN UINTN  ProcessorNum,
OUT EFI_PROCESSOR_INFORMATION ProcessorInfo 
)

Get detailed information of the requested logical processor.

Parameters
[in]MpServicesMP_SERVICES structure.
[in]ProcessorNumThe requested logical processor number.
[out]ProcessorInfoA pointer to the buffer where the processor information is stored

Definition at line 75 of file DxeCpuCacheInfoLib.c.

◆ CpuCacheInfoStartupAllCPUs()

VOID CpuCacheInfoStartupAllCPUs ( IN MP_SERVICES  MpServices,
IN EFI_AP_PROCEDURE  Procedure,
IN VOID *  ProcedureArgument 
)

Activate all of the logical processors.

Parameters
[in]MpServicesMP_SERVICES structure.
[in]ProcedureA pointer to the function to be run on enabled logical processors.
[in]ProcedureArgumentThe parameter passed into Procedure for all enabled logical processors.

Definition at line 45 of file DxeCpuCacheInfoLib.c.

◆ CpuCacheInfoWhoAmI()

UINT32 CpuCacheInfoWhoAmI ( IN MP_SERVICES  MpServices)

Get the logical processor number.

Parameters
[in]MpServicesMP_SERVICES structure.
Return values
Returnthe logical processor number.

Definition at line 95 of file DxeCpuCacheInfoLib.c.