diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/sbi_utils/irqchip/plic.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/sbi_utils/irqchip/plic.h b/include/sbi_utils/irqchip/plic.h index 5da09055..cbe66761 100644 --- a/include/sbi_utils/irqchip/plic.h +++ b/include/sbi_utils/irqchip/plic.h @@ -21,6 +21,8 @@ struct plic_data { /** Work around a bug on Ariane that requires enabling interrupts at boot */ #define PLIC_FLAG_ARIANE_BUG BIT(0) +/** PLIC must be delegated to S-mode like T-HEAD C906 and C910 */ +#define PLIC_FLAG_THEAD_DELEGATION BIT(1) /* So far, priorities on all consumers of these functions fit in 8 bits. */ void plic_priority_save(const struct plic_data *plic, u8 *priority, u32 num); @@ -28,6 +30,8 @@ void plic_priority_save(const struct plic_data *plic, u8 *priority, u32 num); void plic_priority_restore(const struct plic_data *plic, const u8 *priority, u32 num); +void plic_delegate(const struct plic_data *plic); + void plic_context_save(const struct plic_data *plic, int context_id, u32 *enable, u32 *threshold, u32 num); |
