32 lines
861 B
C
32 lines
861 B
C
// See LICENSE for license details.
|
|
|
|
#ifndef PLIC_H
|
|
#define PLIC_H
|
|
|
|
#include <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 */
|