summaryrefslogtreecommitdiff
path: root/platform/generic/include
diff options
context:
space:
mode:
authorHeiko Stuebner <[email protected]>2022-10-04 18:42:26 +0200
committerAnup Patel <[email protected]>2022-10-13 09:52:06 +0530
commit2f63f2465c42c64559e4f7b9d0183c2b47472019 (patch)
tree34b9a5443f2efa471e7dd530f62eebc6d07286d7 /platform/generic/include
parent4f2acb53e21af805e499f7f594a931af9b0623fd (diff)
platform: generic: add extensions_init handler and platform-override
Init of non-standard extensions is a platform-specific thing, so allow generic platforms to do this via a platform-override. Reviewed-by: Andrew Jones <[email protected]> Reviewed-by: Guo Ren <[email protected]> Reviewed-by: Anup Patel <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]>
Diffstat (limited to 'platform/generic/include')
-rw-r--r--platform/generic/include/platform_override.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/platform/generic/include/platform_override.h b/platform/generic/include/platform_override.h
index e55da251..7f1558dd 100644
--- a/platform/generic/include/platform_override.h
+++ b/platform/generic/include/platform_override.h
@@ -10,6 +10,7 @@
#ifndef __PLATFORM_OVERRIDE_H__
#define __PLATFORM_OVERRIDE_H__
+#include <sbi/sbi_hart.h>
#include <sbi/sbi_types.h>
#include <sbi/sbi_trap.h>
@@ -22,6 +23,8 @@ struct platform_override {
void (*early_exit)(const struct fdt_match *match);
void (*final_exit)(const struct fdt_match *match);
int (*fdt_fixup)(void *fdt, const struct fdt_match *match);
+ int (*extensions_init)(const struct fdt_match *match,
+ struct sbi_hart_features *hfeatures);
int (*vendor_ext_check)(long extid, const struct fdt_match *match);
int (*vendor_ext_provider)(long extid, long funcid,
const struct sbi_trap_regs *regs,