[coreboot-gerrit] Patch set updated for coreboot: 25167ad arm: Fix memory barrier usage in IO operation
Gabe Black (gabeblack@chromium.org)
gerrit at coreboot.org
Wed Jul 10 14:31:46 CEST 2013
Gabe Black (gabeblack at chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3682
-gerrit
commit 25167adbe20ee78bfd4adaaf30abb54f4cb668d9
Author: Hung-Te Lin <hungte at chromium.org>
Date: Wed Jun 12 15:01:56 2013 -0700
arm: Fix memory barrier usage in IO operation
The dmb should be executed before reading operations, and before/after writing
operations.
Change-Id: I572136a2f9a07eb2c38a112f5deeb2de0c0fd46c
Signed-off-by: Hung-Te Lin <hungte at chromium.org>
Signed-off-by: Gabe Black <gabeblack at chromium.org>
---
src/arch/armv7/include/arch/io.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/arch/armv7/include/arch/io.h b/src/arch/armv7/include/arch/io.h
index b4932dc..be1da51 100644
--- a/src/arch/armv7/include/arch/io.h
+++ b/src/arch/armv7/include/arch/io.h
@@ -29,41 +29,41 @@
static inline uint8_t read8(const void *addr)
{
- uint8_t v = *(volatile uint8_t *)addr;
dmb();
- return v;
+ return *(volatile uint8_t *)addr;
}
static inline uint16_t read16(const void *addr)
{
- uint16_t v = *(volatile uint16_t *)addr;
dmb();
- return v;
+ return *(volatile uint16_t *)addr;
}
static inline uint32_t read32(const void *addr)
{
- uint32_t v = *(volatile uint32_t *)addr;
dmb();
- return v;
+ return *(volatile uint32_t *)addr;
}
static inline void write8(uint8_t val, const void *addr)
{
dmb();
*(volatile uint8_t *)addr = val;
+ dmb();
}
static inline void write16(uint16_t val, const void *addr)
{
dmb();
*(volatile uint16_t *)addr = val;
+ dmb();
}
static inline void write32(uint32_t val, const void *addr)
{
dmb();
*(volatile uint32_t *)addr = val;
+ dmb();
}
/*
More information about the coreboot-gerrit
mailing list