Hmm, I'm not sure that's possible. As far as I know, gem5 only supports
parameter configuration of SimObjects in simulation scripts. You might be
able to create a SimObject that has a lambda expression as a parameter,
where the lambda expression specifies a custom instruction's behavior, but
I don't know if gem5 supports that.
On Sat, Feb 17, 2018 at 5:30 AM, Robert Scheffel <
> Hi Alec,
> I'm trying to achieve the latter. A user should be able to add custom
> instructions without having to touch the decoder.
> Am 14.02.2018 um 03:08 schrieb Alec Roelke:
> > Hi Robert,
> > Are you trying to reduce compilation time of gem5 itself by bypassing the
> > decoder description, or are you trying to add the ability to specify
> > instructions in a simulation script so gem5 doesn't have to be recompiled
> > at all to add new ones?
> > -Alec Roelke
> > On Thu, Feb 8, 2018 at 10:34 AM, Robert Scheffel <
> > robert.scheff...@tu-dresden.de> wrote:
> >> 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
> >> 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
> >> 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
> >> 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
> >> email@example.com
> >> http://m5sim.org/mailman/listinfo/gem5-dev
> > _______________________________________________
> > gem5-dev mailing list
> > firstname.lastname@example.org
> > http://m5sim.org/mailman/listinfo/gem5-dev
> gem5-dev mailing list
gem5-dev mailing list