Thanks for your help. I commented out my changes in
operate memory function, so it's exactly the same as
the original and put a printf in observe memory
function. This way I should get a lot of printf output
on Simics screen, right? But I get none. Where else
could be the problem? Any ideas?
Thanks a lot.
--- Dan Gibson <degibson@xxxxxxxx> wrote:
> I suggest you ask in the Simics forum.
>
> Dave Z. wrote:
> > I'm sorry about that. I didn't think it would be
> the
> > problem. I checked the simics reference manual,
> and
> > v9_memory_transaction_t still uses priv:1 for
> > supervisor mode.
> >
> > Regards,
> >
> > Dave
> >
> > --- Dan Gibson <degibson@xxxxxxxx> wrote:
> >
> >
> >> You have been working on a modified version of
> GEMS
> >> from the onset? That
> >> would have been useful to know somewhat earlier.
> >>
> >> Simics 3.0 has probably changed the way it marks
> >> accesses as supervisor
> >> mode. See the Simics Reference Manual...
> >>
> >> Dave Z. wrote:
> >>
> >>> may_stall value is 0, so it's not the problem. I
> >>>
> >> guess
> >>
> >>> the problem is in the operate memory function,
> >>>
> >> where I
> >>
> >>> check for mem_trans->priv bit and return 0 if it
> >>>
> >> is 1.
> >>
> >>> This used to work just fine with the older
> Simics.
> >>>
> >> The
> >>
> >>> strange thing is that when I comment it out,
> none
> >>>
> >> of
> >>
> >>> the user misses get recorded, but when I leave
> it
> >>>
> >> as
> >>
> >>> is, none of the misses, coherence events are
> >>>
> >> recorded
> >>
> >>> (all results are 0). What else can I do to
> >>>
> >> separate
> >>
> >>> user and supervisor execution?
> >>>
> >>> Thanks.
> >>>
> >>> --- Dan Gibson <degibson@xxxxxxxx> wrote:
> >>>
> >>>
> >>> ---------------------------------
> >>> That is the expected functionality. By
> >>>
> >> default,
> >>
> >>> the snoop interface(aka the observe memory
> >>>
> >> function)
> >>
> >>> is not installed.
> >>>
> >>> This is getting stranger and stranger.
> >>>
> >>> You can try adding more printf's throughout
> Ruby's
> >>> hierarchy to seewhere the operate memory
> function
> >>>
> >> is
> >>
> >>> returning from. You might want tocheck the
> >>> memory_transaction_t's->s.may_stall value -- If
> >>> may_stlalis consistently set to 0, then that
> would
> >>>
> >> be
> >>
> >>> the root of the problem.
> >>>
> >>> Regards,
> >>> Dan
> >>>
> >>> Dave Z. wrote:
> >>> Operate memory function was called many times,
> >>> butobserve memory function was not called at
> >>>
> >> all.---
> >>
> >>> Dan Gibson <degibson@xxxxxxxx>
> >>> wrote:--------------------------------- Add a
> >>> printf("foo\n") to ruby's simics/commands.Cin
> the
> >>> operate memoryfunction and the observe
> >>>
> >> memoryfunction
> >>
> >>> and recompile. If Ruby isreceiving
> requests,there
> >>> should be a lot of foo's printed.Dave Z. wrote:
> >>> simics> phys_mem.infoInformation about phys_mem
> >>>
> >>>
> >
>
[classmemory-space]===============================================
> >
> >>> Snoop device : none
>
> >>>
> >>> Timing model : ruby0Dave.--- Dan
> >>> Gibson<degibson@xxxxxxxx> wrote: Try the
> >>> following
> >>> afterruby0.init:phys_mem0.infophys_mem.infoWhat
> >>>
> >> does
> >>
> >>> Simicsprint?Dave Z. wrote: Yes, the
> >>> SIMICS_VERSION is set to 3.0 and theGEMS_ROOTis
> >>>
> >> "..",
> >>
> >>> which is fine. After loading Ruby,
>
> >>>
> >>
> >>
> >>> Simics runs very fast as if Ruby is not
> >>>
> >> working
> >>
> >>> (which is true because
> >>>
> >> the
> >>
> >>> results are zero).Thanks,Dave---Dan Gibson
> >>> <degibson@xxxxxxxx> wrote:
> >>>
> >> Did
> >>
> >>> you change the SIMICS_VERSION
> >>> settingsinMakefile.simics_version and did you
> >>>
> >> change
> >>
> >>> theGEMS_ROOT setting in the
> >>>
> >> two
> >>
> >>> module makefiles? After
> >>>
> >> changing,
> >>
> >>> you must perform afull
> >>>
> >> recompile.
> >>
> >>> Dave Z. wrote:
>
> >>>
> >>
> >>
> >>> I'm using the -stall option when I'm
> >>> starting Simics.
>
> >>>
> >>
> >>
> >>> But the results are all
> zero.
> >>>
> >> In
> >>
> >>> my benchmarks, I'm
>
> >>>
> >>
> >>
> >>> using processor_bind to
> >>>
> >> bind a
> >>
> >>> thread to a
>
=== message truncated ===
____________________________________________________________________________________
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
http://new.mail.yahoo.com
|