Hi Pedro,

As you correctly stated, you could make an instruction work in KVM mode by 
implementing them as pseudo instruction and using the memory mapped 
implementation (m5 –addr).

If you run your instruction in KVM mode, the host won’t recognize the 
instruction and your guest VM will get an Undefined Instruction exception.

As from what I am understanding you are using KVM to simply fast-forward 
simulation, is there a specific need to run your instruction in KVM mode? Can’t 
you just fast-forward simulation until the ROI and then switch over a fully 
emulated cpu model (like O3) so that you can simulate the custom instruction in 
all its timing details?

Kind Regards

Giacomo

From: Pedro Becker via gem5-users <gem5-users@gem5.org>
Date: Friday, 26 November 2021 at 12:20
To: gem5-users@gem5.org <gem5-users@gem5.org>
Cc: Pedro Becker <pe...@ac.upc.edu>
Subject: [gem5-users] Re: Decisions when adding new instructions: accuracy and 
kvm support
Just to partially answer my own question 2.

I just realized that M5 ops are pseudo instructions and they work with KVM 
("_addr" version), so I guess I could manage to do the same with my own 
instructions, if I was to implement them as pseudo-instructions.
I still don't know if there is a way to make them work with KVM if they are 
implemented as custom ISA extensions.
_______________________________________________
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
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
_______________________________________________
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