// 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 */ |