summaryrefslogtreecommitdiff
path: root/arch/sandbox
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2025-07-01 12:42:57 -0600
committerTom Rini <trini@konsulko.com>2025-07-10 08:40:47 -0600
commit7faaa16a471b0b611685dd3872a057f1cb286262 (patch)
tree8b71ba84bd507e7e3bee5754284e13e26d7a60c7 /arch/sandbox
parentacf964c4758e2a60656a385f27dea0250fbbe7e6 (diff)
sandbox: Add some missing {clr,set,clrset}bits variants
Add the 16, 32 and 64bit versions of the non-endian {clr,set,clrset}bits macros. Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'arch/sandbox')
-rw-r--r--arch/sandbox/include/asm/io.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/sandbox/include/asm/io.h b/arch/sandbox/include/asm/io.h
index f656f361cd5..6e3f9547fee 100644
--- a/arch/sandbox/include/asm/io.h
+++ b/arch/sandbox/include/asm/io.h
@@ -74,7 +74,14 @@ void sandbox_write(void *addr, unsigned int val, enum sandboxio_size_t size);
#define in_be32(a) in_arch(l,be32,a)
#define in_be16(a) in_arch(w,be16,a)
+#define out_64(a,v) writeq(v,a)
+#define out_32(a,v) writel(v,a)
+#define out_16(a,v) writew(v,a)
#define out_8(a,v) writeb(v,a)
+
+#define in_64(a) readq(a)
+#define in_32(a) readl(a)
+#define in_16(a) readw(a)
#define in_8(a) readb(a)
#define clrbits(type, addr, clear) \
@@ -106,6 +113,18 @@ void sandbox_write(void *addr, unsigned int val, enum sandboxio_size_t size);
#define setbits_8(addr, set) setbits(8, addr, set)
#define clrsetbits_8(addr, clear, set) clrsetbits(8, addr, clear, set)
+#define clrbits_16(addr, clear) clrbits(16, addr, clear)
+#define setbits_16(addr, set) setbits(16, addr, set)
+#define clrsetbits_16(addr, clear, set) clrsetbits(16, addr, clear, set)
+
+#define clrbits_32(addr, clear) clrbits(32, addr, clear)
+#define setbits_32(addr, set) setbits(32, addr, set)
+#define clrsetbits_32(addr, clear, set) clrsetbits(32, addr, clear, set)
+
+#define clrbits_64(addr, clear) clrbits(64, addr, clear)
+#define setbits_64(addr, set) setbits(64, addr, set)
+#define clrsetbits_64(addr, clear, set) clrsetbits(64, addr, clear, set)
+
/* I/O access functions */
int _inl(unsigned int addr);
int _inw(unsigned int addr);