/* * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2022 Samuel Holland */ #ifndef __IRQCHIP_FDT_IRQCHIP_PLIC_H__ #define __IRQCHIP_FDT_IRQCHIP_PLIC_H__ #include /** * Save the PLIC priority state * @param priority pointer to the memory region for the saved priority * @param num size of the memory region including interrupt source 0 */ void fdt_plic_priority_save(u8 *priority, u32 num); /** * Restore the PLIC priority state * @param priority pointer to the memory region for the saved priority * @param num size of the memory region including interrupt source 0 */ void fdt_plic_priority_restore(const u8 *priority, u32 num); void fdt_plic_context_save(bool smode, u32 *enable, u32 *threshold, u32 num); void fdt_plic_context_restore(bool smode, const u32 *enable, u32 threshold, u32 num); void thead_plic_restore(void); #endif