[PATCH] lib: pmu: check SSCOF before masking
Anup Patel
anup at brainfault.org
Sat Dec 11 03:04:04 PST 2021
On Wed, Dec 8, 2021 at 5:21 PM Xiang W <wxjstz at 126.com> wrote:
>
> 在 2021-12-08星期三的 14:16 +0300,Nikita Shubin写道:
> > From: Nikita Shubin <n.shubin at yadro.com>
> >
> > We should check if SSCOF extension is present,
> > before applying inhibit mask and clearing overflow,
> > otherwise undesirable value can be written
> > in MHPMEVENT_N CSR.
> >
> > Signed-off-by: Nikita Shubin <n.shubin at yadro.com>
> Reviewed-by: Xiang W <wxjstz at 126.com>
Applied this patch to the riscv/opensbi repo.
Thanks,
Anup
> > ---
> > lib/sbi/sbi_pmu.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/lib/sbi/sbi_pmu.c b/lib/sbi/sbi_pmu.c
> > index 10668a3..5b845f8 100644
> > --- a/lib/sbi/sbi_pmu.c
> > +++ b/lib/sbi/sbi_pmu.c
> > @@ -467,7 +467,8 @@ static int pmu_update_hw_mhpmevent(struct
> > sbi_pmu_hw_event *hw_evt, int ctr_idx,
> > return SBI_EFAIL;
> >
> > /* Always clear the OVF bit and inhibit countin of events in
> > M-mode */
> > - mhpmevent_val = (mhpmevent_val & ~MHPMEVENT_SSCOF_MASK) |
> > MHPMEVENT_MINH;
> > + if (sbi_hart_has_feature(scratch, SBI_HART_HAS_SSCOFPMF))
> > + mhpmevent_val = (mhpmevent_val &
> > ~MHPMEVENT_SSCOF_MASK) | MHPMEVENT_MINH;
> >
> > /* Update the inhibit flags based on inhibit flags received
> > from supervisor */
> > pmu_update_inhibit_flags(flags, &mhpmevent_val);
> > --
> > 2.31.1
> >
> >
>
>
>
> --
> opensbi mailing list
> opensbi at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/opensbi
More information about the opensbi
mailing list