Skip to content

Commit 4ca2075

Browse files
authored
Merge pull request rivosinc#6 from mmichilot/main
Support for current Spike
2 parents 38f7f22 + 860b3ec commit 4ca2075

File tree

7 files changed

+13
-10
lines changed

7 files changed

+13
-10
lines changed

hammer.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ static std::vector<std::pair<reg_t, mem_t *>> make_mems(const std::vector<mem_cf
1616
std::vector<std::pair<reg_t, mem_t *>> mems;
1717
mems.reserve(layout.size());
1818
for (const auto &cfg : layout) {
19-
mems.push_back(std::make_pair(cfg.base, new mem_t(cfg.size)));
19+
mems.push_back(std::make_pair(cfg.get_base(), new mem_t(cfg.get_size())));
2020
}
2121
return mems;
2222
}
2323

2424
Hammer::Hammer(const char *isa, const char *privilege_levels, const char *vector_arch,
25-
std::vector<int> hart_ids, std::vector<mem_cfg_t> memory_layout,
25+
std::vector<size_t> hart_ids, std::vector<mem_cfg_t> memory_layout,
2626
const std::string target_binary, const std::optional<uint64_t> start_pc) {
2727
// Expose these only if needed
2828
std::vector<std::pair<reg_t, abstract_device_t *>> plugin_devices;
@@ -41,13 +41,16 @@ Hammer::Hammer(const char *isa, const char *privilege_levels, const char *vector
4141
std::pair<reg_t, reg_t> initrd_bounds{0, 0};
4242
const char *bootargs = nullptr;
4343
bool real_time_clint = false;
44+
bool misaligned = false;
45+
46+
reg_t trigger_count = 4;
4447

4548
reg_t num_pmpregions = 16;
4649

4750
endianness_t endinaness = endianness_little;
4851

49-
cfg_t cfg = cfg_t(initrd_bounds, bootargs, isa, privilege_levels, vector_arch, endinaness, num_pmpregions, memory_layout,
50-
hart_ids, real_time_clint);
52+
cfg_t cfg = cfg_t(initrd_bounds, bootargs, isa, privilege_levels, vector_arch, misaligned, endinaness, num_pmpregions, memory_layout,
53+
hart_ids, real_time_clint, trigger_count);
5154

5255
if (start_pc.has_value()) {
5356
cfg.start_pc = start_pc.value();

hammer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
class Hammer {
1414
public:
1515
Hammer(const char *isa, const char *privilege_levels, const char *vector_arch,
16-
std::vector<int> hart_ids, std::vector<mem_cfg_t> memory_layout,
16+
std::vector<size_t> hart_ids, std::vector<mem_cfg_t> memory_layout,
1717
const std::string target_binary, const std::optional<uint64_t> start_pc = std::nullopt);
1818
~Hammer();
1919

hammer_pybind.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ PYBIND11_MODULE(hammer, m) {
1515
pybind11::class_<mem_t>(m, "mem_t").def(pybind11::init<reg_t>());
1616

1717
pybind11::class_<Hammer>(m, "Hammer")
18-
.def(pybind11::init<const char *, const char *, const char *, std::vector<int>,
18+
.def(pybind11::init<const char *, const char *, const char *, std::vector<size_t>,
1919
std::vector<mem_cfg_t>, const std::string,
2020
const std::optional<uint64_t>>())
2121
.def("hello_world", &Hammer::hello_world)

tests/test000.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ int main(int argc, char *argv[]) {
1212
// This is what Spike sets it to
1313
memory_layout.push_back(mem_cfg_t(reg_t(DRAM_BASE), reg_t(2048) << 20));
1414

15-
std::vector<int> hart_ids{0};
15+
std::vector<size_t> hart_ids{0};
1616

1717
Hammer hammer = Hammer("RV64GCV", "MSU", "vlen:512,elen:32", hart_ids, memory_layout,
1818
target_binary, std::nullopt);

tests/test001.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ int main(int argc, char *argv[]) {
1212
// This is what Spike sets it to
1313
memory_layout.push_back(mem_cfg_t(reg_t(DRAM_BASE), reg_t(2048) << 20));
1414

15-
std::vector<int> hart_ids{0};
15+
std::vector<size_t> hart_ids{0};
1616

1717
Hammer hammer = Hammer("RV64GCV", "MSU", "vlen:512,elen:64", hart_ids, memory_layout,
1818
target_binary, std::nullopt);

tests/test002.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ int main(int argc, char *argv[]) {
1414
// This is what Spike sets it to
1515
memory_layout.push_back(mem_cfg_t(reg_t(DRAM_BASE), reg_t(2048) << 20));
1616

17-
std::vector<int> hart_ids{0};
17+
std::vector<size_t> hart_ids{0};
1818

1919
Hammer hammer = Hammer("RV64GCV", "MSU", "vlen:512,elen:64", hart_ids, memory_layout,
2020
target_binary, std::nullopt);

tests/test003.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ int main(int argc, char *argv[]) {
1515
std::vector<std::string> htif_args;
1616
htif_args.push_back(target_binary);
1717

18-
std::vector<int> hart_ids{0};
18+
std::vector<size_t> hart_ids{0};
1919

2020
Hammer hammer = Hammer("RV64GCV", "MSU", "vlen:512,elen:64", hart_ids, memory_layout,
2121
target_binary, std::nullopt);

0 commit comments

Comments
 (0)