On 16/09/2019 12:04, Jan Beulich wrote: > On 13.09.2019 21:27, Andrew Cooper wrote: >> v2: >> * Bump the DOMCTL interface version >> * Proactively set the error pointers in xc_set_domain_cpu_policy() > From this I would have expected ... > >> --- a/tools/libxc/xc_cpuid_x86.c >> +++ b/tools/libxc/xc_cpuid_x86.c >> @@ -229,6 +229,52 @@ int xc_get_domain_cpu_policy(xc_interface *xch, >> uint32_t domid, >> return ret; >> } >> >> +int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid, >> + uint32_t nr_leaves, xen_cpuid_leaf_t *leaves, >> + uint32_t nr_msrs, xen_msr_entry_t *msrs, >> + uint32_t *err_leaf_p, uint32_t *err_subleaf_p, >> + uint32_t *err_msr_p) >> +{ >> + DECLARE_DOMCTL; >> + DECLARE_HYPERCALL_BOUNCE(leaves, >> + nr_leaves * sizeof(*leaves), >> + XC_HYPERCALL_BUFFER_BOUNCE_IN); >> + DECLARE_HYPERCALL_BOUNCE(msrs, >> + nr_msrs * sizeof(*msrs), >> + XC_HYPERCALL_BUFFER_BOUNCE_IN); >> + int ret; >> + >> + if ( xc_hypercall_bounce_pre(xch, leaves) ) >> + return -1; >> + >> + if ( xc_hypercall_bounce_pre(xch, msrs) ) >> + return -1; > ... setting of *err_..._p ahead of these.
Hmm - I suppose so. Done. > >> @@ -658,17 +658,24 @@ struct xen_domctl_cpuid { >> }; >> >> /* >> - * XEN_DOMCTL_get_cpu_policy (x86 specific) >> + * XEN_DOMCTL_{get,set}_cpu_policy (x86 specific) >> * >> - * Query the CPUID and MSR policies for a specific domain. >> + * Query or set the CPUID and MSR policies for a specific domain. >> */ >> struct xen_domctl_cpu_policy { >> uint32_t nr_leaves; /* IN/OUT: Number of leaves in/written to >> * 'cpuid_policy'. */ >> uint32_t nr_msrs; /* IN/OUT: Number of MSRs in/written to >> * 'msr_domain_policy' */ >> - XEN_GUEST_HANDLE_64(xen_cpuid_leaf_t) cpuid_policy; /* OUT */ >> - XEN_GUEST_HANDLE_64(xen_msr_entry_t) msr_policy; /* OUT */ >> + XEN_GUEST_HANDLE_64(xen_cpuid_leaf_t) cpuid_policy; /* IN/OUT */ >> + XEN_GUEST_HANDLE_64(xen_msr_entry_t) msr_policy; /* IN/OUT */ >> + >> + /* >> + * OUT, set_policy only. Written in some (but not all) error cases to >> + * identify problem the CPUID leaf/subleaf and/or MSR which auditing >> + * objects to. >> + */ > Stray "problem", or missing further word(s)? Stray problem. Dropped. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel