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