[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 23/30] xen+tools: Export maximum host and guest cpu featuresets via SYSCTL
On 17/02/16 08:30, Jan Beulich wrote: >>>> On 05.02.16 at 14:42, <andrew.cooper3@xxxxxxxxxx> wrote: >> @@ -190,6 +191,71 @@ long arch_do_sysctl( >> } >> break; >> >> + case XEN_SYSCTL_get_cpu_featureset: >> + { >> + const uint32_t *featureset; >> + unsigned int nr; >> + >> + /* Request for maximum number of features? */ >> + if ( guest_handle_is_null(sysctl->u.cpu_featureset.features) ) >> + { >> + sysctl->u.cpu_featureset.nr_features = FSCAPINTS; >> + if ( __copy_field_to_guest(u_sysctl, sysctl, >> + u.cpu_featureset.nr_features) ) >> + ret = -EFAULT; >> + break; >> + } >> + >> + /* Clip the number of entries. */ >> + nr = sysctl->u.cpu_featureset.nr_features; >> + if ( nr > FSCAPINTS ) >> + nr = FSCAPINTS; > min() (perhaps even allowing to obviate the comment)? They are different types, and you specifically objected to min_t() before. > >> + switch ( sysctl->u.cpu_featureset.index ) >> + { >> + case XEN_SYSCTL_cpu_featureset_raw: >> + featureset = raw_featureset; >> + break; >> + >> + case XEN_SYSCTL_cpu_featureset_host: >> + featureset = host_featureset; >> + break; >> + >> + case XEN_SYSCTL_cpu_featureset_pv: >> + featureset = pv_featureset; >> + break; >> + >> + case XEN_SYSCTL_cpu_featureset_hvm: >> + featureset = hvm_featureset; >> + break; >> + >> + default: >> + featureset = NULL; >> + break; >> + } >> + >> + /* Bad featureset index? */ >> + if ( !ret && !featureset ) >> + ret = -EINVAL; > Nothing above altered "ret" from its zero value, so the check here > is pointless. So it is. > >> --- a/xen/include/public/sysctl.h >> +++ b/xen/include/public/sysctl.h >> @@ -766,6 +766,29 @@ struct xen_sysctl_tmem_op { >> typedef struct xen_sysctl_tmem_op xen_sysctl_tmem_op_t; >> DEFINE_XEN_GUEST_HANDLE(xen_sysctl_tmem_op_t); >> >> +/* >> + * XEN_SYSCTL_get_cpu_featureset (x86 specific) >> + * >> + * Return information about the maximum sets of features which can be >> offered >> + * to different types of guests. This is all strictly information as found >> in >> + * `cpuid` feature leaves with no synthetic additions. >> + */ > The reference to guests in the comment conflicts with the raw and > host types below. I will reword. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |