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

Re: [Xen-devel] Confusion about copy_to/from_guest


  • To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
  • From: Tej <bewith.tej@xxxxxxxxx>
  • Date: Tue, 27 Apr 2010 17:22:00 +0530
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 27 Apr 2010 04:52:56 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=tvdp17EMsxuqITwK/oezZwcJ6Z9cryYUpnem8lN/qgvKXxph5IoNPcDwnieOYgOX/0 yYIuDaaGy117o3dU8LNqkVfzv5ghzRlv6E6aWLGaZ2PvXHPhE/kZE4AM1lGyjxQzDfYw P5nbfZVTj2aH2+YfRA/j774SY2mftwZijBuqY=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

On Mon, Apr 26, 2010 at 11:03 AM, Keir Fraser <keir.fraser@xxxxxxxxxxxxx> wrote:
> On 26/04/2010 03:32, "Tej" <bewith.tej@xxxxxxxxx> wrote:
>
>> Now passing the list_head from kernel using hypercall. Now how do I
>> copy the element between kernel and hypervisor.
>>
>> 1. copy_from_guest(hyp_list_head, arg, 1) or
>> copy_from_guest(hyp_list_head, arg, <num_of_elements_list>)
>> 2. copy_to_guest(arg, hyp_list_head, 1) or copy_to_guest(arg,
>> hyp_list_head, <num of element in list>)
>
> The first of these. Copy_{to,from}_guest can copy arrays of structures, but
> since this is a linked structure you'd have to do the copy one element at a
> time.

you mean to say, in hypervisor space copy first element using
copy_from_guest(hyp_list_head, arg, 1), extract the next address from
it and then copy again the next element using
"copy_from_guest(hyp_list_head->next, arg->next, 1)" ???



>
>> 2nd question:
>> I did first one, but first element of list was not accessible in
>> hypervisor space, why?
>
> Well, if you are really only copying the list_head, the above should work.
Yes, I have carried out the sample test, by allocating small struct
linked list and then passing between hypervisor and kernel
copy_from_guest(hyp_list_head, arg, 1) is working correctly.

But my actial code is not working. Ok let me put some more effort, if
not I will push the code for review.

Thanks for your help

>
>  -- Keir
>
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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