On Mon, Oct 19, 2020 at 02:17:52PM +0800, shuo.a....@intel.com wrote: > --- /dev/null > +++ b/include/uapi/linux/acrn.h > @@ -0,0 +1,56 @@ > +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ > +/* > + * Userspace interface for /dev/acrn_hsm - ACRN Hypervisor Service Module > + * > + * This file can be used by applications that need to communicate with the > HSM > + * via the ioctl interface. > + */ > + > +#ifndef _UAPI_ACRN_H > +#define _UAPI_ACRN_H > + > +#include <linux/types.h> > + > +/** > + * struct acrn_vm_creation - Info to create a User VM > + * @vmid: User VM ID returned from the hypervisor > + * @reserved0: Reserved > + * @vcpu_num: Number of vCPU in the VM. Return from > hypervisor. > + * @reserved1: Reserved > + * @uuid: UUID of the VM. Pass to hypervisor directly. > + * @vm_flag: Flag of the VM creating. Pass to hypervisor directly. > + * @ioreq_buf: Service VM GPA of I/O request buffer. Pass to > + * hypervisor directly. > + * @cpu_affinity: CPU affinity of the VM. Pass to hypervisor directly. > + * @reserved2: Reserved
Reserved and must be 0? What are they reserved for? Same for all of the reserved fields, why? > + */ > +struct acrn_vm_creation { > + __u16 vmid; > + __u16 reserved0; > + __u16 vcpu_num; > + __u16 reserved1; > + __u8 uuid[16]; We have a userspace-visable uid structure in include/uapi/uuid.h, why not use that? thanks, greg k-h