Hi Giacomo, First of all, thanks for your time answering the question. Your assumption about KVM is correct. I just use it to fast-forward, and I do not need to execute the instruction I want to implement in KVM mode.
Long story short: the same code for the ROI is executed during the fast-forwarding phase. Do you know if it's possible to capture the CPU type that gem5 code is running, from the application? This way I could manage to generate checkpoints with KVM using a functionally equivalent code that does not use my new instruction, and when I restore with a gem5 CPU, the new instruction is used. Alternatively, perhaps, I can capture the "unimplemented instruction" from the application, and in that case, call a functionally equivalent code? I'm not sure if the CPU will let me continue the execution when the unimplemented instruction is found (with KVM), though. There should be some way to capture this kind of exception I guess... If that is not a possible solution, then I'd have to run as many simulations as checkpoints I want (if I'm not mistaken one can go from KVM to gem5 CPU, but not go back to KVM), adapting the code to run up until the desired checkpoint time and changing some control variable so that my new instruction starts to be used. Although this is doable, it would be a little bit inconvenient as I take tens of checkpoints. Any thoughts about these alternatives? I'll probably have to explore/try them anyway, but any hints on where to start are helpful. _______________________________________________ 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