/** @file SiFive U54 Core library definitions. Copyright (c) 2019, Hewlett Packard Enterprise Development LP. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef SIFIVE_U54_CORE_H_ #define SIFIVE_U54_CORE_H_ #include #include /** Function to build core specific information HOB for U54 or E51 core. @param ParentProcessorGuid Parent processor od this core. ParentProcessorGuid could be the same as CoreGuid if one processor has only one core. @param ParentProcessorUid Unique ID of pysical processor which owns this core. @param HartId Hart ID of this core. @param IsBootHart TRUE means this is the boot HART. @param IsManagementCore TRUE means this is for the E51 management core, not U54 @param GuidHobData Pointer to RISC_V_PROCESSOR_SPECIFIC_HOB_DATA. @return EFI_SUCCESS The PEIM initialized successfully. **/ EFI_STATUS EFIAPI CreateU54E51CoreProcessorSpecificDataHob ( IN EFI_GUID *ParentProcessorGuid, IN UINTN ParentProcessorUid, IN UINTN HartId, IN BOOLEAN IsBootHart, IN BOOLEAN IsManagementCore, OUT RISC_V_PROCESSOR_SPECIFIC_HOB_DATA **GuidHobData ); /** Function to build cache related SMBIOS information. RISC-V SMBIOS DXE driver collects this information and builds SMBIOS Type 7 record. The caller can adjust the allocated hob data to their needs. @param ProcessorUid Unique ID of physical processor which owns this core. @param L1CacheDataHobPtr Pointer to allocated HOB data. **/ VOID EFIAPI CreateU54SmbiosType7L1DataHob ( IN UINTN ProcessorUid, OUT RISC_V_PROCESSOR_TYPE7_HOB_DATA **L1CacheDataHobPtr ); /** Function to build processor related SMBIOS information. RISC-V SMBIOS DXE driver collects this information and builds SMBIOS Type 4 record. The caller can adjust the allocated hob data to their needs. @param ProcessorUid Unique ID of physical processor which owns this core. @param ProcessorDataHobPtr Pointer to allocated HOB data. **/ VOID EFIAPI CreateU54SmbiosType4DataHob ( IN UINTN ProcessorUid, OUT RISC_V_PROCESSOR_TYPE4_HOB_DATA **ProcessorDataHobPtr ); #endif