Hi all,

as part of my diploma thesis I want to implement an interface for custom instructions for the RISC-V ISA. The goal is to have a mechanism (plug-in, ...) where a user can easily add an instruction, define its opcode and its behaviour without touching the decoder.

As changing the underlying decoder results in recompiling and rebuilding of almost the whole binary, I think it might be better to define entry points in the decoder that give control to a decoding function within a plug-in. This way the decoder doesn't need to be touched, when a new instruction is added. A first idea, that comes to my mind, is to describe the behaviour and opcodes in a C++ file. From all existing descriptions a custom decoder is generated, that takes over decoding, once the gem5 decoder reaches the entry point for custom instructions.

Do you see any problem with this approach? Is there a better way to implement such an interface?

Kind regards

Robert

_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to