I've read the hypercall related code, such as entry.S hypervisor.h ,etc. But the problem is that hypercall functions are implemented in different files while linux package syscalls into glibc and windows ntoskrnl. There is a hypercall table defined in entry.S. But I havn't found any offsets related information. Besides, I've learned that hypercall page is mapped to a fixed address when the guest is initialized, but which address it is and is this address the base address of hypercall table? 2015-07-14 21:38 GMT+08:00 Jan Beulich : > >>> On 14.07.15 at 15:31, wrote: > > All right, what is the base address of hypercalls table? And which file > > contains the offset of each hypercall? > > Did you at least _try_ to find the answer yourself, e.g. by > grep-ing the hypervisor source for some obvious strings? > > Jan > > > 2015-07-14 20:36 GMT+08:00 Jan Beulich : > > > >> >>> On 14.07.15 at 13:59, wrote: > >> > could you explain that in detail? As syscall tracing, we usually > locate > >> the > >> > kernel module first, then find the address of specific syscall > function > >> in > >> > that module with the help of symbol files. How could this be applied > to > >> > hypercalls then? > >> > >> You'd do whatever you do with the kernel binary with the hypervisor > >> one instead (plus you don't even need to care about modules there). > >> > >> Jan > >> > >> > > > >