[PATCH v3 4/9] platform: generic: add nanscent_init to platform_override
Chao-ying Fu
icebergfu at gmail.com
Thu Apr 10 15:45:30 PDT 2025
This allows generic platforms to override nascent_init.
Signed-off-by: Chao-ying Fu <cfu at mips.com>
---
platform/generic/include/platform_override.h | 1 +
platform/generic/platform.c | 6 +++++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/platform/generic/include/platform_override.h b/platform/generic/include/platform_override.h
index 946fb8f..8d63837 100644
--- a/platform/generic/include/platform_override.h
+++ b/platform/generic/include/platform_override.h
@@ -21,6 +21,7 @@ struct platform_override {
u64 (*tlbr_flush_limit)(const struct fdt_match *match);
u32 (*tlb_num_entries)(const struct fdt_match *match);
bool (*cold_boot_allowed)(u32 hartid, const struct fdt_match *match);
+ int (*nascent_init)(const struct fdt_match *match);
int (*early_init)(bool cold_boot, const void *fdt, const struct fdt_match *match);
int (*final_init)(bool cold_boot, void *fdt, const struct fdt_match *match);
void (*early_exit)(const struct fdt_match *match);
diff --git a/platform/generic/platform.c b/platform/generic/platform.c
index b2f29e8..b7e744b 100644
--- a/platform/generic/platform.c
+++ b/platform/generic/platform.c
@@ -238,7 +238,11 @@ static int generic_nascent_init(void)
{
if (platform_has_mlevel_imsic)
imsic_local_irqchip_init();
- return 0;
+
+ if (!generic_plat || !generic_plat->nascent_init)
+ return 0;
+
+ return generic_plat->nascent_init(generic_plat_match);
}
static int generic_early_init(bool cold_boot)
--
2.47.1
More information about the opensbi
mailing list