From: Don Slutz <dslutz@verizon.com>
To: Paul Durrant <Paul.Durrant@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, "Keir (Xen.org)" <keir@xen.org>,
Ian Campbell <Ian.Campbell@citrix.com>,
Don Slutz <dslutz@verizon.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [RFC][PATCH v2 1/1] Add IOREQ_TYPE_VMWARE_PORT
Date: Fri, 03 Oct 2014 15:44:00 -0400 [thread overview]
Message-ID: <542EFC80.50306@terremark.com> (raw)
In-Reply-To: <9AAE0902D5BC7E449B7C8E4E778ABCD0110F374B@AMSPEX01CL01.citrite.net>
On 10/03/14 05:29, Paul Durrant wrote:
>> -----Original Message-----
>> From: xen-devel-bounces@lists.xen.org [mailto:xen-devel-
>> bounces@lists.xen.org] On Behalf Of Don Slutz
>> Sent: 02 October 2014 19:36
>> To: xen-devel@lists.xen.org
>> Cc: Don Slutz; Keir (Xen.org); Ian Campbell; Jan Beulich
>> Subject: [Xen-devel] [RFC][PATCH v2 1/1] Add IOREQ_TYPE_VMWARE_PORT
>>
>> Signed-off-by: Don Slutz <dslutz@verizon.com>
>> ---
>> v2:
>> Fixup usage of hvmtrace_io_assist().
>> VMware only changes the 32bit part of the register.
>> Added vmware_ioreq_t
>>
>> xen/arch/x86/hvm/emulate.c | 72
>> +++++++++++++++++++++++++++++++++++++++
...
>> +
>> + ASSERT(sizeof(p) == sizeof(op));
>> + ASSERT(offsetof(ioreq_t, type) == offsetof(vmware_ioreq_t, type));
>> + ASSERT(offsetof(ioreq_t, vp_eport) == offsetof(vmware_ioreq_t,
>> vp_eport));
> Can we not avoid this overloading of the ioreq structure by having the emulator directly modify the vCPU registers?
Yes we can at a high cost of cpu overhead. The current ways of accessing
registers are mostly way too many registers and other side effects. Using
the debugger interface (which I do not know as well) has a high cost.
> Since the vCPU is paused for emulation, could it not just do a get context/set context to tweak the values?
It is blocked not paused, and while I have not tried it, I would expect
it to work.
However it does require switching from qemu to the hypervisor and back 2
times
which is not free.
So I feel that adding a lot of overhead to avoid a new type ioreq_t is
the wrong
way to go.
-Don Slutz
> Paul
>
>
next prev parent reply other threads:[~2014-10-03 19:44 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-02 18:36 [RFC][PATCH v2 0/1] Add support for Xen access to vmport Don Slutz
2014-10-02 18:36 ` [RFC][PATCH v2 1/1] Add IOREQ_TYPE_VMWARE_PORT Don Slutz
2014-10-02 20:33 ` Andrew Cooper
2014-10-02 21:56 ` Don Slutz
2014-10-02 22:23 ` Andrew Cooper
2014-10-03 9:47 ` Stefano Stabellini
2014-10-03 9:51 ` Ian Campbell
2014-10-03 9:54 ` Stefano Stabellini
2014-10-03 19:27 ` Don Slutz
2014-10-06 7:55 ` Jan Beulich
2014-10-06 9:21 ` Stefano Stabellini
2014-10-06 9:39 ` Jan Beulich
2014-10-06 19:51 ` Don Slutz
2014-10-07 8:05 ` Jan Beulich
2014-10-06 9:54 ` Paul Durrant
2014-10-03 9:29 ` Paul Durrant
2014-10-03 19:44 ` Don Slutz [this message]
2014-10-03 9:46 ` Paul Durrant
2014-10-03 19:56 ` [Qemu-devel] [Xen-devel] " Don Slutz
2014-10-09 14:26 ` [RFC][PATCH v2x prototype " Don Slutz
2014-10-13 13:26 ` Paul Durrant
2014-10-13 17:11 ` Don Slutz
2014-10-14 9:57 ` Paul Durrant
2014-10-14 19:06 ` Don Slutz
2014-10-03 19:56 ` [RFC][PATCH v2 " Don Slutz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=542EFC80.50306@terremark.com \
--to=dslutz@verizon.com \
--cc=Ian.Campbell@citrix.com \
--cc=Paul.Durrant@citrix.com \
--cc=jbeulich@suse.com \
--cc=keir@xen.org \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.