diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2014-09-16 00:41:45 +0000 |
---|---|---|
committer | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2014-09-16 00:41:45 +0000 |
commit | 2efbf710e27a78494cef38673b85ed360ec3b600 (patch) | |
tree | 816af70a2c25e834865066a6fb9ba76c47ac4655 /ArmPlatformPkg/Drivers/NorFlashDxe | |
parent | 438f3ad68f53b372dfbe9ef324d3f51bfd48ca53 (diff) | |
download | edk2-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.c | 2 |
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
|