ArmVirtPkg: introduce ArmVirtMemInfoLib library class
As part of the effort to get rid of ArmPlatformLib (which incorporates far too many duties in a single library), introduce ArmVirtMemInfoLib which will be invoked by our ArmVirtMemoryInitPeiLib implementation to get a description of the virtual address space. This will allow us to remove this functionality from ArmPlatformLib later, or, in the case of ArmVirtXen and ArmVirtQemuKernel, drop ArmPlatformLib altogether. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
parent
dc1235c148
commit
77ca918281
@ -30,6 +30,9 @@
|
|||||||
[Includes.common]
|
[Includes.common]
|
||||||
Include # Root include for the package
|
Include # Root include for the package
|
||||||
|
|
||||||
|
[LibraryClasses]
|
||||||
|
ArmVirtMemInfoLib|Include/Library/ArmVirtMemInfoLib.h
|
||||||
|
|
||||||
[Guids.common]
|
[Guids.common]
|
||||||
gArmVirtTokenSpaceGuid = { 0x0B6F5CA7, 0x4F53, 0x445A, { 0xB7, 0x6E, 0x2E, 0x36, 0x5B, 0x80, 0x63, 0x66 } }
|
gArmVirtTokenSpaceGuid = { 0x0B6F5CA7, 0x4F53, 0x445A, { 0xB7, 0x6E, 0x2E, 0x36, 0x5B, 0x80, 0x63, 0x66 } }
|
||||||
gEarlyPL011BaseAddressGuid = { 0xB199DEA9, 0xFD5C, 0x4A84, { 0x80, 0x82, 0x2F, 0x41, 0x70, 0x78, 0x03, 0x05 } }
|
gEarlyPL011BaseAddressGuid = { 0xB199DEA9, 0xFD5C, 0x4A84, { 0x80, 0x82, 0x2F, 0x41, 0x70, 0x78, 0x03, 0x05 } }
|
||||||
|
41
ArmVirtPkg/Include/Library/ArmVirtMemInfoLib.h
Normal file
41
ArmVirtPkg/Include/Library/ArmVirtMemInfoLib.h
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
/** @file
|
||||||
|
|
||||||
|
Copyright (c) 2011-2013, ARM Limited. All rights reserved.
|
||||||
|
Copyright (c) 2017, Linaro, Ltd. All rights reserved.
|
||||||
|
|
||||||
|
This program and the accompanying materials are licensed and made available
|
||||||
|
under the terms and conditions of the BSD License which accompanies this
|
||||||
|
distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef _ARM_VIRT_MEMINFO_LIB_H_
|
||||||
|
#define _ARM_VIRT_MEMINFO_LIB_H_
|
||||||
|
|
||||||
|
#include <Base.h>
|
||||||
|
#include <Library/ArmLib.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
Return the Virtual Memory Map of your platform
|
||||||
|
|
||||||
|
This Virtual Memory Map is used by MemoryInitPei Module to initialize the MMU
|
||||||
|
on your platform.
|
||||||
|
|
||||||
|
@param[out] VirtualMemoryMap Array of ARM_MEMORY_REGION_DESCRIPTOR
|
||||||
|
describing a Physical-to-Virtual Memory
|
||||||
|
mapping. This array must be ended by a
|
||||||
|
zero-filled entry. The allocated memory
|
||||||
|
will not be freed.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
ArmVirtGetMemoryMap (
|
||||||
|
OUT ARM_MEMORY_REGION_DESCRIPTOR **VirtualMemoryMap
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif
|
Loading…
x
Reference in New Issue
Block a user