[panda-users] Different values for the same ASID

aicardi@eurecom.fr aicardi at eurecom.fr
Mon Nov 20 10:58:48 EST 2017


Hello everyone,

I am trying to analyze some linux-x86 replays. I would like to trace  
every new process and every time a context switch occurs (by  
registering the callback PANDA_CB_ASID_CHANGED).
The thing is that there is a discrepancy between two different ways of  
retrieving the current asid. One way is to access the 'new_asid'  
argument of the function registered for the event  
PANDA_CB_ASID_CHANGED, the other is to call get_current_process(cpu)  
and access the 'asid' field of the OsiProc struct.
The problem is that if I try to use the two methods at the same time I  
get different asids: if 'new_asid' is e.g. 0xaaaabbbb then the value  
returned from get_current_process(cpu) is typically the same one but  
ORed with 0xf0000000 (i.e. 0xfaaabbbb).
Does anybody know why this happens?

I also noticed that sometimes the arguments of the function registered  
for PANDA_CB_ASID_CHANGED ('old_asid' and 'new_asid') have the same  
value. Is it normal? I thought they should be different since there  
has been a context switch.


Thank you in advance!
samaicardi


-------------------------------------------------------------------------------
This message was sent using EURECOM Webmail: http://webmail.eurecom.fr




More information about the panda-users mailing list