aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Zhao <jerryz123@berkeley.edu>2023-01-03 22:25:54 -0800
committerJerry Zhao <jerryz123@berkeley.edu>2023-01-04 11:02:13 -0800
commitc4e7c887280190b728c0cc5ee25d2984fe8b6058 (patch)
tree3aa4f01d26cf2a7fbcdd8fde5d8cd8b568393954
parent044fedabee8354b0c4cbe6fcf9769f1f85d61d48 (diff)
downloadspike-c4e7c887280190b728c0cc5ee25d2984fe8b6058.zip
spike-c4e7c887280190b728c0cc5ee25d2984fe8b6058.tar.gz
spike-c4e7c887280190b728c0cc5ee25d2984fe8b6058.tar.bz2
Add cfg_t field to enable PTE dirtying
-rw-r--r--ci-tests/testlib.c1
-rw-r--r--riscv/cfg.h3
-rw-r--r--spike_main/spike-log-parser.cc1
-rw-r--r--spike_main/spike.cc1
4 files changed, 6 insertions, 0 deletions
diff --git a/ci-tests/testlib.c b/ci-tests/testlib.c
index 5eac832..9aa6797 100644
--- a/ci-tests/testlib.c
+++ b/ci-tests/testlib.c
@@ -23,6 +23,7 @@ int main()
"vlen:128,elen:64",
false,
endianness_little,
+ false,
16,
mem_cfg,
hartids,
diff --git a/riscv/cfg.h b/riscv/cfg.h
index 1b09f65..e9eeeda 100644
--- a/riscv/cfg.h
+++ b/riscv/cfg.h
@@ -54,6 +54,7 @@ public:
const char *default_varch,
const bool default_misaligned,
const endianness_t default_endianness,
+ const bool default_dirty_enabled,
const reg_t default_pmpregions,
const std::vector<mem_cfg_t> &default_mem_layout,
const std::vector<int> default_hartids,
@@ -65,6 +66,7 @@ public:
varch(default_varch),
misaligned(default_misaligned),
endianness(default_endianness),
+ dirty_enabled(default_dirty_enabled),
pmpregions(default_pmpregions),
mem_layout(default_mem_layout),
hartids(default_hartids),
@@ -79,6 +81,7 @@ public:
cfg_arg_t<const char *> varch;
bool misaligned;
endianness_t endianness;
+ bool dirty_enabled;
reg_t pmpregions;
cfg_arg_t<std::vector<mem_cfg_t>> mem_layout;
std::optional<reg_t> start_pc;
diff --git a/spike_main/spike-log-parser.cc b/spike_main/spike-log-parser.cc
index 41642a6..dfdb117 100644
--- a/spike_main/spike-log-parser.cc
+++ b/spike_main/spike-log-parser.cc
@@ -35,6 +35,7 @@ int main(int UNUSED argc, char** argv)
/*default_varch=*/DEFAULT_VARCH,
/*default_misaligned=*/false,
/*default_endianness*/endianness_little,
+ /*default_dirty_enabled=*/false,
/*default_pmpregions=*/16,
/*default_mem_layout=*/std::vector<mem_cfg_t>(),
/*default_hartids=*/std::vector<int>(),
diff --git a/spike_main/spike.cc b/spike_main/spike.cc
index f517ad3..a9da535 100644
--- a/spike_main/spike.cc
+++ b/spike_main/spike.cc
@@ -330,6 +330,7 @@ int main(int argc, char** argv)
/*default_varch=*/DEFAULT_VARCH,
/*default_misaligned=*/false,
/*default_endianness*/endianness_little,
+ /*default_dirty_enabled*/false,
/*default_pmpregions=*/16,
/*default_mem_layout=*/parse_mem_layout("2048"),
/*default_hartids=*/std::vector<int>(),