| Message ID | 20250708074940.10904-7-nick.hu@sifive.com |
|---|---|
| State | Changes Requested |
| Headers | show |
| Series | Add SiFive TMC0 and SMC0 driver | expand |
On Tue, Jul 8, 2025 at 1:20 PM Nick Hu <nick.hu@sifive.com> wrote: > > Using ISA string "xsfcflushdlone" to detect the support of the > SiFive L1D cache flush custom instruction. > > Signed-off-by: Nick Hu <nick.hu@sifive.com> > Reviewed-by: Cyan Yang <cyan.yang@sifive.com> > --- > include/sbi/sbi_hart.h | 2 ++ > lib/sbi/sbi_hart.c | 1 + > 2 files changed, 3 insertions(+) > > diff --git a/include/sbi/sbi_hart.h b/include/sbi/sbi_hart.h > index dfbe8e4c..567e0130 100644 > --- a/include/sbi/sbi_hart.h > +++ b/include/sbi/sbi_hart.h > @@ -81,6 +81,8 @@ enum sbi_hart_extensions { > SBI_HART_EXT_SSCTR, > /** HART has Ssstateen extension **/ > SBI_HART_EXT_SSSTATEEN, > + /** Hart has Xsfcflushdlone extension */ > + SBI_HART_EXT_XSF_CFLUSH_D_L1, s/SBI_HART_EXT_XSF_CFLUSH_D_L1/SBI_HART_EXT_XSIFIVE_CFLUSH_D_L1/ > > /** Maximum index of Hart extension */ > SBI_HART_EXT_MAX, > diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c > index 054a405c..e91e1123 100644 > --- a/lib/sbi/sbi_hart.c > +++ b/lib/sbi/sbi_hart.c > @@ -715,6 +715,7 @@ const struct sbi_hart_ext_data sbi_hart_ext[] = { > __SBI_HART_EXT_DATA(smctr, SBI_HART_EXT_SMCTR), > __SBI_HART_EXT_DATA(ssctr, SBI_HART_EXT_SSCTR), > __SBI_HART_EXT_DATA(ssstateen, SBI_HART_EXT_SSSTATEEN), > + __SBI_HART_EXT_DATA(xsfcflushdlone, SBI_HART_EXT_XSF_CFLUSH_D_L1), > }; > > _Static_assert(SBI_HART_EXT_MAX == array_size(sbi_hart_ext), > -- > 2.17.1 > Regards, Anup
diff --git a/include/sbi/sbi_hart.h b/include/sbi/sbi_hart.h index dfbe8e4c..567e0130 100644 --- a/include/sbi/sbi_hart.h +++ b/include/sbi/sbi_hart.h @@ -81,6 +81,8 @@ enum sbi_hart_extensions { SBI_HART_EXT_SSCTR, /** HART has Ssstateen extension **/ SBI_HART_EXT_SSSTATEEN, + /** Hart has Xsfcflushdlone extension */ + SBI_HART_EXT_XSF_CFLUSH_D_L1, /** Maximum index of Hart extension */ SBI_HART_EXT_MAX, diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c index 054a405c..e91e1123 100644 --- a/lib/sbi/sbi_hart.c +++ b/lib/sbi/sbi_hart.c @@ -715,6 +715,7 @@ const struct sbi_hart_ext_data sbi_hart_ext[] = { __SBI_HART_EXT_DATA(smctr, SBI_HART_EXT_SMCTR), __SBI_HART_EXT_DATA(ssctr, SBI_HART_EXT_SSCTR), __SBI_HART_EXT_DATA(ssstateen, SBI_HART_EXT_SSSTATEEN), + __SBI_HART_EXT_DATA(xsfcflushdlone, SBI_HART_EXT_XSF_CFLUSH_D_L1), }; _Static_assert(SBI_HART_EXT_MAX == array_size(sbi_hart_ext),