diff options
Diffstat (limited to 'include/sbi/sbi_scratch.h')
-rw-r--r-- | include/sbi/sbi_scratch.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/sbi/sbi_scratch.h b/include/sbi/sbi_scratch.h index 1c85562..8960c02 100644 --- a/include/sbi/sbi_scratch.h +++ b/include/sbi/sbi_scratch.h @@ -103,6 +103,12 @@ void sbi_scratch_free_offset(unsigned long offset); #define sbi_scratch_thishart_offset_ptr(offset) \ ((void *)sbi_scratch_thishart_ptr() + (offset)) +typedef struct sbi_scratch *(*hartid2scratch)(ulong hartid); + +/** Get sbi_scratch from HART id */ +#define sbi_hart_id_to_scratch(__scratch, __hartid) \ + ((hartid2scratch)(__scratch)->hartid_to_scratch)(__hartid) + #endif #endif |