[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 |