From 669089c5f291f5543db1c46e8d6b04ffe49e9576 Mon Sep 17 00:00:00 2001 From: Anup Patel Date: Wed, 5 Jul 2023 12:15:56 +0530 Subject: [PATCH] lib: sbi: Add Zihpm as a HART ISA extension Recently ratified Zihpm ISA extension covers all [m]hpm* CSRs so we add Zihpm as a HART ISA extension in OpenSBI. Signed-off-by: Anup Patel Reviewed-by: Xiang W --- include/sbi/sbi_hart.h | 2 ++ lib/sbi/sbi_hart.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/include/sbi/sbi_hart.h b/include/sbi/sbi_hart.h index d48940d..938248f 100644 --- a/include/sbi/sbi_hart.h +++ b/include/sbi/sbi_hart.h @@ -36,6 +36,8 @@ enum sbi_hart_extensions { SBI_HART_EXT_SMSTATEEN, /** HART has Sstc extension */ SBI_HART_EXT_SSTC, + /** HART has Zihpm extension */ + SBI_HART_EXT_ZIHPM, /** Maximum index of Hart extension */ SBI_HART_EXT_MAX, diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c index c470482..ff6f582 100644 --- a/lib/sbi/sbi_hart.c +++ b/lib/sbi/sbi_hart.c @@ -453,6 +453,9 @@ static inline char *sbi_hart_extension_id2string(int ext) case SBI_HART_EXT_SMSTATEEN: estr = "smstateen"; break; + case SBI_HART_EXT_ZIHPM: + estr = "zihpm"; + break; default: break; } @@ -706,6 +709,11 @@ __mhpm_skip: if (rc) return rc; + /* Extensions implied by other extensions and features */ + if (hfeatures->mhpm_count) + __sbi_hart_update_extension(hfeatures, + SBI_HART_EXT_ZIHPM, true); + /* Mark hart feature detection done */ hfeatures->detected = true;