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

[Xen-devel] xc_map_foreign_range usage

  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: "Alex V" <allex.vong@xxxxxxxxx>
  • Date: Sun, 24 Feb 2008 05:22:48 -0500
  • Delivery-date: Sun, 24 Feb 2008 02:23:19 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=empb8gwqAY4kIdojHuabeSBjzokmDOWLVLTt8V/1tuBOhKnmC5N69K0M+z9gnrNP6u51ne2ZGjFw0Qx1akAeVEsrvzi9ZAlO1f3piGd7G9Y1Vfn3bKcBzekGsCmt7BfdOi8BSjVfuJA5rC7LtE4lYGzXvo3FiroO2omvEuGn0kE=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>


I am learning source of Xen and decided to learn it by writing some code.

So I am trying to map some data from domU to dom0 using  xc_map_foreign_range.
It seemed pretty straightforward but in xenctrl.h it's stated that:
In Linux, the ring queue for the control channel is accessible by
mapping the shared_info_frame (from xc_domain_getinfo()) + 2048.  The
structure stored there is of type control_if_t.

which confuses me since I could not find info about this structure and
therefore cast ret value to it.

All I need is basically just to have an access from dom0 to the buffer
I allocated at domU. Could you tell me where I am able to see simple
example which deals with that?

Assume I already malloc'ed some buffer at domU and granted access to
it (have a reference number - ref)

Then in dom0 I map it using all info

void* my_addr = xc_map_foreign_range(handle, dom_id, rw, ref);

How can I change/read the buffer I granted access to dom0 previously?
I casted it to unsigned long and got an address (I suppose) but
casting it to (char*) and trying to print it out caused an segfault.

Any comments/advices would be highly appreciated.

Best regards,

Xen-devel mailing list



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