From 14bd7728a658cd424cb05ef84ef76b88e4da2cc9 Mon Sep 17 00:00:00 2001 From: Travis Geiselbrecht Date: Sun, 2 Jun 2024 15:31:30 -0700 Subject: [PATCH] [arch][riscv][feature] add a few more feature bits These may be useful in the future. --- arch/riscv/feature.c | 8 ++++++++ arch/riscv/include/arch/riscv/feature.h | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/arch/riscv/feature.c b/arch/riscv/feature.c index 68d11252a..e516318d9 100644 --- a/arch/riscv/feature.c +++ b/arch/riscv/feature.c @@ -32,7 +32,11 @@ static void match_feature(const char *str, size_t start, size_t end) { { "zbb", RISCV_FEAT_ZBB }, { "zbc", RISCV_FEAT_ZBC }, { "zbs", RISCV_FEAT_ZBS }, + { "zicbom", RISCV_FEAT_ZICBOM }, + { "zicbop", RISCV_FEAT_ZICBOP }, + { "zicboz", RISCV_FEAT_ZICBOZ }, { "sstc", RISCV_FEAT_SSTC }, + { "svadu", RISCV_FEAT_SVADU }, { "zicsr", RISCV_FEAT_ZICSR }, { "zifencei", RISCV_FEAT_ZIFENCEI }, }; @@ -191,9 +195,13 @@ const char *riscv_feature_to_string(enum riscv_feature feature) { case RISCV_FEAT_ZBB: return "zbb"; case RISCV_FEAT_ZBC: return "zbc"; case RISCV_FEAT_ZBS: return "zbs"; + case RISCV_FEAT_ZICBOM: return "zicbom"; + case RISCV_FEAT_ZICBOP: return "zicbop"; + case RISCV_FEAT_ZICBOZ: return "zicboz"; case RISCV_FEAT_ZICSR: return "zicsr"; case RISCV_FEAT_ZIFENCEI: return "zifencei"; case RISCV_FEAT_SSTC: return "sstc"; + case RISCV_FEAT_SVADU: return "svadu"; // keep this in so the compiler warns if something is missing case RISCV_FEAT_COUNT: return ""; diff --git a/arch/riscv/include/arch/riscv/feature.h b/arch/riscv/include/arch/riscv/feature.h index 71f38c8f1..8cf086609 100644 --- a/arch/riscv/include/arch/riscv/feature.h +++ b/arch/riscv/include/arch/riscv/feature.h @@ -38,7 +38,11 @@ enum riscv_feature { RISCV_FEAT_ZBS, RISCV_FEAT_ZICSR, RISCV_FEAT_ZIFENCEI, + RISCV_FEAT_ZICBOM, + RISCV_FEAT_ZICBOP, + RISCV_FEAT_ZICBOZ, RISCV_FEAT_SSTC, + RISCV_FEAT_SVADU, RISCV_FEAT_COUNT };