aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2024-08-27 16:55:43 -0700
committerAndrew Waterman <andrew@sifive.com>2024-08-27 16:55:43 -0700
commit16870946ed32d79b1eb4597d9266194b3b543c3f (patch)
treeec00ccfb1f3ea91b086bd192ea95e4061c0ef652
parenteb85c33899ea06a7011d857375282926243442dd (diff)
downloadriscv-isa-sim-16870946ed32d79b1eb4597d9266194b3b543c3f.zip
riscv-isa-sim-16870946ed32d79b1eb4597d9266194b3b543c3f.tar.gz
riscv-isa-sim-16870946ed32d79b1eb4597d9266194b3b543c3f.tar.bz2
Use create_mem_region for legacy -m argument
-rw-r--r--spike_main/spike.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/spike_main/spike.cc b/spike_main/spike.cc
index 14b02e7..4c09ac3 100644
--- a/spike_main/spike.cc
+++ b/spike_main/spike.cc
@@ -240,9 +240,9 @@ static std::vector<mem_cfg_t> parse_mem_layout(const char* arg)
auto mb = strtoull(arg, &p, 0);
if (*p == 0) {
reg_t size = reg_t(mb) << 20;
- if (size != (size_t)size)
- throw std::runtime_error("Size would overflow size_t");
- res.push_back(mem_cfg_t(reg_t(DRAM_BASE), size));
+ if ((size >> 20) != mb)
+ throw std::runtime_error("Memory size too large");
+ res.push_back(create_mem_region(DRAM_BASE, size));
return res;
}