[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 06/13] x86/PMU: Add public xenpmu.h
>>> On 20.09.13 at 11:42, Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> wrote: > +struct amd_vpmu_context { > + uint64_t counters[XENPMU_AMD_MAX_COUNTERS]; > + uint64_t ctrls[XENPMU_AMD_MAX_COUNTERS]; > + uint8_t msr_bitmap_set; /* Used by HVM only */ > +}; sizeof() this will not be the same for this in a 64-bit an a 32-bit guest. Are you intentionally creating a need for translation here? > + > +/* Intel PMU registers and structures */ > +#define XENPMU_CORE2_MAX_ARCH_PMCS 16 > +#define XENPMU_CORE2_MAX_FIXED_PMCS 4 > +struct core2_vpmu_context { > + uint64_t global_ctrl; > + uint64_t global_ovf_ctrl; > + uint64_t global_status; > + uint64_t global_ovf_status; > + uint64_t fixed_ctrl; > + uint64_t ds_area; > + uint64_t pebs_enable; > + uint64_t debugctl; > + uint64_t fix_counters[XENPMU_CORE2_MAX_FIXED_PMCS]; > + struct { > + uint64_t counter; > + uint64_t control; > + } arch_msr_pair[XENPMU_CORE2_MAX_ARCH_PMCS]; > +}; I realize that using embedded arrays in both AMD and Intel structures makes things easier to implement, but it reduces forward compatibility. I'd therefore prefer those to be made handles. > +#define MAX(x, y) ((x) > (y) ? (x) : (y)) I think we already agreed in the context of someone else's reply that this has to go away. > +struct arch_xenpmu { > + union { > + struct cpu_user_regs regs; Oh, so you need to do translation for 32-bit guests anyway... > --- /dev/null > +++ b/xen/include/public/xenpmu.h > @@ -0,0 +1,38 @@ > +#ifndef __XEN_PUBLIC_XENPMU_H__ > +#define __XEN_PUBLIC_XENPMU_H__ > + > +#include "xen.h" > +#if defined(__i386__) || defined(__x86_64__) > +#include "arch-x86/xenpmu-x86.h" > +#elif defined (__arm__) || defined (__aarch64__) > +#include "arch-arm.h" ??? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |