> On 2011-11-23 21:35:59, Gabe Black wrote:
> > src/cpu/base_dyn_inst.hh, line 265
> > <http://reviews.m5sim.org/r/910/diff/1/?file=15545#file15545line265>
> >
> >     Like I said before, you shouldn't use this instResult mechanism. It's 
> > broken and obsolete and needs to be removed all together.

The CheckerCPU and CPU model being checked are not required to always be in 
lock step. So the dyn_inst object has to save its results internally using this 
mechanism so the Checker can sync back up.

The cases where this happens are detailed in a comment at 
src/cpu/checker/cpu_impl.hh:124, and it involves the interaction between the 
checker and the ld/st queue.


> On 2011-11-23 21:35:59, Gabe Black wrote:
> > src/cpu/thread_context.hh, line 126
> > <http://reviews.m5sim.org/r/910/diff/1/?file=15568#file15568line126>
> >
> >     I think all of these new functions could be replaced with a 
> > getCheckerCPU call on the base CPU class. Then you can get the TLB pointers 
> > from it and even factor some of the code that's duplicated for the checker 
> > into functions that take a CPU pointer.

This keeps it rather clear what is getting accessed by these functions instead 
of adding another level of indirection, unless its desired to refactor parts of 
the thread_context code as a whole (getting rid of getDTBPtr for the regular 
CPUs as well).  The way the Checker, O3 and thread_contexts interact is fairly 
difficult to understand as it is currently, but I'm not sure how to fix this 
anyways.


- Geoffrey


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/910/#review1672
-----------------------------------------------------------


On 2011-11-28 10:07:14, Geoffrey Blake wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.m5sim.org/r/910/
> -----------------------------------------------------------
> 
> (Updated 2011-11-28 10:07:14)
> 
> 
> Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
> Nathan Binkert.
> 
> 
> Summary
> -------
> 
> CheckerCPU: Re-factor CheckerCPU to be compatible with current gem5
> 
> Brings the CheckerCPU back to a functioning state allowing FS and SE mode
> checking of the O3CPU. These changes have only been tested with the
> ARM ISA.  Other ISAs will potentially require modification.
> 
> 
> Diffs
> -----
> 
>   build_opts/ARM_wCHECKER_FS PRE-CREATION 
>   build_opts/ARM_wCHECKER_SE PRE-CREATION 
>   src/arch/arm/isa.cc 62dee0c98d53 
>   src/arch/arm/isa/insts/m5ops.isa 62dee0c98d53 
>   src/arch/arm/isa/insts/misc.isa 62dee0c98d53 
>   src/arch/arm/table_walker.hh 62dee0c98d53 
>   src/arch/arm/table_walker.cc 62dee0c98d53 
>   src/arch/arm/tlb.hh 62dee0c98d53 
>   src/arch/arm/tlb.cc 62dee0c98d53 
>   src/arch/arm/utility.cc 62dee0c98d53 
>   src/cpu/BaseCPU.py 62dee0c98d53 
>   src/cpu/CheckerCPU.py 62dee0c98d53 
>   src/cpu/DummyChecker.py PRE-CREATION 
>   src/cpu/SConscript 62dee0c98d53 
>   src/cpu/base.cc 62dee0c98d53 
>   src/cpu/base_dyn_inst.hh 62dee0c98d53 
>   src/cpu/base_dyn_inst_impl.hh 62dee0c98d53 
>   src/cpu/checker/cpu.hh 62dee0c98d53 
>   src/cpu/checker/cpu.cc 62dee0c98d53 
>   src/cpu/checker/cpu_impl.hh 62dee0c98d53 
>   src/cpu/checker/thread_context.hh 62dee0c98d53 
>   src/cpu/dummy_checker_builder.cc PRE-CREATION 
>   src/cpu/o3/O3CPU.py 62dee0c98d53 
>   src/cpu/o3/O3Checker.py 62dee0c98d53 
>   src/cpu/o3/checker_builder.cc 62dee0c98d53 
>   src/cpu/o3/commit_impl.hh 62dee0c98d53 
>   src/cpu/o3/cpu.hh 62dee0c98d53 
>   src/cpu/o3/cpu.cc 62dee0c98d53 
>   src/cpu/o3/dyn_inst_impl.hh 62dee0c98d53 
>   src/cpu/o3/fetch_impl.hh 62dee0c98d53 
>   src/cpu/o3/iew_impl.hh 62dee0c98d53 
>   src/cpu/o3/lsq_unit_impl.hh 62dee0c98d53 
>   src/cpu/o3/thread_context.hh 62dee0c98d53 
>   src/cpu/o3/thread_context_impl.hh 62dee0c98d53 
>   src/cpu/simple/BaseSimpleCPU.py 62dee0c98d53 
>   src/cpu/simple/base.hh 62dee0c98d53 
>   src/cpu/simple/base.cc 62dee0c98d53 
>   src/cpu/simple_thread.hh 62dee0c98d53 
>   src/cpu/thread_context.hh 62dee0c98d53 
>   src/mem/bus.cc 62dee0c98d53 
> 
> Diff: http://reviews.m5sim.org/r/910/diff
> 
> 
> Testing
> -------
> 
> Successfully runs gzip in SE mode.  Successfully boots linux kernel in FS 
> mode.  Works with checkpoints and fast-forwarding. Testing with buggy O3CPUs 
> to test checker's capabilities.
> 
> 
> Thanks,
> 
> Geoffrey
> 
>

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to