* [PATCHv2 1/2] RISC-V: Stop warning about Zabha and Zacas
@ 2026-01-07 21:30 Ben Dooks
2026-01-07 21:30 ` [PATCHv2 2/2] RISC-V: restart extension search on match Ben Dooks
0 siblings, 1 reply; 2+ messages in thread
From: Ben Dooks @ 2026-01-07 21:30 UTC (permalink / raw)
To: linux-sparse; +Cc: sparse, Ben Dooks, Paul Walmsley
The zabha (atomic byte and halfword) and zacas (atomic compare/swap)
are now being used by the kernel, so parse these and stop the warnings
when running make C=1 on current kernels.
WARNING: invalid argument to '-march': '_zacas_zabha'
Tested-by: Paul Walmsley <pjw@kernel.org>
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
---
target-riscv.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/target-riscv.c b/target-riscv.c
index d30be04b..80c25285 100644
--- a/target-riscv.c
+++ b/target-riscv.c
@@ -22,6 +22,8 @@
#define RISCV_ZICBOM (1 << 12)
#define RISCV_ZIHINTPAUSE (1 << 13)
#define RISCV_VECTOR (1 << 14)
+#define RISCV_ATOMIC_CAS (1 << 15)
+#define RISCV_ATOMIC_BH (1 << 16)
static unsigned int riscv_flags;
@@ -43,6 +45,8 @@ static void parse_march_riscv(const char *arg)
{ "d", RISCV_DOUBLE|RISCV_FDIV|RISCV_ZICSR },
{ "c", RISCV_COMP },
{ "v", RISCV_VECTOR|RISCV_FPU|RISCV_ZICSR },
+ { "_zacas", RISCV_ATOMIC_CAS },
+ { "_zabha", RISCV_ATOMIC_BH },
{ "_zicsr", RISCV_ZICSR },
{ "_zifencei", RISCV_ZIFENCEI },
{ "_zicbom", RISCV_ZICBOM },
--
2.37.2.352.g3c44437643
^ permalink raw reply related [flat|nested] 2+ messages in thread* [PATCHv2 2/2] RISC-V: restart extension search on match
2026-01-07 21:30 [PATCHv2 1/2] RISC-V: Stop warning about Zabha and Zacas Ben Dooks
@ 2026-01-07 21:30 ` Ben Dooks
0 siblings, 0 replies; 2+ messages in thread
From: Ben Dooks @ 2026-01-07 21:30 UTC (permalink / raw)
To: linux-sparse; +Cc: sparse, Ben Dooks, Paul Walmsley
If we are passed multiple extensions in -march, don't assume these will
be in any sort of order. If we do match, then restart the loop by setting
the search back to 0, and retrying.
This sorts out issues with the current kernel build where there are now
lots of extensions for the rv64i and even adding zacas doesn't silence the
warnings generated.
Tested-by: Paul Walmsley <pjw@kernel.org>
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
---
v2:
- fixed accidental whitespace change.
---
target-riscv.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/target-riscv.c b/target-riscv.c
index 80c25285..cd6104b2 100644
--- a/target-riscv.c
+++ b/target-riscv.c
@@ -80,6 +80,7 @@ ext:
if (!strncmp(arg, pat, len)) {
riscv_flags |= extensions[i].flags;
arg += len;
+ i = 0;
}
}
if (arg[0])
--
2.37.2.352.g3c44437643
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-01-07 21:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-07 21:30 [PATCHv2 1/2] RISC-V: Stop warning about Zabha and Zacas Ben Dooks
2026-01-07 21:30 ` [PATCHv2 2/2] RISC-V: restart extension search on match Ben Dooks
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox