On Mon, Dec 27, 2010 at 4:10 AM, Teng-Feng Yang <[email protected]>wrote:

> Hi~
>
> What is the purpose of the checker called by the commit stage in
> ooopipe.cpp?
> It seems that it switches back to the QEMU and functionally simulate the
> checker_context, but I don't understand what to check via this checker.
>
> Checker is a CPU Context that is run in parallel to simulated CPU Context
and after every instruction commit they both are compared for simulator's
correctness. This checker context is run in QEMU and it runs only in User
mode simulation.  I use this checker to find bugs in simulator CPU model
that breaks the simulation correctness and crash the simulator.  Though
checker doesn't run all the time so it not useful to find bugs in Kernel
mode.

This happens only when '-enable-checker' option is set.


> Here is another question.
> It seems to me that during the simulation process of marss, it is ok to
> switch between functional simulation (QEMU) and detail simulation (PTLsim)
> only if we manage to provide the right context and call setup_xxx_switch
> between them.
> Is this correct?
>
> Yes. One more thing to add here, you have to make sure that simulator model
is not in partial commit mode. For example, if its simulating x86
instruction that has 4 uops and in cycle-1 2 uops are committed then you
can't change to QEMU mode untill rest of the uops in that instruction are
committed.  If you look at the code you might find a variable
'handle_interrupt_at_next_eom' which indicates that after next x86
instruction commit there is an interrupt pending so don't start committing
other instruction because we might switch to QEMU mode.

- Avadh

> Any help would be grateful!
>
> Thanks again for the great simulator
>
> Teng-Feng
>
>
>
> _______________________________________________
> http://www.marss86.org
> Marss86-Devel mailing list
> [email protected]
> https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel
>
>
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel

Reply via email to