Re: [Gems-users] Abort Trap in LogTM


Date: Mon, 13 Oct 2008 09:59:25 -0500
From: Polina Dudnik <pdudnik@xxxxxxxxxxx>
Subject: Re: [Gems-users] Abort Trap in LogTM
Can anyone please answer these questions?

Polina

arrvindh shriraman wrote:
I am trying to understand the abort handler sequence in In version 2.1 of logtm
1) Simics v9_exception_type doesn't seem to specify anything for trap 
0x122.
    When you set the s.exception_t in SimicsProcessor.C what exactly is 
the control flow ?
    Do you get to the user level handler or is this just to faithfully 
model the performance
2) I would also like to understand what this sequence of instructions in 
XACT_MGR::traptoHandler does...
  // We temporarily flip the LSB of PSTATE so that simics can access the 
program       global registers instead of the alternate globals. Note 
that we are currently  in a system 
trap.                                                                                                                                                        

  int pstate_rn_no = SIMICS_get_register_number(logical_proc_no, 
"pstate");                                                                                                   

  uint64 pstate_val = SIMICS_read_register(logical_proc_no, 
pstate_rn_no);                                                                                                    

  SIMICS_write_register(logical_proc_no, pstate_rn_no, (pstate_val ^ 
0x1));                                                                                                   

  int tid_rn_no = SIMICS_get_register_number(logical_proc_no, 
"g2");                                                                                                          

  SIMICS_write_register(logical_proc_no, tid_rn_no, 
m_tid[thread]);                                                                                                           

  SIMICS_write_register(logical_proc_no, pstate_rn_no, 
pstate_val);                                                                                                           

                                                                                                                                                                &n 
bsp;            
  3) and finally the transaction_manager_stub(), tm_trap_handler()
     How do you actually invoke these given that you don't seem to 
register either of these function pointers with the simulator. I am 
assuming RUBY_MAGIC_CALL(60) is the call used to register handler addresses.

4) The ATMTP folks seem to be directly modifying the PC and NPC registers to invoke their handlers is their any reason why you are doing it differently ?
Thanks                                        

Arrvindh Shriraman
Conputer Science Department
University of Rochester



------------------------------------------------------------------------

_______________________________________________
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.





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