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

RE: [Xen-devel] pointers in hcalls

On Tue, 2006-02-07 at 20:20 -0500, Reiner Sailer wrote:
> The acm hypercalls uses pointers when setting and reading the policy
> from the hypervisor and for dumping statistics. A policy might not
> necessarily be less than one page. 
> I don't remember the conversation on the Xen summit and probably
> wasn't involved. Would you mind summarizing briefly the discussion? 

(Please CC me on replies.)

The domains (especially the management tools in dom0) are passing
virtual pointers into the hypervisor.

This assumes that the hypervisor is running in the same address space as
the userland tools. That assumption is not valid on PPC (we run in real
mode). One other port (x86-64 VT iirc) has the same problem, but since
an x86 MMU tablewalk is pretty straightforward, they do that to
translate the address by hand. This is not feasible on PPC.

It would dramatically simplify the problem if these memory areas were
limited to one page. Once you go over that, the area could be machine
discontiguous, which greatly complicates Xen's copy_to/from_user().

One possibility would be to install ACM policies in chunks (using
multiple hcalls) followed by a "commit" hcall. That would introduce some
concurrency issues though (e.g. installing two multi-page policies at

Hollis Blanchard
IBM Linux Technology Center

Xen-devel mailing list



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