Yes it is, and with the new GEMS 2.0 you can do so with the
SimicsHypervisor code. This class was meant to be used as part of the
all-in-simulator version of LogTM-SE style support for virtualizing
transactions. To do this we needed to be able to detect context (both
process & thread) switches and page remapping.
In SPARC a pointer to the thread's software context structure resides in
the %g7 register, and detecting changes to this on mode changes
(user<->supervisor) is sufficient to detect thread switches. Process
switches need to look at the ASID register as well. Take a look at the
functions in SimicsHypervisor.C for more details.
Luke
On Wed, 10 Oct 2007, Dave Z. wrote:
Hello,
I have a question regarding operating system context
switches. Is it possible to detect context switches in
Ruby? For example, is it possible to detect if a
thread has migrated from one processor to another? I
would like to find out the impact of context switches
on the memory model I'm working on.
Thank you for your help.
Dave
____________________________________________________________________________________
Looking for a deal? Find great prices on flights and hotels with Yahoo! FareChase.
http://farechase.yahoo.com/
_______________________________________________
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.
|