audk/ArmPlatformPkg
Ard Biesheuvel bdb10148fc ArmPlatformPkg/NorFlashDxe: use strictly aligned CopyMem()
The UEFI spec stipulates that unaligned accesses should be enabled
on CPUs that support them, which means all of them, given that we
no longer support pre-v7 ARM cores, and the AARCH64 bindings mandate
support for unaligned accesses unconditionally.

This means that one should not assume that CopyMem () is safe to call
on regions that may be mapped using device attributes, which is the
case for the NOR flash. Since we have no control over the mappings when
running under the OS, and given that write accesses require device
mappings, we should not call CopyMem () in the read path either, but
use our own implementation that is guaranteed to take alignment into
account.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2016-09-09 13:48:49 +01:00
..
ArmJunoPkg ArmPlatformPkg: remove EFI_MEMORY_UC attribute from normal memory 2016-09-08 10:35:33 +01:00
ArmVExpressPkg ArmPlatformPkg: remove EFI_MEMORY_UC attribute from normal memory 2016-09-08 10:35:33 +01:00
Bds ArmPlatformPkg/Bds: Early Console Initialization 2016-02-09 18:23:57 +00:00
Documentation ArmPlatformPkg: Rectify file modes 2016-02-02 11:42:31 +00:00
Drivers ArmPlatformPkg/NorFlashDxe: use strictly aligned CopyMem() 2016-09-09 13:48:49 +01:00
FileSystem/BootMonFs ArmPlatformPkg: Fixed builds after some ShellPkg libraries have moved 2015-01-13 18:58:00 +00:00
Include ArmPlatformPkg: Add support to configure PL011 UART clock 2016-06-15 16:15:50 +02:00
Library ArmPkg ArmPlatformPkg ArmVirtPkg: ARM GICv2/v3 Base Address width fix-up 2016-09-08 09:16:01 +01:00
MemoryInitPei ArmPlatformPkg: remove EFI_MEMORY_UC attribute from normal memory 2016-09-08 10:35:33 +01:00
PlatformPei ArmPlatformPkg: Rectify file modes 2016-02-02 11:42:31 +00:00
PrePeiCore ArmPkg ArmPlatformPkg ArmVirtPkg: ARM GICv2/v3 Base Address width fix-up 2016-09-08 09:16:01 +01:00
PrePi ArmPkg ArmPlatformPkg ArmVirtPkg: ARM GICv2/v3 Base Address width fix-up 2016-09-08 09:16:01 +01:00
Scripts ArmPlatformPkg/DS-5: fix 64-bit PE/COFF header parsing bug 2016-04-18 10:18:14 +02:00
ArmPlatformPkg.dec ArmPlatformPkg: change PcdBdsLinuxSupport default value 2016-08-04 14:32:19 +01:00
Contributions.txt */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
License.txt ArmPlatformPkg: Rectify file modes 2016-02-02 11:42:31 +00:00