xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* Problems calling HVMOP_flush_tlbs
@ 2012-01-17  0:50 Antony Saba
  2012-01-17 11:08 ` Tim Deegan
  0 siblings, 1 reply; 3+ messages in thread
From: Antony Saba @ 2012-01-17  0:50 UTC (permalink / raw)
  To: xen-devel@lists.xen.org

Hello xen-devel,

I am using xen 4.2.1 and have tried the following with kernel 3.0.0 and 
3.2.1.

I am trying to invoke the HVMOP_flush_tlbs hypercall but have been 
unsuccessful.  I am basing my call on the functions in in xc_misc.c, 
trying to guess what is meant by "@arg must be null" in the comment 
where HVMOP_flush_tlbs is defined.  What is the correct way to invoke 
this hypercall?

If I call it like this, I receive an invalid parameter (EINVAL) error:
     struct privcmd_hypercall
     {
         uint64_t op;
         uint64_t arg[5];
     } hypercall;
     hypercall.op     = __HYPERVISOR_hvm_op;
     hypercall.arg[0] = HVMOP_flush_tlbs;
     hypercall.arg[1] = 0;
     ret = do_xen_hypercall(xch, (void*)&hypercall);


If I call it like this, I get function not implemented (ENOSYS), where 3 
is a valid domain id:
     hypercall.op     = __HYPERVISOR_hvm_op;
     hypercall.arg[0] = HVMOP_flush_tlbs;
     hypercall.arg[1] = 3;  /* 3 is the domain whose tlbs should be 
flushed */
     hypercall.arg[2] = 0;

I have also tried this, mimicking the arg struct for the other HVMOP 
calls, which also returns ENOSYS:
    typedef struct _arg_t {
         domid_t domid;
         uint64_t ptr;
    } arg_t;
    struct privcmd_hypercall {
         uint64_t op;
         uint64_t arg[5];
     } hypercall;
     DECLARE_HYPERCALL_BUFFER(arg_t, arg);
     arg = xc_hypercall_buffer_alloc(xch, arg, sizeof(*arg));

     hypercall.op     = __HYPERVISOR_hvm_op;
     hypercall.arg[0] = HVMOP_flush_tlbs;
     hypercall.arg[1] = HYPERCALL_BUFFER_AS_ARG(arg);
     hypercall.arg[2]= 0;
     arg->ptr = 0;
     arg->domid = 0; /* or a valid dom id, the results are the same */


Any help is appreciated.

-Tony

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-01-17 12:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-17  0:50 Problems calling HVMOP_flush_tlbs Antony Saba
2012-01-17 11:08 ` Tim Deegan
2012-01-17 12:52   ` Antony Saba

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).