diff options
Diffstat (limited to 'arch/sandbox')
-rw-r--r-- | arch/sandbox/cpu/cpu.c | 17 | ||||
-rw-r--r-- | arch/sandbox/include/asm/io.h | 16 |
2 files changed, 25 insertions, 8 deletions
diff --git a/arch/sandbox/cpu/cpu.c b/arch/sandbox/cpu/cpu.c index 6db8739e66b..b8fabd07d0b 100644 --- a/arch/sandbox/cpu/cpu.c +++ b/arch/sandbox/cpu/cpu.c @@ -335,6 +335,10 @@ int dcache_status(void) return 1; } +void flush_dcache_all(void) +{ +} + void flush_dcache_range(unsigned long start, unsigned long stop) { } @@ -343,6 +347,19 @@ void invalidate_dcache_range(unsigned long start, unsigned long stop) { } +void icache_enable(void) +{ +} + +void icache_disable(void) +{ +} + +int icache_status(void) +{ + return 1; +} + /** * setup_auto_tree() - Set up a basic device tree to allow sandbox to work * 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 |