Hi Dexuan, Looks good. Just one update request and a note below... On Wed, Jan 23, 2019 at 12:51 PM Dexuan Cui <decui@xxxxxxxxxxxxx> wrote: > > > Add the Hyper-V _DSM command set to the white list of NVDIMM command > sets. > > This command set is documented at http://www.uefi.org/RFIC_LIST > (see the link to "Virtual NVDIMM 0x1901" on the page). > > Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> > --- > > I'm going to change the user-space utility "ndctl" to support Hyper-V Virtual NVDIMM. > This kernel patch is required first. > > drivers/acpi/nfit/core.c | 5 ++++- > drivers/acpi/nfit/nfit.h | 6 +++++- > include/uapi/linux/ndctl.h | 1 + > 3 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c > index 011d3db19c80..fb48cb17a519 100644 > --- a/drivers/acpi/nfit/core.c > +++ b/drivers/acpi/nfit/core.c > @@ -1840,7 +1840,7 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc, > dev_set_drvdata(&adev_dimm->dev, nfit_mem); > > /* > - * Until standardization materializes we need to consider 4 > + * Until standardization materializes we need to consider 5 > * different command sets. Note, that checking for function0 (bit0) > * tells us if any commands are reachable through this GUID. > */ This comment is stale. This "HYPERV" family is the first example of the "right" way to define a new NVDIMM command set. Lets update it to mention the process and considerations for submitting new command sets to UEFI (http://www.uefi.org/RFIC_LIST). The fact that there's now a defined process is a step forward from when this comment was initially written. Also, the fact that the process encourages "adopt" vs "supersede" addresses the main concern about vendor-specific command-set proliferation. > @@ -1865,6 +1865,8 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc, > dsm_mask &= ~(1 << 8); > } else if (nfit_mem->family == NVDIMM_FAMILY_MSFT) { > dsm_mask = 0xffffffff; > + } else if (nfit_mem->family == NVDIMM_FAMILY_HYPERV) { > + dsm_mask = 0x1f; Just a note that starting with commit 5e9e38d0db1d "acpi/nfit: Block function zero DSMs", bit0 in this mask will be cleared to ensure that only the kernel has the ability to probe for supported DSM functions.