|
[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.
>>> 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?
Thanks, Jan
> ---
> 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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |