changed pointer by reference
This commit is contained in:
		
							parent
							
								
									5caf1b77c8
								
							
						
					
					
						commit
						f7c9f47c3f
					
				|  | @ -89,7 +89,7 @@ public: | |||
| 	bool Exec_A_AMOMINU() const; | ||||
| 	bool Exec_A_AMOMAXU() const; | ||||
| 
 | ||||
| 	bool process_instruction(Instruction *inst); | ||||
| 	bool process_instruction(Instruction &inst); | ||||
| 
 | ||||
| 	void TLB_reserve(std::uint32_t address); | ||||
| 	bool TLB_reserved(std::uint32_t address); | ||||
|  |  | |||
|  | @ -336,7 +336,7 @@ public: | |||
| 	 * @param  inst instruction to execute | ||||
| 	 * @return  true if PC is affected by instruction | ||||
| 	 */ | ||||
| 	bool process_instruction(Instruction *inst, bool *breakpoint = nullptr); | ||||
| 	bool process_instruction(Instruction &inst, bool *breakpoint = nullptr); | ||||
| 
 | ||||
| 	/**
 | ||||
| 	 * @brief Decodes opcode of instruction | ||||
|  |  | |||
|  | @ -405,7 +405,7 @@ public: | |||
| 	bool Exec_C_JAL(int m_rd); | ||||
| 	bool Exec_C_EBREAK(); | ||||
| 
 | ||||
| 	bool process_instruction(Instruction *inst, bool *breakpoint = nullptr); | ||||
| 	bool process_instruction(Instruction &inst, bool *breakpoint = nullptr); | ||||
| }; | ||||
| 
 | ||||
| #endif | ||||
|  |  | |||
|  | @ -69,7 +69,7 @@ public: | |||
| 	bool Exec_M_REM() const; | ||||
| 	bool Exec_M_REMU() const; | ||||
| 
 | ||||
| 	bool process_instruction(Instruction *inst); | ||||
| 	bool process_instruction(Instruction &inst); | ||||
| 
 | ||||
| private: | ||||
| 
 | ||||
|  |  | |||
|  | @ -385,10 +385,10 @@ bool A_extension::TLB_reserved(std::uint32_t address) { | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| bool A_extension::process_instruction(Instruction *inst) { | ||||
| bool A_extension::process_instruction(Instruction &inst) { | ||||
| 	bool PC_not_affected = true; | ||||
| 
 | ||||
| 	setInstr(inst->getInstr()); | ||||
| 	setInstr(inst.getInstr()); | ||||
| 
 | ||||
| 	switch (decode()) { | ||||
| 	case OP_A_LR: | ||||
|  | @ -426,7 +426,7 @@ bool A_extension::process_instruction(Instruction *inst) { | |||
| 		break; | ||||
| 	[[unlikely]] default: | ||||
| 		std::cout << "A instruction not implemented yet" << std::endl; | ||||
| 		inst->dump(); | ||||
| 		inst.dump(); | ||||
| 		NOP(); | ||||
| 		break; | ||||
| 	} | ||||
|  |  | |||
|  | @ -1172,11 +1172,11 @@ bool BASE_ISA::Exec_SFENCE() const { | |||
| 	return true; | ||||
| } | ||||
| 
 | ||||
| bool BASE_ISA::process_instruction(Instruction *inst, bool *breakpoint) { | ||||
| bool BASE_ISA::process_instruction(Instruction &inst, bool *breakpoint) { | ||||
| 	bool PC_not_affected = true; | ||||
| 
 | ||||
| 	*breakpoint = false; | ||||
| 	setInstr(inst->getInstr()); | ||||
| 	setInstr(inst.getInstr()); | ||||
| 
 | ||||
| 	switch (decode()) { | ||||
| 	case OP_LUI: | ||||
|  | @ -1344,7 +1344,7 @@ bool BASE_ISA::process_instruction(Instruction *inst, bool *breakpoint) { | |||
| 		break; | ||||
| 	[[unlikely]] default: | ||||
| 		std::cout << "Wrong instruction" << "\n"; | ||||
| 		inst->dump(); | ||||
| 		inst.dump(); | ||||
| 		NOP(); | ||||
| 		//sc_stop();
 | ||||
| 		break; | ||||
|  |  | |||
|  | @ -680,12 +680,12 @@ bool C_extension::Exec_C_EBREAK() { | |||
|     return true; | ||||
| } | ||||
| 
 | ||||
| bool C_extension::process_instruction(Instruction *inst, bool *breakpoint) { | ||||
| bool C_extension::process_instruction(Instruction &inst, bool *breakpoint) { | ||||
| 	bool PC_not_affected = true; | ||||
| 
 | ||||
| 	*breakpoint = false; | ||||
| 
 | ||||
| 	setInstr(inst->getInstr()); | ||||
| 	setInstr(inst.getInstr()); | ||||
| 
 | ||||
| 	switch (decode()) { | ||||
| 	case OP_C_ADDI4SPN: | ||||
|  | @ -773,7 +773,7 @@ bool C_extension::process_instruction(Instruction *inst, bool *breakpoint) { | |||
| 		break; | ||||
| 	[[unlikely]] default: | ||||
| 		std::cout << "C instruction not implemented yet" << "\n"; | ||||
| 		inst->dump(); | ||||
| 		inst.dump(); | ||||
| 		NOP(); | ||||
| 		break; | ||||
| 	} | ||||
|  |  | |||
|  | @ -245,10 +245,10 @@ bool M_extension::Exec_M_REMU() const { | |||
| 	return true; | ||||
| } | ||||
| 
 | ||||
| bool M_extension::process_instruction(Instruction *inst) { | ||||
| bool M_extension::process_instruction(Instruction &inst) { | ||||
| 	bool PC_not_affected = true; | ||||
| 
 | ||||
| 	setInstr(inst->getInstr()); | ||||
| 	setInstr(inst.getInstr()); | ||||
| 
 | ||||
| 	switch (decode()) { | ||||
| 	case OP_M_MUL: | ||||
|  | @ -277,7 +277,7 @@ bool M_extension::process_instruction(Instruction *inst) { | |||
| 		break; | ||||
| 	[[unlikely]] default: | ||||
| 		std::cout << "M instruction not implemented yet" << "\n"; | ||||
| 		inst->dump(); | ||||
| 		inst.dump(); | ||||
| 		//NOP(inst);
 | ||||
| 		sc_core::sc_stop(); | ||||
| 		break; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue