summaryrefslogtreecommitdiff
path: root/include/sbi/sbi_platform.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sbi/sbi_platform.h')
-rw-r--r--include/sbi/sbi_platform.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h
index 6de52f6..00fadde 100644
--- a/include/sbi/sbi_platform.h
+++ b/include/sbi/sbi_platform.h
@@ -33,6 +33,7 @@ struct sbi_platform {
u64 features;
u32 hart_count;
u32 hart_stack_size;
+ u64 disabled_hart_mask;
int (*cold_early_init)(void);
int (*cold_final_init)(void);
int (*warm_early_init)(u32 target_hart);
@@ -83,6 +84,13 @@ static inline const char *sbi_platform_name(struct sbi_platform *plat)
return NULL;
}
+static inline bool sbi_platform_hart_disabled(struct sbi_platform *plat, u32 hartid)
+{
+ if (plat && (plat->disabled_hart_mask & (1 << hartid)))
+ return 1;
+ else
+ return 0;
+}
static inline u32 sbi_platform_hart_count(struct sbi_platform *plat)
{
if (plat)