[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] Communication between HVM and dom0 through the Hypervisor
> -----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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |