diff --git a/src/main.cpp b/src/main.cpp index ac139d1..7a6711b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -49,6 +49,11 @@ using tgc_b_plat_type = iss::arch::riscv_hart_m_p; #include "iss/arch/tgc_d.h" using tgc_d_plat_type = iss::arch::riscv_hart_mu_p; #endif +#ifdef CORE_TGC_D_XRB_MAC +#include "iss/arch/riscv_hart_mu_p.h" +#include "iss/arch/tgc_d_xrb_mac.h" +using tgc_d_xrb_mac_plat_type = iss::arch::riscv_hart_mu_p; +#endif #ifdef WITH_LLVM #include #endif @@ -138,6 +143,12 @@ int main(int argc, char *argv[]) { std::tie(cpu, vm) = iss::create_cpu(clim["backend"].as(), clim["gdb-port"].as()); } else +#endif +#ifdef CORE_TGC_D_XRB_MAC + if (isa_opt == "tgc_d_xrb_mac") { + std::tie(cpu, vm) = + iss::create_cpu(clim["backend"].as(), clim["gdb-port"].as()); + } else #endif { LOG(ERROR) << "Illegal argument value for '--isa': " << clim["isa"].as() << std::endl; diff --git a/src/sysc/core_complex.cpp b/src/sysc/core_complex.cpp index 0e841ce..6b5e391 100644 --- a/src/sysc/core_complex.cpp +++ b/src/sysc/core_complex.cpp @@ -44,6 +44,11 @@ using tgc_c_plat_type = iss::arch::riscv_hart_m_p; #include "iss/arch/tgc_d.h" using tgc_d_plat_type = iss::arch::riscv_hart_mu_p; #endif +#ifdef CORE_TGC_D_XRB_MAC +#include "iss/arch/riscv_hart_mu_p.h" +#include "iss/arch/tgc_d_xrb_mac.h" +using tgc_d_xrb_mac_plat_type = iss::arch::riscv_hart_mu_p; +#endif #include "iss/debugger/encoderdecoder.h" #include "iss/debugger/gdb_session.h" #include "iss/debugger/server.h" @@ -285,6 +290,9 @@ public: #endif #ifdef CORE_TGC_D CREATE_CORE(tgc_d) +#endif +#ifdef CORE_TGC_D_XRB_MACD + CREATE_CORE(tgc_d_xrb_mac) #endif { LOG(ERROR) << "Illegal argument value for core type: " << type << std::endl;