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

Re: [Xen-devel] How do I print all hypercalls as they come in?



Andrew,

My apologies if my logic is flawed or what I am describing is convoluted - I am a student doing research into Xen and trying my best to grasp what is going on, also my ASM is subpar. I have read a paper on system call interception ( https://hal.inria.fr/inria-00431031/PDF/Technical_Report_Syscall_Interception.pdf ) - page 10 describes disabling fast system calls by commenting out some code in the do_set_trap_table() function and logging the calls along with other guest info. My concern is that this may be a dated methodology as the paper was written in 2009 but also that this will only work for x86 and not x86_64 systems; including possible loss of performance since fast calls tend to run better on x86 series processor systems. My goal is to identify when a guest makes a hypercall requestingÂHYPERVISOR_......grant_table_op(), Âmmu_update(), set_trap_table(), essentially I would love to be able to say...if trapcode = xxx printk("Hypercall xxx\n") has occurred but I am unsure what would be a good route to do something like that.

Thanks,
D'Mita

On Fri, Feb 6, 2015 at 10:23 AM, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
On 06/02/15 15:17, D'Mita Levy wrote:
Andrew,

Thanks for your help. I am trying to log the following hypercalls to dmesg as they come in:

Â-HYPERVISOR_grant_table_op()

- HYPERVISOR_mmu_update()

- HYPERVISOR_set_trap_table()

Are there single handlers for these as well?


The hypercall_table in arch/x86/x86_64/entry.S is the function pointer dispatch table, and is indexed by hypercall number.

~Andrew



--
D'Mita Levy
Cyber Fellow, Applied Research Center
Florida International University
Â
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.