[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 22:34 +0100 on 30 Jan (1391117656), Tamas K Lengyel 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>

Applied, thanks.

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.