diff options
author | Chih-Min Chao <chihmin.chao@sifive.com> | 2020-05-07 21:09:47 -0700 |
---|---|---|
committer | Chih-Min Chao <chihmin.chao@sifive.com> | 2020-05-13 22:08:50 -0700 |
commit | 7e75ab9f7417a1c31b1f97bd69a9683251b5224a (patch) | |
tree | ac38830cb4aa8a400a00375ea05c8f53086d5e19 /riscv/processor.cc | |
parent | 6fe796c4443749169a224358c62a2068d679126d (diff) | |
download | spike-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.cc | 5 |
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) |