|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] mem_event: Return previous value of CR0/CR3/CR4 on change.
At 10:54 +0000 on 25 Feb (1393322055), Jan Beulich wrote:
> >>> On 30.01.14 at 22:34, Tamas K Lengyel <tamas.lengyel@xxxxxxxxxxxx> wrote:
> > This patch extends the information returned for CR0/CR3/CR4 register write
> > events
> > with the previous value of the register. The old value was already passed
> > to
> > the trap
> > processing function, just never placed into the returned request. By
> > returning
> > this value, applications subscribing the CR events obtain additional
> > context
> > about
> > the event.
> >
> > Signed-off-by: Tamas K Lengyel <tamas.lengyel@xxxxxxxxxxxx>
>
> Tim, Andres,
>
> this seems to fall in your area - any thoughts?
I already acked this; I was intending to apply it on Thursday.
Tim.
> > ---
> > xen/arch/x86/hvm/hvm.c | 4 ++++
> > xen/include/public/mem_event.h | 6 +++---
> > 2 files changed, 7 insertions(+), 3 deletions(-)
> >
> > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> > index 69f7e74..d46abf2 100644
> > --- a/xen/arch/x86/hvm/hvm.c
> > +++ b/xen/arch/x86/hvm/hvm.c
> > @@ -4682,6 +4682,10 @@ static int hvm_memory_event_traps(long p, uint32_t
> > reason,
> > req.gla = gla;
> > req.gla_valid = 1;
> > }
> > + else
> > + {
> > + req.gla = old;
> > + }
> >
> > mem_event_put_request(d, &d->mem_event->access, &req);
> >
> > diff --git a/xen/include/public/mem_event.h b/xen/include/public/mem_event.h
> > index c9ed546..3831b41 100644
> > --- a/xen/include/public/mem_event.h
> > +++ b/xen/include/public/mem_event.h
> > @@ -40,9 +40,9 @@
> > /* Reasons for the memory event request */
> > #define MEM_EVENT_REASON_UNKNOWN 0 /* typical reason */
> > #define MEM_EVENT_REASON_VIOLATION 1 /* access violation, GFN is
> > address */
> > -#define MEM_EVENT_REASON_CR0 2 /* CR0 was hit: gfn is CR0 value
> > */
> > -#define MEM_EVENT_REASON_CR3 3 /* CR3 was hit: gfn is CR3 value
> > */
> > -#define MEM_EVENT_REASON_CR4 4 /* CR4 was hit: gfn is CR4 value
> > */
> > +#define MEM_EVENT_REASON_CR0 2 /* CR0 was hit: gfn is new CR0
> > value, gla is previous */
> > +#define MEM_EVENT_REASON_CR3 3 /* CR3 was hit: gfn is new CR3
> > value, gla is previous */
> > +#define MEM_EVENT_REASON_CR4 4 /* CR4 was hit: gfn is new CR4
> > value, gla is previous */
> > #define MEM_EVENT_REASON_INT3 5 /* int3 was hit: gla/gfn are RIP
> > */
> > #define MEM_EVENT_REASON_SINGLESTEP 6 /* single step was invoked:
> > gla/gfn are RIP */
> > #define MEM_EVENT_REASON_MSR 7 /* MSR was hit: gfn is MSR
> > value,
> > gla is MSR address;
> > --
> > 1.7.10.4
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@xxxxxxxxxxxxx
> > http://lists.xen.org/xen-devel
>
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |