RE: Instruction virtual address in TCG Plugins

2023-11-22 Thread Mikhail Tyutin
> > 1. Memory IO operations force TCG to create special translation blocks to > > process that memory load/store operation. The plugin gets notification for > > this translation block as well, but instrumentation callbacks other than > > memory ones are silently ignored. To make it correct, the plu

Re: Instruction virtual address in TCG Plugins

2023-11-21 Thread Alex Bennée
Mikhail Tyutin writes: >> >> > I suspect it is because of memory mappings by guest OS that changes >> >> > virtual addresses for that block. >> >> > >> >> > I also looked at gen_empty_udata_cb() function and considered to extend >> >> > plugin API to pass a program counter >> >> > value as addi

RE: Instruction virtual address in TCG Plugins

2023-11-21 Thread Mikhail Tyutin
> >> > I suspect it is because of memory mappings by guest OS that changes > >> > virtual addresses for that block. > >> > > >> > I also looked at gen_empty_udata_cb() function and considered to extend > >> > plugin API to pass a program counter > >> > value as additional callback argument. I tho

Re: Instruction virtual address in TCG Plugins

2023-11-14 Thread Alex Bennée
Mikhail Tyutin writes: >> > What is the right way to get virtual address of either translation block >> > or instruction inside of TCG plugin? Does >> > plugin API allow that or it needs some extension? >> > >> > So far I use qemu_plugin_tb_vaddr() inside of my block translation >> > callback t

RE: Instruction virtual address in TCG Plugins

2023-11-14 Thread Mikhail Tyutin
> > What is the right way to get virtual address of either translation block or > > instruction inside of TCG plugin? Does > > plugin API allow that or it needs some extension? > > > > So far I use qemu_plugin_tb_vaddr() inside of my block translation callback > > to get block virtual address and

Re: Instruction virtual address in TCG Plugins

2023-11-13 Thread Alex Bennée
Mikhail Tyutin writes: > Greetings, > > What is the right way to get virtual address of either translation block or > instruction inside of TCG plugin? Does > plugin API allow that or it needs some extension? > > So far I use qemu_plugin_tb_vaddr() inside of my block translation callback > to g