On Tue, Apr 28, 2015 at 3:21 PM, Phil Pokorny <ppoko...@penguincomputing.com> wrote: > On Tue, Apr 28, 2015 at 2:04 PM, Andy Lutomirski <l...@amacapital.net> wrote: >> On Tue, Apr 28, 2015 at 11:25 AM, Dan Williams <dan.j.willi...@intel.com> >> 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/