On 14 October 2016 at 10:21, 凌英剑 <lingyingj...@gmail.com> wrote:
> I've been trying to get GVA when the memory access instruction is
> executed,so I traced a function tcg_qemu_tb_exec() and I found the address
> used by ld/st operations is HVA.
> I would like to know how can I transform HVA to GVA?
> if I record GVA during the TB translation,will I miss some memory access
> instruction traces since a TB only be translated once but may be executed
> several times?
At translation time the GVA is unknown (consider the case of
"load value from the address in this register" -- the load
address is not known until runtime because it depends on the
value in the register when the TB is executed.