Re: [Linux-nvdimm] [PATCH v2 11/20] libnd, nd_pmem: add libnd support to the pmem driver

From: Andy Lutomirski
Date: Tue Apr 28 2015 - 18:58:29 EST


On Tue, Apr 28, 2015 at 3:21 PM, Phil Pokorny
<ppokorny@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Tue, Apr 28, 2015 at 2:04 PM, Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
>> On Tue, Apr 28, 2015 at 11:25 AM, Dan Williams <dan.j.williams@xxxxxxxxx> wrote:
>>> +config ND_E820
>>> + tristate "E820: Support the E820-type-12 PMEM convention"
>>> + depends on X86_PMEM_LEGACY
>>> + default m if X86_PMEM_LEGACY
>>> + select LIBND
>>> + help
>>> + Prior to ACPI 6 some platforms advertised peristent memory
>>> + via type-12 e820 memory ranges. Create a libnd bus and
>>> + attach an instance of the pmem driver to these ranges.
>>> +
>>
>> How about something like:
>>
>> "This driver allows libnd to work with legacy, pre-ACPI 6 NVDIMMs.
>> This enables such devices to be exposed as block devices using PMEM.
>>
>> The legacy NVDIMM interface is problematic. This driver will not work
>> if you boot using UEFI, and some NVDIMMs and motherboards that work
>> with this driver may require proprietary code in order to work
>> reliably."
>
> Perhaps not "problematic" but "requires a BIOS in Legacy mode"
>
> It might also mention that if you use the kernel command line
> memmap=nn!ss syntax it adds
> a type 12 region to the e820 map and so you would want this support.
>
> If you have a motherboard with UEFI support for NVDIMM's that would be
> the recommended
> configuration.

This is such a mess that I think this driver should maybe flat-out
refuse to load in this type of configuration without some scary module
option. I have some NVDIMMs that report as type 12 but need two extra
out-of-tree drivers to work safely. First, they need i2c_imc or the
equivalent (I'll try to resubmit that soon). Second, they need secret
magic NDAed register poking. The latter is very problematic.

At the very least, I think we should discourage people who don't
really know what they're doing from using this driver without care.

--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/