|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC V3 2/5] xen: Optimize introspection access to guest state
>>> On 23.07.14 at 14:34, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
> +static void hvm_mem_event_fill_regs(mem_event_request_t *req)
> +{
> + struct cpu_user_regs *regs = guest_cpu_user_regs();
> + struct vcpu *v = current;
This should be "curr" instead of "v" (also further down).
> --- a/xen/include/public/mem_event.h
> +++ b/xen/include/public/mem_event.h
> @@ -48,6 +48,44 @@
> #define MEM_EVENT_REASON_MSR 7 /* MSR was hit: gfn is MSR value,
> gla is MSR address;
> does NOT honour
> HVMPME_onchangeonly */
>
> +/* Using a custom struct (not hvm_hw_cpu) so as to not fill
> + * the mem_event ring buffer too quickly. */
> +typedef struct mem_event_regs_st {
> + uint64_t rax;
> + uint64_t rcx;
> + uint64_t rdx;
> + uint64_t rbx;
> + uint64_t rsp;
> + uint64_t rbp;
> + uint64_t rsi;
> + uint64_t rdi;
> + uint64_t r8;
> + uint64_t r9;
> + uint64_t r10;
> + uint64_t r11;
> + uint64_t r12;
> + uint64_t r13;
> + uint64_t r14;
> + uint64_t r15;
> + uint64_t rflags;
> + uint64_t dr7;
> + uint64_t rip;
> + uint64_t cr0;
> + uint64_t cr2;
> + uint64_t cr3;
> + uint64_t cr4;
> + uint64_t sysenter_cs;
> + uint64_t sysenter_esp;
> + uint64_t sysenter_eip;
> + uint64_t msr_efer;
> + uint64_t msr_star;
> + uint64_t msr_lstar;
> + uint64_t fs_base;
> + uint64_t gs_base;
> + uint32_t cs_arbytes;
I realize that the header is already pretty x86-centric despite not sitting
under arch-x86/, but this clearly gets it over the boundary: These should
live in an x86-only header, or at least in an x86-only section.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |