12345678910111213141516171819202122232425262728293031 |
- // See LICENSE for license details.
- #ifndef PLIC_H
- #define PLIC_H
- #include <sifive/const.h>
- // 32 bits per source
- #define PLIC_PRIORITY_OFFSET _AC(0x0000,UL)
- #define PLIC_PRIORITY_SHIFT_PER_SOURCE 2
- // 1 bit per source (1 address)
- #define PLIC_PENDING_OFFSET _AC(0x1000,UL)
- #define PLIC_PENDING_SHIFT_PER_SOURCE 0
- //0x80 per target
- #define PLIC_ENABLE_OFFSET _AC(0x2000,UL)
- #define PLIC_ENABLE_SHIFT_PER_TARGET 7
- #define PLIC_THRESHOLD_OFFSET _AC(0x200000,UL)
- #define PLIC_CLAIM_OFFSET _AC(0x200004,UL)
- #define PLIC_THRESHOLD_SHIFT_PER_TARGET 12
- #define PLIC_CLAIM_SHIFT_PER_TARGET 12
- #define PLIC_MAX_SOURCE 1023
- #define PLIC_SOURCE_MASK 0x3FF
- #define PLIC_MAX_TARGET 15871
- #define PLIC_TARGET_MASK 0x3FFF
- #endif /* PLIC_H */
|