[PATCH 2/4] lib: sbi: Add Zihpm as a HART ISA extension
Anup Patel
apatel at ventanamicro.com
Wed Jul 5 21:09:51 PDT 2023
On Wed, Jul 5, 2023 at 8:36 PM Xiang W <wxjstz at 126.com> wrote:
>
> 在 2023-07-05星期三的 17:28 +0530,Anup Patel写道:
> > 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 <apatel at ventanamicro.com>
> > ---
> > include/sbi/sbi_hart.h | 2 ++
> > lib/sbi/sbi_hart.c | 6 ++++++
> > 2 files changed, 8 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..435771c 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;
> > }
> > @@ -637,6 +640,9 @@ __pmp_skip:
> > */
> >
> > __mhpm_skip:
> > + if (hfeatures->mhpm_count)
> > + __sbi_hart_update_extension(hfeatures,
> > + SBI_HART_EXT_ZIHPM, true);
> allwinner D1 sets mhpm_count in sbi_platform_extensions_init. We should
> call __sbi_hart_update_extension again in the code of D1.
Ahh, yes. I forgot about D1. Good catch.
We should set SBI_HART_EXT_ZIHPM in hart_detect_features()
after calling sbi_platform_extensions_init().
I will update this in v2.
Regards,
Anup
>
> Regards,
> Xiang W
> >
> > #undef __check_csr_64
> > #undef __check_csr_32
> > --
> > 2.34.1
> >
> >
>
More information about the opensbi
mailing list