/* Firmware must parse list, and accept the pages of memory before their can be use by the guest. */
STATIC EFI_STATUS EFIAPI ProcessHobList(IN CONST VOID *VmmHobList)
/* Firmware must parse list, and accept the pages of memory before their can be use by the guest. */
STATIC EFI_STATUS EFIAPI ProcessHobList(IN CONST VOID *VmmHobList)
{
  EFI_STATUS            Status;
  UINT32                CpusNum;
  EFI_PHYSICAL_ADDRESS  PhysicalEnd;
  EFI_PHYSICAL_ADDRESS  APsStackStartAddress;
  CpusNum = GetCpusNum ();
  if (CpusNum > 1) {
    Status = AcceptMemoryForAPsStack (VmmHobList, APS_STACK_SIZE (CpusNum), &PhysicalEnd);
    ASSERT (Status == EFI_SUCCESS);
    APsStackStartAddress = PhysicalEnd - APS_STACK_SIZE (CpusNum);
  } else {
    PhysicalEnd          = 0;
    APsStackStartAddress = 0;
  }
  Status = AcceptMemory (VmmHobList, CpusNum, APsStackStartAddress, PhysicalEnd);
  ASSERT (Status == EFI_SUCCESS);
  return Status;
}