Compare commits
2 Commits
250ea3c980
...
1cef7de8c7
Author | SHA1 | Date | |
---|---|---|---|
1cef7de8c7 | |||
e95f422aab |
@ -320,7 +320,7 @@ std::unique_ptr<vm_if> create<arch::${coreDef.name.toLowerCase()}>(arch::${coreD
|
|||||||
#include <iss/arch/riscv_hart_mu_p.h>
|
#include <iss/arch/riscv_hart_mu_p.h>
|
||||||
namespace iss {
|
namespace iss {
|
||||||
namespace {
|
namespace {
|
||||||
std::array<bool, 2> dummy = {
|
volatile std::array<bool, 2> dummy = {
|
||||||
core_factory::instance().register_creator("${coreDef.name.toLowerCase()}|m_p|interp", [](unsigned port, void*) -> std::tuple<cpu_ptr, vm_ptr>{
|
core_factory::instance().register_creator("${coreDef.name.toLowerCase()}|m_p|interp", [](unsigned port, void*) -> std::tuple<cpu_ptr, vm_ptr>{
|
||||||
auto* cpu = new iss::arch::riscv_hart_m_p<iss::arch::${coreDef.name.toLowerCase()}>();
|
auto* cpu = new iss::arch::riscv_hart_m_p<iss::arch::${coreDef.name.toLowerCase()}>();
|
||||||
auto vm = new interp::${coreDef.name.toLowerCase()}::vm_impl<arch::${coreDef.name.toLowerCase()}>(*cpu, false);
|
auto vm = new interp::${coreDef.name.toLowerCase()}::vm_impl<arch::${coreDef.name.toLowerCase()}>(*cpu, false);
|
||||||
@ -336,8 +336,3 @@ std::array<bool, 2> dummy = {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
extern "C" {
|
|
||||||
bool* get_${coreDef.name.toLowerCase()}_interp_creators() {
|
|
||||||
return iss::dummy.data();
|
|
||||||
}
|
|
||||||
}
|
|
@ -317,7 +317,7 @@ std::unique_ptr<vm_if> create<arch::${coreDef.name.toLowerCase()}>(arch::${coreD
|
|||||||
#include <iss/arch/riscv_hart_mu_p.h>
|
#include <iss/arch/riscv_hart_mu_p.h>
|
||||||
namespace iss {
|
namespace iss {
|
||||||
namespace {
|
namespace {
|
||||||
std::array<bool, 2> dummy = {
|
volatile std::array<bool, 2> dummy = {
|
||||||
core_factory::instance().register_creator("${coreDef.name.toLowerCase()}|m_p|tcc", [](unsigned port, void*) -> std::tuple<cpu_ptr, vm_ptr>{
|
core_factory::instance().register_creator("${coreDef.name.toLowerCase()}|m_p|tcc", [](unsigned port, void*) -> std::tuple<cpu_ptr, vm_ptr>{
|
||||||
auto* cpu = new iss::arch::riscv_hart_m_p<iss::arch::${coreDef.name.toLowerCase()}>();
|
auto* cpu = new iss::arch::riscv_hart_m_p<iss::arch::${coreDef.name.toLowerCase()}>();
|
||||||
auto vm = new tcc::${coreDef.name.toLowerCase()}::vm_impl<arch::${coreDef.name.toLowerCase()}>(*cpu, false);
|
auto vm = new tcc::${coreDef.name.toLowerCase()}::vm_impl<arch::${coreDef.name.toLowerCase()}>(*cpu, false);
|
||||||
@ -333,8 +333,3 @@ std::array<bool, 2> dummy = {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
extern "C" {
|
|
||||||
bool* get_${coreDef.name.toLowerCase()}_tcc_creators() {
|
|
||||||
return iss::dummy.data();
|
|
||||||
}
|
|
||||||
}
|
|
@ -88,7 +88,7 @@ public:
|
|||||||
if (sizeof(reg_t) != 4) return iss::Err;
|
if (sizeof(reg_t) != 4) return iss::Err;
|
||||||
val = static_cast<reg_t>(time_val >> 32);
|
val = static_cast<reg_t>(time_val >> 32);
|
||||||
}
|
}
|
||||||
return ret?Ok:Err;
|
return ret?iss::Ok:iss::Err;
|
||||||
#else
|
#else
|
||||||
if((addr==iss::arch::time || addr==iss::arch::timeh)){
|
if((addr==iss::arch::time || addr==iss::arch::timeh)){
|
||||||
uint64_t time_val = owner->mtime_i.read();
|
uint64_t time_val = owner->mtime_i.read();
|
||||||
@ -141,7 +141,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
sysc::tgfs::core_complex *const owner;
|
sysc::tgfs::core_complex *const owner;
|
||||||
sc_event wfi_evt;
|
sc_core::sc_event wfi_evt;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -2651,7 +2651,7 @@ std::unique_ptr<vm_if> create<arch::tgc_c>(arch::tgc_c *core, unsigned short por
|
|||||||
#include <iss/arch/riscv_hart_mu_p.h>
|
#include <iss/arch/riscv_hart_mu_p.h>
|
||||||
namespace iss {
|
namespace iss {
|
||||||
namespace {
|
namespace {
|
||||||
std::array<bool, 2> dummy = {
|
volatile std::array<bool, 2> dummy = {
|
||||||
core_factory::instance().register_creator("tgc_c|m_p|interp", [](unsigned port, void*) -> std::tuple<cpu_ptr, vm_ptr>{
|
core_factory::instance().register_creator("tgc_c|m_p|interp", [](unsigned port, void*) -> std::tuple<cpu_ptr, vm_ptr>{
|
||||||
auto* cpu = new iss::arch::riscv_hart_m_p<iss::arch::tgc_c>();
|
auto* cpu = new iss::arch::riscv_hart_m_p<iss::arch::tgc_c>();
|
||||||
auto vm = new interp::tgc_c::vm_impl<arch::tgc_c>(*cpu, false);
|
auto vm = new interp::tgc_c::vm_impl<arch::tgc_c>(*cpu, false);
|
||||||
@ -2667,8 +2667,4 @@ std::array<bool, 2> dummy = {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
extern "C" {
|
|
||||||
bool* get_tgc_c_interp_creators() {
|
|
||||||
return iss::dummy.data();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -3226,7 +3226,7 @@ std::unique_ptr<vm_if> create<arch::tgc_c>(arch::tgc_c *core, unsigned short por
|
|||||||
#include <iss/arch/riscv_hart_mu_p.h>
|
#include <iss/arch/riscv_hart_mu_p.h>
|
||||||
namespace iss {
|
namespace iss {
|
||||||
namespace {
|
namespace {
|
||||||
std::array<bool, 2> dummy = {
|
volatile std::array<bool, 2> dummy = {
|
||||||
core_factory::instance().register_creator("tgc_c|m_p|tcc", [](unsigned port, void*) -> std::tuple<cpu_ptr, vm_ptr>{
|
core_factory::instance().register_creator("tgc_c|m_p|tcc", [](unsigned port, void*) -> std::tuple<cpu_ptr, vm_ptr>{
|
||||||
auto* cpu = new iss::arch::riscv_hart_m_p<iss::arch::tgc_c>();
|
auto* cpu = new iss::arch::riscv_hart_m_p<iss::arch::tgc_c>();
|
||||||
auto vm = new tcc::tgc_c::vm_impl<arch::tgc_c>(*cpu, false);
|
auto vm = new tcc::tgc_c::vm_impl<arch::tgc_c>(*cpu, false);
|
||||||
@ -3242,8 +3242,3 @@ std::array<bool, 2> dummy = {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
extern "C" {
|
|
||||||
bool* get_tgc_c_tcc_creators() {
|
|
||||||
return iss::dummy.data();
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user