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:
Travis Geiselbrecht
2024-06-01 14:59:53 -07:00
parent 0e25214ed8
commit 479f7fb9b7

View File

@@ -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")