summaryrefslogtreecommitdiffstats
path: root/ArmPlatformPkg/Drivers/NorFlashDxe
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2014-09-16 00:41:45 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2014-09-16 00:41:45 +0000
commit2efbf710e27a78494cef38673b85ed360ec3b600 (patch)
tree816af70a2c25e834865066a6fb9ba76c47ac4655 /ArmPlatformPkg/Drivers/NorFlashDxe
parent438f3ad68f53b372dfbe9ef324d3f51bfd48ca53 (diff)
downloadedk2-2efbf710e27a78494cef38673b85ed360ec3b600.tar.gz
edk2-2efbf710e27a78494cef38673b85ed360ec3b600.tar.bz2
edk2-2efbf710e27a78494cef38673b85ed360ec3b600.zip
ArmPlatformPkg/NorFlashDxe: use MmioWrite () not memory stores
When writing to the flash, make sure to use MmioWrite () wrappers instead of letting the compiler generate the store instructions. This is needed because under virtualization, store instructions with multiple outputs (i.e., store pair or store with writeback) cannot be emulated efficiently when operating on MMIO ranges. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-By: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16107 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPlatformPkg/Drivers/NorFlashDxe')
-rw-r--r--ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c
index 5673d0bf29..2f828ec869 100644
--- a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c
+++ b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c
@@ -525,7 +525,7 @@ NorFlashWriteBuffer (
// Write the data to the NOR Flash, advancing each address by 4 bytes
for(Count=0; Count < BufferSizeInWords; Count++, Data++, Buffer++) {
- *Data = *Buffer;
+ MmioWrite32 ((UINTN)Data, *Buffer);
}
// Issue the Buffered Program Confirm command, to start the programming operation