We are going to need to make an hypercall in order to retreive the E820 table from the hypervisor before been able to setup the memory. Calling XenConnect earlier will allow to setup the XenHypercallLib earlier to allow to make hypercalls. While here, add some comments in XenConnect(). Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1689 Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20190813113119.14804-20-anthony.perard@citrix.com>
119 lines
1.7 KiB
C
119 lines
1.7 KiB
C
/** @file
|
|
Platform PEI module include file.
|
|
|
|
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
|
Copyright (c) 2019, Citrix Systems, Inc.
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef _PLATFORM_PEI_H_INCLUDED_
|
|
#define _PLATFORM_PEI_H_INCLUDED_
|
|
|
|
#include <IndustryStandard/E820.h>
|
|
|
|
VOID
|
|
AddIoMemoryBaseSizeHob (
|
|
EFI_PHYSICAL_ADDRESS MemoryBase,
|
|
UINT64 MemorySize
|
|
);
|
|
|
|
VOID
|
|
AddIoMemoryRangeHob (
|
|
EFI_PHYSICAL_ADDRESS MemoryBase,
|
|
EFI_PHYSICAL_ADDRESS MemoryLimit
|
|
);
|
|
|
|
VOID
|
|
AddMemoryBaseSizeHob (
|
|
EFI_PHYSICAL_ADDRESS MemoryBase,
|
|
UINT64 MemorySize
|
|
);
|
|
|
|
VOID
|
|
AddMemoryRangeHob (
|
|
EFI_PHYSICAL_ADDRESS MemoryBase,
|
|
EFI_PHYSICAL_ADDRESS MemoryLimit
|
|
);
|
|
|
|
VOID
|
|
AddReservedMemoryBaseSizeHob (
|
|
EFI_PHYSICAL_ADDRESS MemoryBase,
|
|
UINT64 MemorySize,
|
|
BOOLEAN Cacheable
|
|
);
|
|
|
|
VOID
|
|
AddressWidthInitialization (
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
Q35TsegMbytesInitialization (
|
|
VOID
|
|
);
|
|
|
|
EFI_STATUS
|
|
PublishPeiMemory (
|
|
VOID
|
|
);
|
|
|
|
UINT32
|
|
GetSystemMemorySizeBelow4gb (
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
InitializeRamRegions (
|
|
VOID
|
|
);
|
|
|
|
EFI_STATUS
|
|
PeiFvInitialization (
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
InstallClearCacheCallback (
|
|
VOID
|
|
);
|
|
|
|
EFI_STATUS
|
|
XenConnect (
|
|
VOID
|
|
);
|
|
|
|
EFI_STATUS
|
|
InitializeXen (
|
|
VOID
|
|
);
|
|
|
|
BOOLEAN
|
|
XenDetect (
|
|
VOID
|
|
);
|
|
|
|
BOOLEAN
|
|
XenHvmloaderDetected (
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
AmdSevInitialize (
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
XenPublishRamRegions (
|
|
VOID
|
|
);
|
|
|
|
extern EFI_BOOT_MODE mBootMode;
|
|
|
|
extern UINT8 mPhysMemAddressWidth;
|
|
|
|
extern UINT16 mHostBridgeDevId;
|
|
|
|
#endif // _PLATFORM_PEI_H_INCLUDED_
|