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

Re: [Xen-users] hypercall implementation



Thankyou for your reply!
I use vim + ctags. I have tagged, but get this:

static inline int
HYPERVISOR_mmu_update(
        mmu_update_t *req, int count, int *success_count, domid_t domid)
{
        return _hypercall4(int, mmu_update, req, count, success_count, domid);
}

and this:

#define _hypercall4(type, name, a1, a2, a3, a4)                 \
({                                                              \
        long __res, __ign1, __ign2, __ign3;                     \
        asm volatile (                                          \
                "movq %7,%%r10; "                               \
                "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
                : "=a" (__res), "=D" (__ign1), "=S" (__ign2),   \
                "=d" (__ign3)                                   \
                : "1" ((long)(a1)), "2" ((long)(a2)),           \
                "3" ((long)(a3)), "g" ((long)(a4))              \
                : "memory", "r10" );                            \
        (type)__res;                                            \
})

But what's the content (src code) of hypercall_page? How is the hypercall implemented?


_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users

 


Rackspace

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