[RFC PATCH] include: Adjust Sscofpmf mhpmevent mask for upper 8 bits
Atish Kumar Patra
atishp at rivosinc.com
Thu Aug 1 10:45:20 PDT 2024
On Thu, Aug 1, 2024 at 7:34 AM Anup Patel <anup at brainfault.org> wrote:
>
> On Tue, Jul 30, 2024 at 3:00 PM Eric Lin <eric.lin at sifive.com> wrote:
> >
> > Currently, OpenSBI reserves the upper 16 bits in mhpmevent for
> > the Sscofpmf extension.
> >
> > However, according to the Sscofpmf extension specification[1],
> > it only defines the upper 8 bits in mhpmevent for privilege mode
> > inhibit and counter overflow disable. Other bits are defined by
> > the platform for event selection.
> >
> > Since vendors might define raw event encoding exceeding 48 bits in
> > mhpmevent, we should adjust the MHPMEVENT_SSCOF_MASK to support it.
> >
> > Link: https://github.com/riscvarchive/riscv-count-overflow [1]
> > Signed-off-by: Eric Lin <eric.lin at sifive.com>
>
> Actually, only the upper 6 bits of mhpmevent CSR are defined as-per
> Sscofpmf in the integrated Priv spec.
>
That may be the result of an integration issue. I cross checked the
ratified spec
which had 8 bits allocated (56:57 are reserved). The Smcntrpmf extension in the
integrated spec also have 8 bits citing sscofpmf example. I have filed
an issue in isa manual repo for clarification
https://github.com/riscv/riscv-isa-manual/issues/1578
> I have updated this patch accordingly at the time of merging this patch.
>
> Reviewed-by: Anup Patel <anup at brainfault.org>
>
> Applied this patch to the riscv/opensbi repo.
>
> Thanks,
> Anup
>
> > ---
> > include/sbi/riscv_encoding.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/include/sbi/riscv_encoding.h b/include/sbi/riscv_encoding.h
> > index 477fa3a1..2ed05f24 100644
> > --- a/include/sbi/riscv_encoding.h
> > +++ b/include/sbi/riscv_encoding.h
> > @@ -207,7 +207,7 @@
> >
> > #endif
> >
> > -#define MHPMEVENT_SSCOF_MASK _ULL(0xFFFF000000000000)
> > +#define MHPMEVENT_SSCOF_MASK _ULL(0xFF00000000000000)
> >
> > #define ENVCFG_STCE (_ULL(1) << 63)
> > #define ENVCFG_PBMTE (_ULL(1) << 62)
> > --
> > 2.43.2
> >
More information about the opensbi
mailing list