aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Zhao <jerryz123@berkeley.edu>2023-12-07 14:25:45 -0800
committerJerry Zhao <jerryz123@berkeley.edu>2023-12-08 18:05:28 -0800
commit0ee120bfae308850e78e51b548e4a83df5f9f840 (patch)
treecea1447c38ca0f610a20fc3ea691f6776d92d09c
parentae889cb8493a1e31fcbbcb303cf6a7df05fad537 (diff)
downloadspike-0ee120bfae308850e78e51b548e4a83df5f9f840.zip
spike-0ee120bfae308850e78e51b548e4a83df5f9f840.tar.gz
spike-0ee120bfae308850e78e51b548e4a83df5f9f840.tar.bz2
Add cfg_t default constructor with default settings
-rw-r--r--riscv/cfg.cc21
-rw-r--r--riscv/cfg.h1
2 files changed, 22 insertions, 0 deletions
diff --git a/riscv/cfg.cc b/riscv/cfg.cc
index 457aa92..d105eb5 100644
--- a/riscv/cfg.cc
+++ b/riscv/cfg.cc
@@ -3,6 +3,8 @@
#include "cfg.h"
#include "mmu.h"
#include "decode.h"
+#include "encoding.h"
+#include "platform.h"
mem_cfg_t::mem_cfg_t(reg_t base, reg_t size) : base(base), size(size)
{
@@ -25,3 +27,22 @@ bool mem_cfg_t::check_if_supported(reg_t base, reg_t size)
(size > 0) &&
((base + size > base) || (base + size == 0));
}
+
+cfg_t::cfg_t()
+{
+ // The default system configuration
+ initrd_bounds = std::make_pair((reg_t)0, (reg_t)0);
+ bootargs = nullptr;
+ isa = DEFAULT_ISA;
+ priv = DEFAULT_PRIV;
+ varch = DEFAULT_VARCH;
+ misaligned = false;
+ endianness = endianness_little;
+ pmpregions = 16;
+ pmpgranularity = (1 << PMP_SHIFT);
+ mem_layout = std::vector<mem_cfg_t>({mem_cfg_t(reg_t(DRAM_BASE), (size_t)2048 << 20)});
+ hartids = std::vector<size_t>({0});
+ explicit_hartids = false;
+ real_time_clint = false;
+ trigger_count = 4;
+}
diff --git a/riscv/cfg.h b/riscv/cfg.h
index 82d902e..2e556dc 100644
--- a/riscv/cfg.h
+++ b/riscv/cfg.h
@@ -88,6 +88,7 @@ public:
real_time_clint(default_real_time_clint),
trigger_count(default_trigger_count)
{}
+ cfg_t();
std::pair<reg_t, reg_t> initrd_bounds;
const char * bootargs;