aboutsummaryrefslogtreecommitdiff
path: root/riscv
diff options
context:
space:
mode:
authorYunsup Lee <yunsup@cs.berkeley.edu>2013-10-16 14:11:18 -0700
committerYunsup Lee <yunsup@cs.berkeley.edu>2013-10-16 14:11:25 -0700
commit2f1f9a4fbc7bc45cf277b6a0d8d7d825efdbbb33 (patch)
tree011db868b8d0d030b498cbb8a71e590e4b01cba4 /riscv
parentcabb915003e68d3db8dc058460d1936fac432956 (diff)
downloadspike-2f1f9a4fbc7bc45cf277b6a0d8d7d825efdbbb33.zip
spike-2f1f9a4fbc7bc45cf277b6a0d8d7d825efdbbb33.tar.gz
spike-2f1f9a4fbc7bc45cf277b6a0d8d7d825efdbbb33.tar.bz2
revamp hwacha; now runs in physical mode
Diffstat (limited to 'riscv')
-rw-r--r--riscv/extension.cc1
-rw-r--r--riscv/insns/cflush.h1
-rw-r--r--riscv/insns/fence_v_g.h0
-rw-r--r--riscv/insns/fence_v_l.h0
-rw-r--r--riscv/riscv.mk.in1
-rw-r--r--riscv/rocc.cc6
-rw-r--r--riscv/rocc.h6
-rw-r--r--riscv/spike.cc1
8 files changed, 9 insertions, 7 deletions
diff --git a/riscv/extension.cc b/riscv/extension.cc
index 718ef6d..c6e1ec3 100644
--- a/riscv/extension.cc
+++ b/riscv/extension.cc
@@ -1,6 +1,7 @@
#include "extension.h"
#include "trap.h"
#include "dummy-rocc.h"
+#include "hwacha.h"
std::map<std::string, std::function<extension_t*()>>& extensions()
{
diff --git a/riscv/insns/cflush.h b/riscv/insns/cflush.h
deleted file mode 100644
index 5117ca0..0000000
--- a/riscv/insns/cflush.h
+++ /dev/null
@@ -1 +0,0 @@
-require_supervisor;
diff --git a/riscv/insns/fence_v_g.h b/riscv/insns/fence_v_g.h
deleted file mode 100644
index e69de29..0000000
--- a/riscv/insns/fence_v_g.h
+++ /dev/null
diff --git a/riscv/insns/fence_v_l.h b/riscv/insns/fence_v_l.h
deleted file mode 100644
index e69de29..0000000
--- a/riscv/insns/fence_v_l.h
+++ /dev/null
diff --git a/riscv/riscv.mk.in b/riscv/riscv.mk.in
index fc2982e..3c4480a 100644
--- a/riscv/riscv.mk.in
+++ b/riscv/riscv.mk.in
@@ -4,6 +4,7 @@ get_opcode = $(shell grep \\\<$(2)\\\> $(1) | sed 's/DECLARE_INSN(.*,\(.*\),.*)/
riscv_subproject_deps = \
softfloat_riscv \
softfloat \
+ hwacha \
riscv_install_prog_srcs = \
spike.cc \
diff --git a/riscv/rocc.cc b/riscv/rocc.cc
index 2354f9f..fe221ca 100644
--- a/riscv/rocc.cc
+++ b/riscv/rocc.cc
@@ -2,12 +2,6 @@
#include "trap.h"
#include <cstdlib>
-union rocc_insn_union_t
-{
- rocc_insn_t r;
- insn_t i;
-};
-
#define customX(n) \
static reg_t c##n(processor_t* p, insn_t insn, reg_t pc) \
{ \
diff --git a/riscv/rocc.h b/riscv/rocc.h
index 13980bb..e4148ec 100644
--- a/riscv/rocc.h
+++ b/riscv/rocc.h
@@ -15,6 +15,12 @@ struct rocc_insn_t
unsigned funct : 7;
};
+union rocc_insn_union_t
+{
+ rocc_insn_t r;
+ insn_t i;
+};
+
class rocc_t : public extension_t
{
public:
diff --git a/riscv/spike.cc b/riscv/spike.cc
index 0ab1616..fb2b7da 100644
--- a/riscv/spike.cc
+++ b/riscv/spike.cc
@@ -23,6 +23,7 @@ static void help()
fprintf(stderr, " --ic=<S>:<W>:<B> Instantiate a cache model with S sets,\n");
fprintf(stderr, " --dc=<S>:<W>:<B> W ways, and B-byte blocks (with S and\n");
fprintf(stderr, " --l2=<S>:<W>:<B> B both powers of 2).\n");
+ fprintf(stderr, " --extension=<name> Specify RoCC Extension\n");
exit(1);
}