Require little-endian host
authorAndrew Waterman <andrew@sifive.com>
Thu, 23 Mar 2017 20:24:10 +0000 (13:24 -0700)
committerAndrew Waterman <andrew@sifive.com>
Thu, 23 Mar 2017 20:24:10 +0000 (13:24 -0700)
riscv/decode.h
riscv/encoding.h

index d82767deecacd61879b56925773b843980dee5c9..061b5b6249271152537fc2a4d299e17b5523c8a0 100644 (file)
@@ -7,6 +7,10 @@
 # error spike requires a two''s-complement c++ implementation
 #endif
 
+#ifdef WORDS_BIGENDIAN
+# error spike requires a little-endian host
+#endif
+
 #include <cstdint>
 #include <string.h>
 #include <strings.h>
index 3923bffa818e08ddae19d3a89d73215587940be4..a7066b7bf7e723123663541cd39ecb483c13ccff 100644 (file)
 #define SPTBR_MODE_SV57 10
 #define SPTBR_MODE_SV64 11
 
+#define PMP_R     0x01
+#define PMP_W     0x02
+#define PMP_X     0x04
+#define PMP_M     0x08
+#define PMP_NAPOT 0x10
+#define PMP_TOR   0x20
+#define PMP_EN    0x40
+#define PMP_LOCK  0x80
+#define PMP_SHIFT 2
+
 #define IRQ_S_SOFT   1
 #define IRQ_H_SOFT   2
 #define IRQ_M_SOFT   3