On Fri, Sep 1, 2017 at 6:16 AM, Yasunori Goto <[email protected]> wrote:
>
> This patch introduces libndctl-nfit.h.
>
> Since these command can be executed via ND_CMD_CALL,
> libndctl.h which is shared between ndctl command and kernel does not
> have to include these defintions.
>
> So, libndctl-nfit.h, which is defined for only ndctl, is created instead,
> and move definitions from ndctl.h to it.
>
> Signed-off-by: Yasunori Goto <[email protected]>
> ---
>  ndctl/libndctl-nfit.h | 76 
> +++++++++++++++++++++++++++++++++++++++++++++++++++
>  ndctl/ndctl.h         | 37 -------------------------
>  2 files changed, 76 insertions(+), 37 deletions(-)
>
> diff --git a/ndctl/libndctl-nfit.h b/ndctl/libndctl-nfit.h
> new file mode 100644
> index 0000000..1258d2e
> --- /dev/null
> +++ b/ndctl/libndctl-nfit.h
> @@ -0,0 +1,76 @@
> +/*
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms and conditions of the GNU Lesser General Public License,
> + * version 2.1, as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope it will be useful, but WITHOUT ANY
> + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
> + * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for
> + * more details.
> + */
> +
> +#ifndef __LIBNDCTL_NFIT_H__
> +#define __LIBNDCTL_NFIT_H__
> +
> +/*
> + * libndctl-nfit.h : definitions for NFIT related commands/functions.
> + */
> +
> +/* nfit command numbers which are called via ND_CMD_CALL */
> +enum {
> +       NFIT_CMD_TRANSLATE_SPA = 5,
> +       NFIT_CMD_ARS_INJECT_SET = 7,
> +       NFIT_CMD_ARS_INJECT_CLEAR = 8,
> +       NFIT_CMD_ARS_INJECT_GET = 9,
> +};
> +
> +/* error number of Translate SPA by firmware  */
> +#define ND_TRANSLATE_SPA_STATUS_INVALID_SPA  2
> +
> +/*
> + * The following structures are command packages which are
> + * defined by ACPI 6.2 (or later).
> + */
> +
> +/* For Translate SPA */
> +struct nd_cmd_translate_spa {
> +       __u64 spa;
> +       __u32 status;
> +       __u8  flags;
> +       __u8  _reserved[3];
> +       __u64 translate_length;
> +       __u32 num_nvdimms;
> +       struct nd_nvdimm_device {
> +               __u32 nfit_device_handle;
> +               __u32 _reserved;
> +               __u64 dpa;
> +       } devices[0];
> +
> +}; /* naturally packed */
> +

Sorry, I wasn't clear. Only "nd_cmd_ars_err_inj_stat" is naturally
packed the others are not. I can fix this up when I apply it.
_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to