File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -57,14 +57,10 @@ ${coreDef.name.toLowerCase()}::${coreDef.name.toLowerCase()}() = default;
5757${coreDef.name.toLowerCase()}::~${coreDef.name.toLowerCase()}() = default;
5858
5959void ${coreDef.name.toLowerCase()}::reset(uint64 _t address) {
60- auto base_ptr = reinterpret_cast<traits<${coreDef.name.toLowerCase()}>::reg_t* >(get_regs_base_ptr());
61- for(size_t i=0 ; i<traits<${coreDef.name.toLowerCase()}>::NUM_REGS; ++i)
62- * (base_ptr+i)=0 ;
60+ std::memset(®, 0 , sizeof(reg));
6361 reg.PC=address;
6462 reg.NEXT_PC=reg.PC;
6563 reg.PRIV=0 x3 ;
66- reg.trap_state=0 ;
67- reg.icount=0 ;
6864}
6965
7066uint8 _t * ${coreDef.name.toLowerCase()}::get_regs_base_ptr() {
Original file line number Diff line number Diff line change @@ -50,14 +50,10 @@ rv32gc::rv32gc() = default;
5050rv32gc::~rv32gc () = default ;
5151
5252void rv32gc::reset (uint64_t address) {
53- auto base_ptr = reinterpret_cast <traits<rv32gc>::reg_t *>(get_regs_base_ptr ());
54- for (size_t i=0 ; i<traits<rv32gc>::NUM_REGS ; ++i)
55- *(base_ptr+i)=0 ;
53+ std::memset (®, 0 , sizeof (reg));
5654 reg.PC =address;
5755 reg.NEXT_PC =reg.PC ;
5856 reg.PRIV =0x3 ;
59- reg.trap_state =0 ;
60- reg.icount =0 ;
6157}
6258
6359uint8_t *rv32gc::get_regs_base_ptr () {
Original file line number Diff line number Diff line change @@ -50,14 +50,10 @@ rv32gcv::rv32gcv() = default;
5050rv32gcv::~rv32gcv () = default ;
5151
5252void rv32gcv::reset (uint64_t address) {
53- auto base_ptr = reinterpret_cast <traits<rv32gcv>::reg_t *>(get_regs_base_ptr ());
54- for (size_t i=0 ; i<traits<rv32gcv>::NUM_REGS ; ++i)
55- *(base_ptr+i)=0 ;
53+ std::memset (®, 0 , sizeof (reg));
5654 reg.PC =address;
5755 reg.NEXT_PC =reg.PC ;
5856 reg.PRIV =0x3 ;
59- reg.trap_state =0 ;
60- reg.icount =0 ;
6157}
6258
6359uint8_t *rv32gcv::get_regs_base_ptr () {
Original file line number Diff line number Diff line change @@ -50,14 +50,10 @@ rv32i::rv32i() = default;
5050rv32i::~rv32i () = default ;
5151
5252void rv32i::reset (uint64_t address) {
53- auto base_ptr = reinterpret_cast <traits<rv32i>::reg_t *>(get_regs_base_ptr ());
54- for (size_t i=0 ; i<traits<rv32i>::NUM_REGS ; ++i)
55- *(base_ptr+i)=0 ;
53+ std::memset (®, 0 , sizeof (reg));
5654 reg.PC =address;
5755 reg.NEXT_PC =reg.PC ;
5856 reg.PRIV =0x3 ;
59- reg.trap_state =0 ;
60- reg.icount =0 ;
6157}
6258
6359uint8_t *rv32i::get_regs_base_ptr () {
Original file line number Diff line number Diff line change @@ -50,14 +50,10 @@ rv32imac::rv32imac() = default;
5050rv32imac::~rv32imac () = default ;
5151
5252void rv32imac::reset (uint64_t address) {
53- auto base_ptr = reinterpret_cast <traits<rv32imac>::reg_t *>(get_regs_base_ptr ());
54- for (size_t i=0 ; i<traits<rv32imac>::NUM_REGS ; ++i)
55- *(base_ptr+i)=0 ;
53+ std::memset (®, 0 , sizeof (reg));
5654 reg.PC =address;
5755 reg.NEXT_PC =reg.PC ;
5856 reg.PRIV =0x3 ;
59- reg.trap_state =0 ;
60- reg.icount =0 ;
6157}
6258
6359uint8_t *rv32imac::get_regs_base_ptr () {
Original file line number Diff line number Diff line change @@ -50,14 +50,10 @@ rv64gc::rv64gc() = default;
5050rv64gc::~rv64gc () = default ;
5151
5252void rv64gc::reset (uint64_t address) {
53- auto base_ptr = reinterpret_cast <traits<rv64gc>::reg_t *>(get_regs_base_ptr ());
54- for (size_t i=0 ; i<traits<rv64gc>::NUM_REGS ; ++i)
55- *(base_ptr+i)=0 ;
53+ std::memset (®, 0 , sizeof (reg));
5654 reg.PC =address;
5755 reg.NEXT_PC =reg.PC ;
5856 reg.PRIV =0x3 ;
59- reg.trap_state =0 ;
60- reg.icount =0 ;
6157}
6258
6359uint8_t *rv64gc::get_regs_base_ptr () {
Original file line number Diff line number Diff line change @@ -50,14 +50,10 @@ rv64gcv::rv64gcv() = default;
5050rv64gcv::~rv64gcv () = default ;
5151
5252void rv64gcv::reset (uint64_t address) {
53- auto base_ptr = reinterpret_cast <traits<rv64gcv>::reg_t *>(get_regs_base_ptr ());
54- for (size_t i=0 ; i<traits<rv64gcv>::NUM_REGS ; ++i)
55- *(base_ptr+i)=0 ;
53+ std::memset (®, 0 , sizeof (reg));
5654 reg.PC =address;
5755 reg.NEXT_PC =reg.PC ;
5856 reg.PRIV =0x3 ;
59- reg.trap_state =0 ;
60- reg.icount =0 ;
6157}
6258
6359uint8_t *rv64gcv::get_regs_base_ptr () {
Original file line number Diff line number Diff line change @@ -50,14 +50,10 @@ rv64i::rv64i() = default;
5050rv64i::~rv64i () = default ;
5151
5252void rv64i::reset (uint64_t address) {
53- auto base_ptr = reinterpret_cast <traits<rv64i>::reg_t *>(get_regs_base_ptr ());
54- for (size_t i=0 ; i<traits<rv64i>::NUM_REGS ; ++i)
55- *(base_ptr+i)=0 ;
53+ std::memset (®, 0 , sizeof (reg));
5654 reg.PC =address;
5755 reg.NEXT_PC =reg.PC ;
5856 reg.PRIV =0x3 ;
59- reg.trap_state =0 ;
60- reg.icount =0 ;
6157}
6258
6359uint8_t *rv64i::get_regs_base_ptr () {
Original file line number Diff line number Diff line change @@ -50,14 +50,10 @@ rv64imac::rv64imac() = default;
5050rv64imac::~rv64imac () = default ;
5151
5252void rv64imac::reset (uint64_t address) {
53- auto base_ptr = reinterpret_cast <traits<rv64imac>::reg_t *>(get_regs_base_ptr ());
54- for (size_t i=0 ; i<traits<rv64imac>::NUM_REGS ; ++i)
55- *(base_ptr+i)=0 ;
53+ std::memset (®, 0 , sizeof (reg));
5654 reg.PC =address;
5755 reg.NEXT_PC =reg.PC ;
5856 reg.PRIV =0x3 ;
59- reg.trap_state =0 ;
60- reg.icount =0 ;
6157}
6258
6359uint8_t *rv64imac::get_regs_base_ptr () {
You can’t perform that action at this time.
0 commit comments