New encoding.h for new CSR addresses.
authorTim Newsome <tim@sifive.com>
Tue, 24 May 2016 21:37:23 +0000 (14:37 -0700)
committerTim Newsome <tim@sifive.com>
Tue, 24 May 2016 21:37:23 +0000 (14:37 -0700)
debug_rom/debug_rom.S
debug_rom/debug_rom.h
riscv/encoding.h
tests/mprv.S

index e7547a0353e415169fed4181a5571d13f81fe121..9c32691d30ca54760193285faf546f9aff842895 100755 (executable)
@@ -64,7 +64,7 @@ check_halt:
 exit:
         # Restore s0.
         csrr    s0, CSR_DSCRATCH
-        .word   0x79200073      # TODO: dret
+        dret
 
 _entry:
         # Save s0 in DSCRATCH
index 20f54cd2610935616add3ee75ed0fb815494b002..a619446d18c9a975f5265d74fc7caa7e7998ea63 100644 (file)
@@ -5,15 +5,15 @@ static const unsigned char debug_rom_raw[] = {
   0x63, 0xc6, 0x04, 0x00, 0x83, 0x24, 0xc0, 0x43, 0x6f, 0x00, 0xc0, 0x01,
   0x93, 0x94, 0x14, 0x00, 0x63, 0xc6, 0x04, 0x00, 0x83, 0x34, 0x80, 0x43,
   0x6f, 0x00, 0xc0, 0x00, 0x13, 0x00, 0x00, 0x00, 0x23, 0x2e, 0x80, 0x42,
-  0x73, 0x24, 0x00, 0x79, 0x13, 0x74, 0x84, 0x00, 0x63, 0x04, 0x04, 0x00,
-  0x6f, 0x00, 0x80, 0x05, 0x73, 0x24, 0x20, 0x79, 0x73, 0x00, 0x20, 0x79,
-  0x73, 0x10, 0x24, 0x79, 0x73, 0x24, 0x00, 0x79, 0x13, 0x74, 0x04, 0x1c,
+  0x73, 0x24, 0x00, 0x7b, 0x13, 0x74, 0x84, 0x00, 0x63, 0x04, 0x04, 0x00,
+  0x6f, 0x00, 0x80, 0x05, 0x73, 0x24, 0x20, 0x7b, 0x73, 0x00, 0x20, 0x7b,
+  0x73, 0x10, 0x24, 0x7b, 0x73, 0x24, 0x00, 0x7b, 0x13, 0x74, 0x04, 0x1c,
   0x13, 0x04, 0xd4, 0xff, 0x63, 0x18, 0x04, 0x02, 0x0f, 0x10, 0x00, 0x00,
   0x73, 0x24, 0x00, 0xf1, 0x63, 0x46, 0x04, 0x00, 0x23, 0x2e, 0x90, 0x42,
   0x67, 0x00, 0x00, 0x40, 0x13, 0x14, 0x14, 0x00, 0x63, 0x46, 0x04, 0x00,
   0x23, 0x3c, 0x90, 0x42, 0x67, 0x00, 0x00, 0x40, 0x13, 0x00, 0x00, 0x00,
   0x67, 0x00, 0x00, 0x40, 0x73, 0x24, 0x40, 0xf1, 0x23, 0x20, 0x80, 0x10,
-  0x73, 0x60, 0x04, 0x79, 0x73, 0x24, 0x00, 0x79, 0x13, 0x74, 0x04, 0x02,
+  0x73, 0x60, 0x04, 0x7b, 0x73, 0x24, 0x00, 0x7b, 0x13, 0x74, 0x04, 0x02,
   0xe3, 0x0c, 0x04, 0xfe, 0x6f, 0xf0, 0xdf, 0xfb
 };
 static const unsigned int debug_rom_raw_len = 188;
index 0f1926a402e46eae5f62efd5441255f4a5b9c3d5..1d5fb0d618c7ebcf2d6350ad5ee9c85648940036 100644 (file)
 #define MASK_HRET  0xffffffff
 #define MATCH_MRET 0x30200073
 #define MASK_MRET  0xffffffff
-#define MATCH_DRET 0x79200073
+#define MATCH_DRET 0x7b200073
 #define MASK_DRET  0xffffffff
 #define MATCH_SFENCE_VM 0x10400073
 #define MASK_SFENCE_VM  0xfff07fff
 #define CSR_MSCYCLE_DELTA 0x704
 #define CSR_MSTIME_DELTA 0x705
 #define CSR_MSINSTRET_DELTA 0x706
-#define CSR_DCSR 0x790
-#define CSR_DPC 0x791
-#define CSR_DSCRATCH 0x792
+#define CSR_DCSR 0x7b0
+#define CSR_DPC 0x7b1
+#define CSR_DSCRATCH 0x7b2
 #define CSR_MCYCLE 0xf00
 #define CSR_MTIME 0xf01
 #define CSR_MINSTRET 0xf02
index 36d01048bbbc50f85fb52b32187459d702a896ba..df346b3504ddc291ed3282424b2a0278c9a64f5f 100644 (file)
@@ -21,7 +21,7 @@ _start:
         csrw    CSR_MEPC, t0
 
         # Exit supervisor mode, entering user mode at loop.
-        .word   0x30200073      # TODO: mret
+        mret
 
 loop:
         la      t0, data