|
|
|
|
|
|
|
|
|
|
xen-devel
RE: [Xen-devel] Communication between HVM and dom0 through the Hyperviso
> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of
> Daniele Sgandurra
> Sent: 18 April 2007 16:22
> To: xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: [Xen-devel] Communication between HVM and dom0
> through the Hypervisor
>
> Is there currently a method for passing information
> between a HVM domain and domain 0 directly through the
> hypervisor?
> I understand there could be at least three ways to do
> so:
>
> -VMCALL from HVM + params in registers.
> -using "PV-on-HVM", but I think the frontend drivers
> need to be ported in the mainline Linux kernel and
> this is currently being done, right?
What do you mean. There is the "unmodified_drivers" directory in Xen,
which contains, as far as I know, complete drivers for block and network
on HVM Linux. Of course, you'd need a differnet source-code if you want
Linux 2.4 drivers or Windows drivers, neither of which is supplied with
Xen's sources.
> -using XenStore/XenBus (is that possible?)
I believe so, but I'm not entirely sure about how that works in a HVM
guest.
>
> As an example, suppose I have a HVM running Linux (on
> Intel IVT-x), and I want to call a callback function
> in dom0 each time the HVM contacts the hypervisor,
> what would you suggest me to do? Imagine I want to
> notify dom0 each time a process issues a system call,
> by adding some code in the prologue of the syscall
> handler to notify the hypervisor.
You can use VM[M]CALL, although this is ALREADY being used for PV-on-HVM
drivers, so you'd have to filter your calls from the ones used by
PV-on-HVM drivers (using a high bit to indicate that those are your
functions rather than PV-calls would be the easiest method).
Another possibility is to find a unused IO-port or memory address and
cause a IOIO-exit or Page-fault on a MMIO address that isn't otherwise
used. IO-ports such as 0xBCDE, 0xAAA0 are most likely not used, so you
could to a 8, 16 or 32-bit IO to one of those pretty easily.
The NEXT problem is of course getting this information out of the
hypervisor into Dom0.
--
Mats
>
> Thank you very much :-)
>
>
> ___________________________________
> L'email della prossima generazione? Puoi averla con la nuova
> Yahoo! Mail: http://it.docs.yahoo.com/nowyoucan.html
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
>
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|