|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
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
|
|
|
|
|