Re: [Gems-users] ruby_operate


Date: Wed, 17 Jan 2007 11:53:36 -0800 (PST)
From: "Dave Z." <zhu_dave@xxxxxxxxx>
Subject: Re: [Gems-users] ruby_operate
Thank you all for your prompt replies. I've tried the following but it doesn't work either:

if ((mem_op->s.logical_address >= 0xff26e000) && (mem_op->s.logical_address < 0xff26e00f))
    printf("Accessing logical address %x\n", mem_op->s.logical_address); 

For example, I put magic breakpoints before and after "value = ptr[0]" and step through the instructions in Simics, I can see that one of the registers contain 0x00000000ff26e000, but it doesn't show up in ruby_operate. Perhaps I'm missing something..

Dave


----- Original Message ----
From: Mike Marty <mikem@xxxxxxxxxxx>
To: Gems Users <gems-users@xxxxxxxxxxx>
Sent: Wednesday, January 17, 2007 11:31:57 AM
Subject: Re: [Gems-users] ruby_operate

He is better off using the virtual address available in mem_op (I think)

--Mike


> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Is  the address 0xff26e00 a physical or logical address?  If you just
> obtained the address from the program you need to first get the
> physical address translation of it.   The easiest way (that I can
> think of) would be to issue a magic break point after you printed the
> instruction, and ask simics for the translation (check the simics
> reference manual on how to do this).   Then you'd need to change the
> physical address to the translated value.  You might also want to
> consider creating a new magic instruction that first puts the
> physical address in a known register and then translates that address
> on a magic reference (you'd also have to make sure you read/wrote a
> value to that address beforehand so that simics can actually perform
> the translation and find it in the processors TLB).    Check out the
> simics.net for more information.
>
> phil
> On Jan 17, 2007, at 1:15 PM, Dave Z. wrote:
>
> > Hi,
> >
> > I'm trying to catch some accesses in ruby_operate (ruby.c) using
> > the following:
> >
> >  if ((mem_op->s.physical_address >= 0xff26e000) && (mem_op-
> > >s.physical_address < 0xff26e00f))
> >     printf("Accessing physical address %x\n", mem_op-
> > >s.physical_address);
> >
> > In my benchmarks, I have int* ptr (where ptr = ff26e000). But the
> > following accesses are not caught in ruby_operate:
> >
> > ptr[0] = value;
> > x = ptr[1];
> > ...
> >
> > Is there something wrong with what I'm doing?
> >
> > Thanks
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > ______________________________________________________________________
> > ______________
> > Never miss an email again!
> > Yahoo! Toolbar alerts you the instant new Mail arrives.
> > http://tools.search.yahoo.com/toolbar/features/mail/
> >
> > _______________________________________________
> > Gems-users mailing list
> > Gems-users@xxxxxxxxxxx
> > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > Use Google to search the GEMS Users mailing list by adding
> > "site:https://lists.cs.wisc.edu/archive/gems-users/";; to your search.
> >
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.3 (Darwin)
>
> iD8DBQFFrngYkSK2LwjyZ3wRAjjtAKCgjyZCHEwObauyqIGjfdXiL0VFOgCghOnY
> kHjl+rU+qISFBKOQiSpZ7Cc=
> =OBAR
> -----END PGP SIGNATURE-----
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/";; to your search.
>
_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/";; to your search.






 
____________________________________________________________________________________
Expecting? Get great news right away with email Auto-Check. 
Try the Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/newmail_tools.html 

[← Prev in Thread] Current Thread [Next in Thread→]