94904a84772cf4f5eeb85f6a4f8b3df790e4a5f4 |
|
27-Nov-2015 |
Ard Biesheuvel <ard.biesheuvel@linaro.org> |
ArmVirtPkg: drop ArmPlatformGlobalVariableLib dependency Now that all PeiServicesTablePointerLib and PrePiHobListPointerLib library dependencies in both ArmVirtQemu and ArmVirtXen are satisfied by implementations that do not depend on ArmPlatformGlobalVariableLib, we can remove all mention of it from the various .dsc files. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18986 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c
|
1dc3f34f61044a19573b1ecc507081bfcb075739 |
|
24-Nov-2015 |
Ard Biesheuvel <ard.biesheuvel@linaro.org> |
ArmVirtPkg/ArmVirtPlatformLib: reduce ID map size to GCD region size The ID mapping routines on virtual platforms simply map the entire hardware supported physical address space as device memory, and then punch some holes for regions that need to be mapped cacheable. On virtual platforms hosted on CPUs that support a large physical address range, this may result in a lot of overhead, i.e., 4 KB of page tables for each 512 GB of address space, which quickly adds up (i.e., 2 MB for the architectural maximum of 48 bits). Since there may be a platform specific limit to the size of the (I)PA space that is not reflected by CPU id registers, restrict the range of the ID mapping to gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize bits. This makes sense by itself, since we cannot manipulate mappings above that limit anwyay (because they are not covered by GCD), and it allows the PCD be set to a lower value by platforms whose (I)PA space is smaller than the hardware supported maximum. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Wei Huang <wei@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18929 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c
|
dca7f96fd246130cfa7ffa29aa81e0d956ed413b |
|
18-Nov-2015 |
Ard Biesheuvel <ard.biesheuvel@linaro.org> |
ArmVirtPkg/ArmVirtPlatformLib: map executable NOR region as normal memory The ARM architecture version 7 and later mandates that device mappings have the XN (non-executable) bit set, to prevent speculative instruction fetches from read-sensitive regions. This implies that we should not map regions as device if we want to execute from them, so the NOR region that contains our FD image should be mapped as normal memory instead. The MMU code deals correctly with overlapping ARM_MEMORY_REGION_DESCRIPTOR entries, and later entries in the array take precedence over earlier ones. So simply add an entry to the end of the array that overrides the mapping attributes of the FD image, wherever it resides. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18889 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c
|
7fbd1eb2312d3dfab2ac8cdfcefc234c73d8aeeb |
|
29-May-2015 |
Olivier Martin <olivier.martin@arm.com> |
Renamed ArmPlatformPkg/ArmVirtualizationPkg into ArmVirtPkg Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17537 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c
|