How to implement an ISA in gem5? For example, I wanna make my gem5 to support the Cambricon ISA as it supports MIPS

Viewed 84

I want to implement a new ISA called MyISA, for example. I made a new directory called "my" under gem5/src/arch, and copy all the files in gem5/src/arch/mips to the new directory gem5/src/arch/my.

Then I modified the files under gem5/src/arch/my, to make sure all descriptions for MIPS had been changed to MY.

Then I created a file under gem5/build_opt, called "MY", and implemented it as

TARGET_ISA = 'my'
CPU_MODELS = 'AtomicSimpleCPU,TimingSimpleCPU,O3CPU'
PROTOCOL = 'MI_example'

Then I tried to build the gem5 for MyISA, by command

scons build\MY\gem5.opt -j9

And it showed

Don't know what object types to use for ISA my

I found the docs in http://www.m5sim.org/Defining_ISAs_(as_of_M5_2.0_beta_3)#Testing_MyISA

But it is for m5...

And I wanna know how the excellent engineers make gem5 to support ISAs like MIPS, ARM and so on.

Thanks for reading!

0 Answers
Related