diff options
author | Robert Morris <[email protected]> | 2019-06-05 14:05:46 -0400 |
---|---|---|
committer | Robert Morris <[email protected]> | 2019-06-05 14:05:46 -0400 |
commit | 31136437684b5987ef46f4c6947940cf96de75b3 (patch) | |
tree | 3c89b1f0e12bbddbf307259326ecb5f763ba6e09 /memlayout.h | |
parent | f1a727b971a59bab6025b4c4111342c27356ca40 (diff) | |
download | xv6-labs-31136437684b5987ef46f4c6947940cf96de75b3.tar.gz xv6-labs-31136437684b5987ef46f4c6947940cf96de75b3.tar.bz2 xv6-labs-31136437684b5987ef46f4c6947940cf96de75b3.zip |
spinlocks using gcc intrinsics
push_off() / pop_off()
set up per-hart plic stuff so all harts get device interrupts
Diffstat (limited to 'memlayout.h')
-rw-r--r-- | memlayout.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/memlayout.h b/memlayout.h index 9c9cfdb..462986c 100644 --- a/memlayout.h +++ b/memlayout.h @@ -28,6 +28,14 @@ // qemu puts programmable interrupt controller here. #define PLIC 0x0c000000L +#define PLIC_PRIORITY (PLIC + 0x0) +#define PLIC_PENDING (PLIC + 0x1000) +#define PLIC_MENABLE(hart) (PLIC + 0x2000 + (hart)*0x100) +#define PLIC_SENABLE(hart) (PLIC + 0x2080 + (hart)*0x100) +#define PLIC_MPRIORITY(hart) (PLIC + 0x200000 + (hart)*0x2000) +#define PLIC_SPRIORITY(hart) (PLIC + 0x201000 + (hart)*0x2000) +#define PLIC_MCLAIM(hart) (PLIC + 0x200004 + (hart)*0x2000) +#define PLIC_SCLAIM(hart) (PLIC + 0x201004 + (hart)*0x2000) #define RAMDISK 0x88000000L |