|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC][PATCH v2x prototype 1/1] Add IOREQ_TYPE_VMWARE_PORT
On 10/13/14 09:26, Paul Durrant wrote: -----Original Message----- From: Don Slutz [mailto:dslutz@xxxxxxxxxxx] Sent: 09 October 2014 15:26 To: xen-devel@xxxxxxxxxxxxx; Paul Durrant Cc: Jan Beulich; Keir (Xen.org); Ian Campbell; Don Slutz Subject: [RFC][PATCH v2x prototype 1/1] Add IOREQ_TYPE_VMWARE_PORT This adds synchronisation of the 6 vcpu registers (only 32bits of them) that vmport.c needs between Xen and QEMU. This is to avoid a 2nd and 3rd exchange between QEMU and Xen to fetch and put these 6 vcpu registers used by the code in vmport.c and vmmouse.c QEMU patch is named "xen-hvm.c: Add support for Xen access to vmport" Signed-off-by: Don Slutz <dslutz@xxxxxxxxxxx> --- As requested by Paul Durrant <Paul.Durrant@xxxxxxxxxx> Here is a prototype of the QEMU change using a 2nd shared page. I picked adding HVM_PARAM_VMPORT_IOREQ_PFN as the simple and fast way to handle QEMU building on older Xen versions. There is xentrace and debug logging that is TBD for the Xen 4.6 submission of this. ...
I am confused. The code is doing what you say: I would have thought you could add a new ioreq type, as you've done, but not make it 'data bearing'. I.e. you use your new VMPORT_IOREQ_PFN to carry the register values back and forth between Xen and QEMU, but you still issue a 'normal' ioreq_t structure (with your new type) via the 'normal' shared IOREQ_PFN. That way you need do nothing to the majority of the emulation code path - you'd just need to add code t copy the register values into and out of your new shared page at start and completion of I/O.
I did adjust hvmemul_do_io() instead of duplicating it's code.
hvmemul_do_io() cannot be used without adjustment because of
the new type.
I will code this up with a new routine.
-Don Slutz
Paul _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |