[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 01/28] HYPERCALL_version_op. New hypercall mirroring XENVER_ but sane.
On March 24, 2016 4:22:29 PM EDT, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote: >On 24/03/16 20:00, Konrad Rzeszutek Wilk wrote: >> This hypercall mirrors the XENVER_ in that it has similar >functionality. >> However it is designed differently: >> - No compat layer. The data structures are the same size on 32 >> as on 64-bit. >> - The hypercall accepts three arguments - the command, pointer to >> an buffer, and the length of the buffer. > >"a buffer" > >> +/* Computed by kernel_cache_init. */ >> +static xen_capabilities_info_t __read_mostly cached_cap; >> +static unsigned int __read_mostly cached_cap_len; >> + >> +/* >> + * Similar to HYPERVISOR_xen_version but with a sane interface >> + * (has a length, one can probe for the length) and with one less >sub-ops: >> + * missing XENVER_compile_info. >> + */ >> +DO(version_op)(unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) arg, >> + unsigned int len) >> +{ >> + union { >> + xen_version_op_val_t val; >> + xen_feature_info_t fi; >> + } u = {}; >> + unsigned int sz = 0; >> + const void *ptr = NULL; >> + int rc = xsm_version_op(XSM_OTHER, cmd); >> + >> + /* We can safely return -EPERM! */ >> + if ( rc ) >> + return rc; >> + >> + /* >> + * The HYPERVISOR_xen_version differs in that some return the >value, >> + * and some copy it on back on argument. We follow the same rule >for all >> + * sub-ops: return 0 on success, positive value of bytes >returned, and > >You can't return both 0 and a positive number for success. I would >recommend "return the number of bytes written, or negative errno on >failure". Thanks! And Argh! I neglected to change the name of kernel_cache_init as Jan requested. > >Other than these, LGTM. > >Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Yeey! _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |