On Tue, Nov 10, 2015 at 12:04:22PM -0700, Elliott, Robert (Persistent Memory) wrote: > > -----Original Message----- > > From: Linux-nvdimm [mailto:linux-nvdimm-bounces@xxxxxxxxxxxx] On Behalf Of > > Hoemann, Jerry > > Sent: Friday, November 6, 2015 4:27 PM > > Subject: [PATCH 1/4] nvdimm: Add wrapper for IOCTL pass thru. > ... > > diff --git a/include/uapi/linux/ndctl.h b/include/uapi/linux/ndctl.h > ... > > +struct ndn_pkg { > > + struct { > > + __u8 dsm_uuid[16]; > > + __u32 dsm_in; /* size of _DSM input */ > > + __u32 dsm_out; /* size of user buffer */ > > + __u32 dsm_rev; /* revision of dsm call */ > > + __u32 res[8]; /* reserved must be zero */ > > + __u32 dsm_size; /* size _DSM would write */ > > + } h; > > + unsigned char buf[]; > > +} __packed; > > Given that the _DSM arguments are defined as: > * Arg0 UUID: Buffer of 16 bytes > * Arg1 Revision ID: Integer (8 bytes) > * Arg2 Function Index: Integer (8 bytes) > * Arg3 Package: function-specific > > 1. The __u32 for dsm_rev is not big enough to express all > possible 8 byte Revision IDs. > > 2. The unsigned int cmd (carried outside this structure) > is not big enough on all platforms (e.g., 32-bit) to > express all possible Function Indexes. > > 3. The Revision ID and Function Index values passed to > the _DSM are defined as little-endian. Are they > intended to use native endianness or be little-endian > in this structure? > Thanks, Robert. I will look at these for version 2. Jerry -- ----------------------------------------------------------------------------- Jerry Hoemann Software Engineer Hewlett-Packard Enterprise 3404 E Harmony Rd. MS 36 phone: (970) 898-1022 Ft. Collins, CO 80528 FAX: (970) 898-0707 email: jerry.hoemann@xxxxxxx ----------------------------------------------------------------------------- -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html