From: Razvan Cojocaru <rcojocaru@bitdefender.com>
To: Tamas K Lengyel <tamas.k.lengyel@gmail.com>
Cc: Tamas K Lengyel <tlengyel@novetta.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Keir Fraser <keir@xen.org>, Jan Beulich <jbeulich@suse.com>,
Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] vm_event: Record FS_BASE/GS_BASE during events
Date: Thu, 11 Feb 2016 22:59:02 +0200 [thread overview]
Message-ID: <56BCF616.80309@bitdefender.com> (raw)
In-Reply-To: <CABfawh=ESyXxRHecpbNvZMSuyWfFv=iVAcAFJSeJV3=6JWjagA@mail.gmail.com>
On 02/11/2016 10:38 PM, Tamas K Lengyel wrote:
>
>
> On Thu, Feb 11, 2016 at 1:13 PM, Razvan Cojocaru
> <rcojocaru@bitdefender.com <mailto:rcojocaru@bitdefender.com>> wrote:
>
> On 02/11/2016 10:04 PM, Andrew Cooper wrote:
> > On 11/02/16 20:00, Razvan Cojocaru wrote:
> >> On 02/11/2016 09:55 PM, Andrew Cooper wrote:
> >>> On 11/02/16 19:54, Razvan Cojocaru wrote:
> >>>> On 02/11/2016 09:51 PM, Tamas K Lengyel wrote:
> >>>>> While the public vm_event header specifies fs_base/gs_base as
> registers that
> >>>>> should be recorded for each event, that hasn't actually been
> the case. In
> >>>>> this patch we remedy the issue.
> >>>>>
> >>>>> Signed-off-by: Tamas K Lengyel <tlengyel@novetta.com
> <mailto:tlengyel@novetta.com>>
> >>>>> Cc: Razvan Cojocaru <rcojocaru@bitdefender.com
> <mailto:rcojocaru@bitdefender.com>>
> >>>>> Cc: Keir Fraser <keir@xen.org <mailto:keir@xen.org>>
> >>>>> Cc: Jan Beulich <jbeulich@suse.com <mailto:jbeulich@suse.com>>
> >>>>> Cc: Andrew Cooper <andrew.cooper3@citrix.com
> <mailto:andrew.cooper3@citrix.com>>
> >>>>> ---
> >>>>> xen/arch/x86/hvm/event.c | 9 ++++++++-
> >>>>> 1 file changed, 8 insertions(+), 1 deletion(-)
> >>>> Fair enough.
> >>>>
> >>>> Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com
> <mailto:rcojocaru@bitdefender.com>>
> >>> Oops.
> >>>
> >>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com
> <mailto:andrew.cooper3@citrix.com>>
> >> This has actually been intentional, in that we've only needed those
> >> fields for EPT events, and thought that not filling what's not needed
> >> until it's needed would save a tiny bit of hypervisor processing
> time.
> >> They are being filled in only for page fault events at the moment.
> >>
> >> I believe it's been discussed at the time. We still don't need those
> >> coming with the events that use hvm_event_fill_regs(), but if Tamas
> >> needs them then by all means.
> >
> > The public header file does suggest that all of vm_event_regs_x86 will
> > be complete. Are there any other fields currently missing?
>
> There are. p2m_vm_event_fill_regs() fills everything in (in
> xen/arch/x86/mm/p2m.c). hvm_event_fill_regs() still does not, even after
> Tamas' patch.
>
>
> Ah, that makes sense. Yea, I would prefer if all registers would get
> filled in for all events so I'll just consolidate these two functions
> into one.
Right, but please be careful and test that you get correct values with
all events (page fault events + the others), I remember that for some
reason I needed to use different ways to get at the same values in
p2m_vm_event_fill_regs() and hvm_event_fill_regs().
For example, p2m_vm_event_fill_regs() does:
hvm_funcs.save_cpu_ctxt(curr, &ctxt);
req->data.regs.x86.cr0 = ctxt.cr0;
and hvm_event_fill_regs() does:
req->data.regs.x86.cr0 = curr->arch.hvm_vcpu.guest_cr[0];
I don't remember exactly why I had to do that at the time, but I do
recall it being necessary.
Thanks,
Razvan
next prev parent reply other threads:[~2016-02-11 20:59 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-11 19:51 [PATCH] vm_event: Record FS_BASE/GS_BASE during events Tamas K Lengyel
2016-02-11 19:54 ` Razvan Cojocaru
2016-02-11 19:55 ` Andrew Cooper
2016-02-11 20:00 ` Razvan Cojocaru
2016-02-11 20:04 ` Andrew Cooper
2016-02-11 20:13 ` Razvan Cojocaru
2016-02-11 20:38 ` Tamas K Lengyel
2016-02-11 20:59 ` Razvan Cojocaru [this message]
2016-02-11 21:11 ` Tamas K Lengyel
2016-02-11 21:12 ` Tamas K Lengyel
2016-02-11 21:34 ` Razvan Cojocaru
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=56BCF616.80309@bitdefender.com \
--to=rcojocaru@bitdefender.com \
--cc=andrew.cooper3@citrix.com \
--cc=jbeulich@suse.com \
--cc=keir@xen.org \
--cc=tamas.k.lengyel@gmail.com \
--cc=tlengyel@novetta.com \
--cc=xen-devel@lists.xenproject.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.