Hi Liyuchao, 

I'm assuming you are referring to ARM ISA...
BTI is appearing on your code but it's not implemented. 

"A BTI instruction is used to guard against the execution of instructions that 
are not the intended target of a branch. Outside of a guarded memory region, a 
BTI instruction executes as a NOP. "
(See here: 
https://developer.arm.com/documentation/100076/0100/a64-instruction-set-reference/a64-general-instructions/bti)

My understanding is that if you are not trying to investigate how this guarding 
mechanism works (say, because you are investigating hardware security or 
whatever), you can simply ignore that instruction as if your code is outside of 
a guarded memory region.

So in src/arch/arm/isa/formats/aarch64.isa you can find the bti instruction and 
return a NOP instead of an unimplemented instruction. Something like this:

- return new WarnUnimplemented("bti", machInst);
+ return new NopInst(machInst);

Recompile gem5 and check if it does the trick.
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to