/** @file Arm Arch utility functions. Copyright (c) 2026, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include "ArchUtility.h" #include /** Return the SoC ID formatted for the SMBIOS Type 4 Processor ID field. @param[out] ProcessorId Pointer to the SMBIOS Processor ID. @retval EFI_SUCCESS The Processor ID was returned successfully. @retval EFI_INVALID_PARAMETER ProcessorId is NULL. @retval EFI_UNSUPPORTED Unsupported. **/ EFI_STATUS GetSocId ( OUT UINT64 *ProcessorId ) { EFI_STATUS Status; UINT32 Jep106Code; UINT32 SocRevision; if (ProcessorId == NULL) { return EFI_INVALID_PARAMETER; } Status = ArmSmcccGetSocId (&Jep106Code, &SocRevision); if (!EFI_ERROR (Status)) { *ProcessorId = ((UINT64)SocRevision << 32) | Jep106Code; } return Status; }