|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
Re: [Xen-ia64-devel] copying data to guest
Am Freitag, 2. März 2007 14:57 schrieb Jes Sorensen:
> Hi,
>
> For the SAL emulator I am trying to figure out how to copy data to guest
> kernel space, based on a virtual pointer I receive from the guest.
>
> I have tried pretty much everything I can think off, using
> copy_to_guest(), xencomm_copy_to_guest() with and without this wacko
> XEN_GUEST_HANDLE() stuff.
>
> Trying to read xencomm.c it seems that xencomm_copy_to_guest() needs
> some magic handle, but I can't seem to figure out how to create this.
> I cannot change dom0 to do this differently, or at least I really don't
> want to.
>
> So before I have enough and start throwing my computers out the window
> and jump up and down the tables (and trust me, I am very close to that
> state right now), is there a kind sould who can save me and provide me
> with a simple working example?
>
> As mentioned, I basically I have have a virtual kernel pointer provided
> by dom0, I need to copy one 64 bit word to this address in dom0 space
> from Xen. How do I do it?
>
> The address was obtained by dom0 via kmalloc, in this specific case it's
> 0xe000003003837280, so the metaphysical address would be 0x3003837280
>
> Thanks,
> Jes
Hi Jes,
while porting mini-os to ia64 this took me some days too ;-))
You may have a look at extras/mini-os/include/ia64/hypercall-ia64.h.
See HYPERVISOR_console_io() for a simple jump intto the hypervisor via
xencomm. The internal used function xencomm_vaddr_to_paddr() is implementet
in extras/mini-os/arch/xencomm.c and translates a domU virtual address into a
domU physical address.
I hope this helps!
Dietmar.
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
|
|
|
|