Messages in this thread | | | From | Dan Williams <> | Date | Mon, 28 Aug 2017 20:22:09 -0700 | Subject | Re: [PATCH] libnvdimm: clean up command definitions |
| |
On Mon, Aug 28, 2017 at 6:03 PM, Yasunori Goto <y-goto@jp.fujitsu.com> wrote: >> On Mon, Aug 28, 2017 at 1:50 PM, Jerry Hoemann <jerry.hoemann@hpe.com> wrote: >> > >> > On Mon, Aug 28, 2017 at 08:45:32AM -0700, Dan Williams wrote: >> >> Remove the command payloads that do not have an associated libnvdimm >> >> ioctl. I.e. remove the payloads that would only ever be carried in the >> >> ND_CMD_CALL envelope. This prevents userspace from growing unnecessary >> >> dependencies on this kernel header when userspace already has everything >> >> it needs to craft and send these commands. >> > >> > Userspace needs to include linux/ndctl.h to make the call as >> > that is where nd_cmd_pkg is defined. >> > >> > So you want to have some structures defined in ndctl.h and other >> > defined in the to be created libndctl-nfit.h? Plus a third header >> > file for the HPE non-root calls? >> >> Yes. ndctl.h exports the ioctl command payloads, everything that goes >> inside of ND_CMD_CALL is defined by userspace headers. The >> libndctl-nfit.h header is proposed as a place to land vendor agnostic >> NFIT-defined payloads, and any vendor specific definitions would >> remain internal to libndctl as they are today. >> >> > Will libndctl-nfit.h be generally available and installed? >> >> Yes, that's the plan. >> >> > Will it be clean so that other applications can use it to get these >> > definitions? Or will it be loaded w/ a bunch of stuff only useful >> > to your ndctl command? >> >> Yes, that's the plan. It's a bug if libndctl-nfit.h is not generically >> clean for issuing the NFIT root device commands via some ND_CMD_CALL >> helpers from the base libndctl library. >> >> In other words libndctl-nfit.h defines the payload and libndctl >> defines some general helpers for issuing commands. > > Maybe I don't understand your idea yet, let me confirm it. > > Certainly, current acpi driver does not need these definitions. > But, I think nfit_test.ko will need them to emulate these features. > > Do you intend that libndctl-nfit.h should be defined at "include/uapi/linux/" > directory? > Otherwise, it should be defined at "tools/testing/nvdimm/" or > "tools/testing/nvdimm/test" ?
nfit_test will need its own internal / private copy of these payloads in tools/testing/nvdimm/test so it can emulate how the bios behaves. The include/uapi/linux directory is for user to kernel interface definitions and these command payloads are purely an interface to bios / firmware.
| |