qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Qemu-devel] Counting Instructions and Looking for ConditionalBranch


From: Torbjorn.K.Andersson
Subject: RE: [Qemu-devel] Counting Instructions and Looking for ConditionalBranches
Date: Tue, 20 Feb 2007 09:05:15 +0100

I'm not sure if your solution is a complete solution for counting instructions is enough. If I understand QEMU correct, it links TBs together, removing the need to go through the tb_find_fast in many but not all situations.
 
However, you could disable the TB linking, done in tb_find_fast I think..., and then your solution should be enough.
 
For detecting contidional and uncondiftional branches, you could alter the code in translate.c to add information about the reason for why the TB was ended in the TB struct.
 
Torbjörn

From: address@hidden [mailto:address@hidden On Behalf Of Shane Brennan
Sent: den 20 februari 2007 02:35
To: Andersson Torbjorn
Subject: RE: [Qemu-devel] Counting Instructions and Looking for ConditionalBranches

Hi Torbjorn,

Thank you for the advice. I am currently counting instructions by placing a counter in the cpu_exec function in cpu_exec.c

Everytime a new tb is grabbed from the tb_find_fast() function I update the instruction counter. This seems to be an accurate instruction count. I am also able to detect when branches and jumps occur by comparing the PCs of consecutive tb's. However, I am currently unable to tell which of the branch/jumps are conditional, and which are unconditional. Do you have any advice on monitoring for unconditional branches?

Any advice you can provide me with would be greatly appreciate!
~Shane Brennan


reply via email to

[Prev in Thread] Current Thread [Next in Thread]