[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/5] Implement code to read coverage informations
> diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h > index 3225b2a..5e80400 100644 > --- a/xen/include/public/sysctl.h > +++ b/xen/include/public/sysctl.h > @@ -596,6 +596,42 @@ struct xen_sysctl_scheduler_op { > typedef struct xen_sysctl_scheduler_op xen_sysctl_scheduler_op_t; > DEFINE_XEN_GUEST_HANDLE(xen_sysctl_scheduler_op_t); > > +/* XEN_SYSCTL_coverage_op */ > +/* > + * Check if coverage informations are available > + * return just success or error, no parameters > + */ > +#define XEN_SYSCTL_COVERAGE_enabled 0 You can detect this by getting -ENOSYS from the hypercall, which is what you would get running the tool on an older hypervisor, so you need to handle it anyway. > + > +/* > + * Get total size of information, to help allocate > + * the buffer. The pointer points to a 32 bit value. > + */ > +#define XEN_SYSCTL_COVERAGE_get_total_size 1 > + > +/* > + * Read coverage information in a single run > + * You must use a tool to split them > + */ > +#define XEN_SYSCTL_COVERAGE_read 2 > + > +/* > + * Reset all the coverage counters to 0 > + * No parameters. > + */ > +#define XEN_SYSCTL_COVERAGE_reset 3 Any need for simultaneous read+reset? > +struct xen_sysctl_coverage_op { > + uint32_t cmd; /* XEN_SYSCTL_COVERAGE_* */ > + union { > + XEN_GUEST_HANDLE_64(uint32) total_size; /* OUT */ This one can just be a uint32_t I think, no need for it to be a pointer/handle. > + XEN_GUEST_HANDLE_64(uint8) raw_info; /* OUT */ > + } u; > +}; > +typedef struct xen_sysctl_coverage_op xen_sysctl_coverage_op_t; > +DEFINE_XEN_GUEST_HANDLE(xen_sysctl_coverage_op_t); > + > + > struct xen_sysctl { > uint32_t cmd; > #define XEN_SYSCTL_readconsole 1 > @@ -616,6 +652,7 @@ struct xen_sysctl { > #define XEN_SYSCTL_numainfo 17 > #define XEN_SYSCTL_cpupool_op 18 > #define XEN_SYSCTL_scheduler_op 19 > +#define XEN_SYSCTL_coverage_op 20 > uint32_t interface_version; /* XEN_SYSCTL_INTERFACE_VERSION */ > union { > struct xen_sysctl_readconsole readconsole; > @@ -636,6 +673,7 @@ struct xen_sysctl { > struct xen_sysctl_lockprof_op lockprof_op; > struct xen_sysctl_cpupool_op cpupool_op; > struct xen_sysctl_scheduler_op scheduler_op; > + struct xen_sysctl_coverage_op coverage_op; > uint8_t pad[128]; > } u; > }; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |