[PATCH v4 1/5] lib: sbi: do platform-specific extension population earlier
Heiko Stuebner
heiko at sntech.de
Mon Sep 26 03:16:03 PDT 2022
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
More information about the opensbi
mailing list