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

Re: [Xen-ia64-devel] Re: copying data to guest



On Fri, Mar 02, 2007 at 06:30:09PM +0100, tgingold@xxxxxxx wrote:

> > Or am I missing something here?
> Although this should work, it is currently not reliable.  I think this issue
> must be fully discussed.

I checked the sal specificatin very roughly, I counld found only
in 8.1.9 
"the oprating system runtime execution environment must provide
the proper mapping for the parameter buffers"
Hmm, I'm not sure what "provide" means.

Just some random thoughts/ideas for discussion.

- modify SAL call conventions to pass pseudo physical address
  instead of virtual address
  This requires OS modification to pass pseudo physical address
  or to use xencomm.
  Or require virtual address be covered by vDTRs.

- To access guest domain's virtual address, 
  inject tlb miss and record tlb insert. for example vcpu->dtlb can be used.
  The similar example is vcpu_get_domain_bundle()
  If more than two virtual addresses are passed,
  it would be necessary to get all address conversions and record them
  as a first step.
  Or SAL emulation code in xen must record its progress and inject tlb miss
  and resume.

- enhance fake SAL code in geust domain pseudo physical address space.
  Currently only break code is embedded.
  Make it smarter to handle virtual addresses.
  - convert virtual address into pseudo physical address
    and pass pseudo physical address to Xen.
  - use a predefined reserved area for SAL.
    (This requires domain builder change)
    It copies the data into the area, and call hypervisor.
    After the hypercall, it copies back data into virtual address.
    The tlb miss can be handled by OS.

-- 
yamahata

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


 


Rackspace

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