Hi Jan, Thank you for the insight. That explains a lot of the repeated cached instruction fetching. This might belong to another thread, I was exploring xentrace, ran it with "sudo xentrace output", but it returns the message of "ERROR: Failed to map cpu buffer! (13 = Permission denied)", even running as root. Googled around but nothing insightful showed up, any suggestion would be appreciated.
Best, On Thu, Jan 4, 2018 at 11:38 PM, Jan Beulich <[email protected]> wrote: > >>> On 05.01.18 at 04:17, <[email protected]> wrote: > > I am trying to modify Xen 4.8 to have it print out the opcode as well as > > some registers of an HVM domU as it runs. I tried to modify > > xen/arch/x86/hvm/emulate.c 's hvmemul_insn_fetch to output the content in > > hvmemul_ctxt->insn_buf with printk. In hvmemul_insn_fetch, it seems that > a > > lot of the requested bytes are cached, does the domU's OS repeatedly > calls > > the same instruction region over and over again? > > No, but certain operations require going through the emulator > twice (e.g. once to formulate a request to qemu, and a second > time to process its response). It would be wrong to read guest > memory a second time in such a case. > > You will also notice that after a completed emulation that cache > is being invalidated. > > > Lastly, I am using printk to log the opcodes. Ideally I would want the > > opcode to be written to a separate file, but I read that it is not good > to > > do any file access in kernel programming. Are there other alternatives or > > util functions that I should consider using? > > xentrace would come to mind. > > Jan > >
_______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel
