To substantially reduce the amount of processing that takes place with the MMU and caches off, implement a version of ArmPlatformLib specific for QEMU/mach-virt in AArch64 mode that carries a statically allocated and populated ID map that covers the NOR flash and device region, and 128 MiB of DRAM at the base of memory (0x4000_0000). Note that 128 MiB has always been the minimum amount of DRAM we support for this configuration, and the existing code already ASSERT()s in DEBUG mode when booting with less. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
65 lines
1.3 KiB
C
65 lines
1.3 KiB
C
/** @file
|
|
|
|
Copyright (c) 2011-2012, ARM Limited. All rights reserved.
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#include <Library/ArmLib.h>
|
|
#include <Library/ArmPlatformLib.h>
|
|
|
|
/**
|
|
Return the current Boot Mode.
|
|
|
|
This function returns the boot reason on the platform
|
|
|
|
@return Return the current Boot Mode of the platform
|
|
|
|
**/
|
|
EFI_BOOT_MODE
|
|
ArmPlatformGetBootMode (
|
|
VOID
|
|
)
|
|
{
|
|
return BOOT_WITH_FULL_CONFIGURATION;
|
|
}
|
|
|
|
/**
|
|
Initialize controllers that must setup in the normal world.
|
|
|
|
This function is called by the ArmPlatformPkg/PrePi or
|
|
ArmPlatformPkg/PlatformPei in the PEI phase.
|
|
|
|
@param[in] MpId ID of the calling CPU
|
|
|
|
@return RETURN_SUCCESS unless the operation failed
|
|
**/
|
|
RETURN_STATUS
|
|
ArmPlatformInitialize (
|
|
IN UINTN MpId
|
|
)
|
|
{
|
|
return RETURN_SUCCESS;
|
|
}
|
|
|
|
/**
|
|
Return the Platform specific PPIs.
|
|
|
|
This function exposes the Platform Specific PPIs. They can be used by any
|
|
PrePi modules or passed to the PeiCore by PrePeiCore.
|
|
|
|
@param[out] PpiListSize Size in Bytes of the Platform PPI List
|
|
@param[out] PpiList Platform PPI List
|
|
|
|
**/
|
|
VOID
|
|
ArmPlatformGetPlatformPpiList (
|
|
OUT UINTN *PpiListSize,
|
|
OUT EFI_PEI_PPI_DESCRIPTOR **PpiList
|
|
)
|
|
{
|
|
*PpiListSize = 0;
|
|
*PpiList = NULL;
|
|
}
|