[xcc, sim, pk] link register is now x1
authorAndrew Waterman <waterman@s144.Millennium.Berkeley.EDU>
Tue, 2 Nov 2010 23:00:37 +0000 (16:00 -0700)
committerAndrew Waterman <waterman@s144.Millennium.Berkeley.EDU>
Mon, 22 Nov 2010 00:54:33 +0000 (16:54 -0800)
riscv/insns/jal.h
riscv/sim.cc

index 7995b15b7dc21a705b19ff63ba3439db3253a90c..7a7030714119227236c993fbf31909a8bef128db 100644 (file)
@@ -1,2 +1,2 @@
-R[31] = npc;
+R[1] = npc;
 npc = JUMP_TARGET;
index ca10e0942ac31d9ae33cf117f6fb901df0367394..8b04aa2c005f1a941069ffc92c28c345863e92a6 100644 (file)
@@ -225,6 +225,9 @@ reg_t sim_t::get_mem(const std::vector<std::string>& args)
     throw trap_illegal_instruction;
 
   reg_t addr = strtol(args[0].c_str(),NULL,16), val;
+  if(addr == LONG_MAX)
+    addr = strtoul(args[0].c_str(),NULL,16);
+
   mmu_t mmu(mem,memsz);
   switch(addr % 8)
   {
@@ -257,6 +260,8 @@ void sim_t::interactive_until(const std::string& cmd, const std::vector<std::str
 
   std::string scmd = args[0];
   reg_t val = strtol(args[args.size()-1].c_str(),NULL,16);
+  if(val == LONG_MAX)
+    val = strtoul(args[args.size()-1].c_str(),NULL,16);
   
   std::vector<std::string> args2;
   args2 = std::vector<std::string>(args.begin()+1,args.end()-1);