aboutsummaryrefslogtreecommitdiff
path: root/spike_dasm/spike-dasm.cc
diff options
context:
space:
mode:
Diffstat (limited to 'spike_dasm/spike-dasm.cc')
-rw-r--r--spike_dasm/spike-dasm.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/spike_dasm/spike-dasm.cc b/spike_dasm/spike-dasm.cc
index 3e42df5..a093297 100644
--- a/spike_dasm/spike-dasm.cc
+++ b/spike_dasm/spike-dasm.cc
@@ -6,9 +6,9 @@
// enclosed hexadecimal number, interpreted as a RISC-V
// instruction.
-#include "config.h"
#include "disasm.h"
#include "extension.h"
+#include "platform.h"
#include <iostream>
#include <string>
#include <cstdint>
@@ -19,6 +19,7 @@ int main(int UNUSED argc, char** argv)
{
string s;
const char* isa = DEFAULT_ISA;
+ bool strict = false;
std::function<extension_t*()> extension;
option_parser_t parser;
@@ -26,10 +27,11 @@ int main(int UNUSED argc, char** argv)
parser.option(0, "extension", 1, [&](const char* s){extension = find_extension(s);});
#endif
parser.option(0, "isa", 1, [&](const char* s){isa = s;});
+ parser.option(0, "strict", 0, [&](const char UNUSED *s){strict = true;});
parser.parse(argv);
isa_parser_t isa_parser(isa, DEFAULT_PRIV);
- disassembler_t* disassembler = new disassembler_t(&isa_parser);
+ disassembler_t* disassembler = new disassembler_t(&isa_parser, strict);
if (extension) {
for (auto disasm_insn : extension()->get_disasms()) {
disassembler->add_insn(disasm_insn);