aboutsummaryrefslogtreecommitdiff
path: root/riscv/processor.cc
diff options
context:
space:
mode:
authorChih-Min Chao <chihmin.chao@sifive.com>2020-05-07 21:09:47 -0700
committerChih-Min Chao <chihmin.chao@sifive.com>2020-05-13 22:08:50 -0700
commit7e75ab9f7417a1c31b1f97bd69a9683251b5224a (patch)
treeac38830cb4aa8a400a00375ea05c8f53086d5e19 /riscv/processor.cc
parent6fe796c4443749169a224358c62a2068d679126d (diff)
downloadspike-7e75ab9f7417a1c31b1f97bd69a9683251b5224a.zip
spike-7e75ab9f7417a1c31b1f97bd69a9683251b5224a.tar.gz
spike-7e75ab9f7417a1c31b1f97bd69a9683251b5224a.tar.bz2
rvv: amo pre-0.9
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
Diffstat (limited to 'riscv/processor.cc')
-rw-r--r--riscv/processor.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/riscv/processor.cc b/riscv/processor.cc
index d5cbc98..b0da161 100644
--- a/riscv/processor.cc
+++ b/riscv/processor.cc
@@ -272,6 +272,8 @@ void processor_t::parse_isa_string(const char* str)
auto ext_str = std::string(ext, end - ext);
if (ext_str == "zfh") {
extension_table[EXT_ZFH] = true;
+ } else if (ext_str == "zvamo") {
+ extension_table[EXT_ZVAMO] = true;
} else {
sprintf(error_msg, "unsupported extension '%s'", ext_str.c_str());
bad_isa_string(str, error_msg);
@@ -297,6 +299,9 @@ void processor_t::parse_isa_string(const char* str)
if (supports_extension('Q') && !supports_extension('D'))
bad_isa_string(str, "'Q' extension requires 'D'");
+
+ if (supports_extension(EXT_ZVAMO) && !supports_extension('V'))
+ bad_isa_string(str, "'Zvamo' extension requires 'V'");
}
void state_t::reset(reg_t max_isa)