Hi David, I think you want to call the function `exitSimLoopNow` or `exitSimLoop`. You can call this function from an instruction implementation, (e.g., halt), I believe.
See https://github.com/search?q=repo%3Agem5%2Fgem5+exitSimLoop+&type=code Cheers, Jason On Wed, Jul 26, 2023 at 9:39 AM David Bears via gem5-users < gem5-users@gem5.org> wrote: > Hello, > > I am trying to create a fault which will stop the simulation. I tried > calling ThreadContext::halt from within FaultBase::invoke (or rather a > subclass of FaultBase). This successfully stops simulation of the CPU, > but then it endlessly simulates memory refreshes. > > So how should I properly shut down the simulated system so that the > gem5.opt process finishes? Do I have to do something in addition to > calling ThreadContext::halt? Is ThreadContext::halt the wrong tool for > the job? Or perhaps do I have something else set up wrong? > > For context, I implemented most of the NIOS II ISA in gem5, and I am > running an executable which is designed to run on bare metal. There is a > particular 'magic' instruction which signals that the executable is > finished, and I want to stop the simulation sometime after committing > such an instruction. > > Thanks is advance, > David > > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-le...@gem5.org >
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org