Revert "[arch][arm64][mmio] add 'Z' to the mmio write accessor inline asm"
Sadly this doesn't really work in all situations and only happens to
work with gcc + binutils for 32bit accesses, presumably because gnu as
replaces a literal 0 with wzr.
Clang doesn't understand it at all.
This reverts commit 6c14941dec.
This commit is contained in:
@@ -39,11 +39,11 @@
|
||||
})
|
||||
|
||||
#define _ARCH_MMIO_WRITE8(addr, val) \
|
||||
__asm__ volatile("strb %w1, %0" : "=m"(*(addr)) : "Zr"(val) : "memory")
|
||||
__asm__ volatile("strb %w1, %0" : "=m"(*(addr)) : "r"(val) : "memory")
|
||||
#define _ARCH_MMIO_WRITE16(addr, val) \
|
||||
__asm__ volatile("strh %w1, %0" : "=m"(*(addr)): "Zr"(val) : "memory")
|
||||
__asm__ volatile("strh %w1, %0" : "=m"(*(addr)): "r"(val) : "memory")
|
||||
#define _ARCH_MMIO_WRITE32(addr, val) \
|
||||
__asm__ volatile("str %w1, %0" : "=m"(*(addr)) : "Zr"(val) : "memory")
|
||||
__asm__ volatile("str %w1, %0" : "=m"(*(addr)) : "r"(val) : "memory")
|
||||
#define _ARCH_MMIO_WRITE64(addr, val) \
|
||||
__asm__ volatile("str %1, %0" : "=m"(*(addr)) : "Zr"(val) : "memory")
|
||||
__asm__ volatile("str %1, %0" : "=m"(*(addr)) : "r"(val) : "memory")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user