audk/ArmPlatformPkg/Drivers
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
..
ArmTrustZone ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
LcdGraphicsOutputDxe ArmPlatformPkg/HdLcd: add missing LcdIdentify() 2015-09-04 10:02:43 +00:00
NorFlashDxe ArmPlatformPkg/NorFlashDxe: use strictly aligned CopyMem() 2016-09-09 13:48:49 +01:00
PL011Uart ArmPlatformPkg: Fix PL011 Glitches. 2016-06-15 16:17:10 +02:00
PL34xDmc ArmPlatformPkg: Rectify file modes 2016-02-02 11:42:31 +00:00
PL35xSmc ArmPlatformPkg: Rectify file modes 2016-02-02 11:42:31 +00:00
PL061GpioDxe ArmPlatformPkg: PL061: support multiple controller 2016-03-14 13:17:34 +00:00
PL180MciDxe ArmPlatformPkg/PL180MciDxe: don't check ID_REG3 2016-03-01 18:06:24 +00:00
PL301Axi ArmPlatformPkg: Rectify file modes 2016-02-02 11:42:31 +00:00
PL310L2Cache ArmPlatformPkg: Rectify file modes 2016-02-02 11:42:31 +00:00
SP804TimerDxe ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
SP805WatchdogDxe ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00