[PATCH v4 1/5] lib: sbi: do platform-specific extension population earlier
Guo Ren
guoren at kernel.org
Mon Sep 26 16:15:01 PDT 2022
Acked-by: Guo Ren <guoren at kernel.org>
On Mon, Sep 26, 2022 at 6:16 PM Heiko Stuebner <heiko at sntech.de> wrote:
>
> Some of the more specific detections in hart_detect_features()
> might need to check platform-specific extensions so might need
> the platform-extensions being populated earlier.
>
> So move the call to sbi_platform_extensions_init() to an earlier
> place.
>
> Signed-off-by: Heiko Stuebner <heiko at sntech.de>
> ---
> lib/sbi/sbi_hart.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c
> index 1294868..9540e5c 100644
> --- a/lib/sbi/sbi_hart.c
> +++ b/lib/sbi/sbi_hart.c
> @@ -553,6 +553,11 @@ static int hart_detect_features(struct sbi_scratch *scratch)
> hfeatures->pmp_count = 0;
> hfeatures->mhpm_count = 0;
>
> + /* Let platform populate extensions */
> + rc = sbi_platform_extensions_init(sbi_platform_thishart_ptr());
> + if (rc)
> + return rc;
> +
> #define __check_csr(__csr, __rdonly, __wrval, __field, __skip) \
> oldval = csr_read_allowed(__csr, (ulong)&trap); \
> if (!trap.cause) { \
> @@ -681,11 +686,6 @@ __mhpm_skip:
> SBI_HART_EXT_SMSTATEEN, true);
> }
>
> - /* Let platform populate extensions */
> - rc = sbi_platform_extensions_init(sbi_platform_thishart_ptr());
> - if (rc)
> - return rc;
> -
> /* Mark hart feature detection done */
> hfeatures->detected = true;
>
> --
> 2.35.1
>
--
Best Regards
Guo Ren
More information about the opensbi
mailing list