summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/Kconfig1
-rw-r--r--arch/arm/Kconfig2
-rw-r--r--arch/sandbox/include/asm/io.h16
3 files changed, 9 insertions, 10 deletions
diff --git a/arch/Kconfig b/arch/Kconfig
index 7e05e0c2263..3133f892f94 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -202,7 +202,6 @@ config SANDBOX
select DM_SPI
select DM_SPI_FLASH
select GZIP_COMPRESSED
- select IO_TRACE
select LZO
select MMC
select MTD
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4965a6d05db..bdb0d47b2ac 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -445,7 +445,7 @@ config ARCH_CPU_INIT
config SYS_ARCH_TIMER
bool "ARM Generic Timer support"
- depends on CPU_V7A || ARM64
+ depends on CPU_V7A || CPU_V7M || ARM64
default y if ARM64
help
The ARM Generic Timer (aka arch-timer) provides an architected
diff --git a/arch/sandbox/include/asm/io.h b/arch/sandbox/include/asm/io.h
index cd3f5d6fd40..e3034b9c703 100644
--- a/arch/sandbox/include/asm/io.h
+++ b/arch/sandbox/include/asm/io.h
@@ -44,17 +44,17 @@ phys_addr_t map_to_sysmem(const void *ptr);
unsigned long sandbox_read(const void *addr, enum sandboxio_size_t size);
void sandbox_write(void *addr, unsigned int val, enum sandboxio_size_t size);
-#define readb(addr) sandbox_read((const void *)addr, SB_SIZE_8)
-#define readw(addr) sandbox_read((const void *)addr, SB_SIZE_16)
-#define readl(addr) sandbox_read((const void *)addr, SB_SIZE_32)
+#define readb(addr) ({ u8 __v = sandbox_read((const void *)addr, SB_SIZE_8); __v; })
+#define readw(addr) ({ u16 __v = sandbox_read((const void *)addr, SB_SIZE_16); __v; })
+#define readl(addr) ({ u32 __v = sandbox_read((const void *)addr, SB_SIZE_32); __v; })
#ifdef CONFIG_64BIT
-#define readq(addr) sandbox_read((const void *)addr, SB_SIZE_64)
+#define readq(addr) ({ u64 __v = sandbox_read((const void *)addr, SB_SIZE_64); __v; })
#endif
-#define writeb(v, addr) sandbox_write((void *)addr, v, SB_SIZE_8)
-#define writew(v, addr) sandbox_write((void *)addr, v, SB_SIZE_16)
-#define writel(v, addr) sandbox_write((void *)addr, v, SB_SIZE_32)
+#define writeb(v, addr) ({ u8 __v = v; sandbox_write((void *)addr, __v, SB_SIZE_8); __v; })
+#define writew(v, addr) ({ u16 __v = v; sandbox_write((void *)addr, __v, SB_SIZE_16); __v; })
+#define writel(v, addr) ({ u32 __v = v; sandbox_write((void *)addr, __v, SB_SIZE_32); __v; })
#ifdef CONFIG_64BIT
-#define writeq(v, addr) sandbox_write((void *)addr, v, SB_SIZE_64)
+#define writeq(v, addr) ({ u64 __v = v; sandbox_write((void *)addr, __v, SB_SIZE_64); __v; })
#endif
#define readb_relaxed readb