diff options
Diffstat (limited to 'src/arch/riscv/bare_metal/system.cc')
-rw-r--r-- | src/arch/riscv/bare_metal/system.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/arch/riscv/bare_metal/system.cc b/src/arch/riscv/bare_metal/system.cc index 44e14e5ce..8d4ea414d 100644 --- a/src/arch/riscv/bare_metal/system.cc +++ b/src/arch/riscv/bare_metal/system.cc @@ -30,6 +30,7 @@ #include "arch/riscv/bare_metal/system.hh" +#include "arch/riscv/faults.hh" #include "base/loader/object_file.hh" BareMetalRiscvSystem::BareMetalRiscvSystem(Params *p) @@ -54,6 +55,11 @@ BareMetalRiscvSystem::initState() // Call the initialisation of the super class RiscvSystem::initState(); + for (auto *tc: threadContexts) { + RiscvISA::Reset().invoke(tc); + tc->activate(); + } + // load program sections into memory if (!bootloader->buildImage().write(physProxy)) { warn("could not load sections to memory"); |