aboutsummaryrefslogtreecommitdiff
path: root/riscv/dts.cc
diff options
context:
space:
mode:
authorJerry Zhao <jerryz123@berkeley.edu>2022-10-14 11:31:21 -0700
committerAndrew Waterman <aswaterman@gmail.com>2022-10-14 15:37:39 -0700
commit7e8d1e6f29a0e6b9f8b1b65a88b5dc87c25a4f9a (patch)
treed57d96dac7923e5443029f2077c315f821e1dd0d /riscv/dts.cc
parent26c6795f2f72a369c5c192a5d53643b9558a2691 (diff)
downloadspike-7e8d1e6f29a0e6b9f8b1b65a88b5dc87c25a4f9a.zip
spike-7e8d1e6f29a0e6b9f8b1b65a88b5dc87c25a4f9a.tar.gz
spike-7e8d1e6f29a0e6b9f8b1b65a88b5dc87c25a4f9a.tar.bz2
Support command-line configuration of number of pmpregions
Diffstat (limited to 'riscv/dts.cc')
-rw-r--r--riscv/dts.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/riscv/dts.cc b/riscv/dts.cc
index 5d37463..9937d57 100644
--- a/riscv/dts.cc
+++ b/riscv/dts.cc
@@ -14,6 +14,7 @@
std::string make_dts(size_t insns_per_rtc_tick, size_t cpu_hz,
reg_t initrd_start, reg_t initrd_end,
const char* bootargs,
+ size_t pmpregions,
std::vector<processor_t*> procs,
std::vector<std::pair<reg_t, mem_t*>> mems)
{
@@ -57,7 +58,7 @@ std::string make_dts(size_t insns_per_rtc_tick, size_t cpu_hz,
" compatible = \"riscv\";\n"
" riscv,isa = \"" << procs[i]->get_isa().get_isa_string() << "\";\n"
" mmu-type = \"riscv," << (procs[i]->get_isa().get_max_xlen() <= 32 ? "sv32" : "sv57") << "\";\n"
- " riscv,pmpregions = <16>;\n"
+ " riscv,pmpregions = <" << pmpregions << ">;\n"
" riscv,pmpgranularity = <4>;\n"
" clock-frequency = <" << cpu_hz << ">;\n"
" CPU" << i << "_intc: interrupt-controller {\n"