aboutsummaryrefslogtreecommitdiff
path: root/qtmips_cli/reporter.h
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2019-03-25 15:13:45 +0100
committerPavel Pisa <pisa@cmp.felk.cvut.cz>2019-03-25 15:13:45 +0100
commit3774592f02121ce749c1d5ac4210bd6772475305 (patch)
treef885e7a799093ca406d086e3a615f02d33334536 /qtmips_cli/reporter.h
parent8bf148e6860a36c6b9d50580cd8b82fa53ca8ee0 (diff)
downloadqtmips-3774592f02121ce749c1d5ac4210bd6772475305.tar.gz
qtmips-3774592f02121ce749c1d5ac4210bd6772475305.tar.bz2
qtmips-3774592f02121ce749c1d5ac4210bd6772475305.zip
qtmips_cli: add support for memory ranges load and dump.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_cli/reporter.h')
-rw-r--r--qtmips_cli/reporter.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/qtmips_cli/reporter.h b/qtmips_cli/reporter.h
index 2dfaea9..5359908 100644
--- a/qtmips_cli/reporter.h
+++ b/qtmips_cli/reporter.h
@@ -37,6 +37,8 @@
#define REPORTER_H
#include <QObject>
+#include <QVector>
+#include <QString>
#include <QCoreApplication>
#include "qtmipsmachine.h"
@@ -55,9 +57,15 @@ public:
FR_J = (1<<3), // Unaligned jump
};
static const enum FailReason FailAny = (enum FailReason)(FR_I | FR_A | FR_O | FR_J);
-
void expect_fail(enum FailReason reason);
+ struct DumpRange {
+ std::uint32_t start;
+ std::uint32_t len;
+ QString fname;
+ };
+ void add_dump_range(std::uint32_t start, std::uint32_t len, QString fname);
+
private slots:
void machine_exit();
void machine_trap(machine::QtMipsException &e);
@@ -66,6 +74,7 @@ private slots:
private:
QCoreApplication *app;
machine::QtMipsMachine *machine;
+ QVector<DumpRange> dump_ranges;
bool e_regs;
bool e_cache_stats;