/* Returns a value for the Processor ID field that conforms to SMBIOS requirements. */
UINT64 SmbiosGetProcessorId(VOID)
/* Returns a value for the Processor ID field that conforms to SMBIOS requirements. */
UINT64 SmbiosGetProcessorId(VOID)
{
  INT32   Jep106Code;
  INT32   SocRevision;
  UINT64  ProcessorId;
  if (HasSmcArm64SocId ()) {
    SmbiosGetSmcArm64SocId (&Jep106Code, &SocRevision);
    ProcessorId = ((UINT64)SocRevision << 32) | Jep106Code;
  } else {
    ProcessorId = ArmReadMidr ();
  }
  return ProcessorId;
}