On Thu, May 19, 2016 at 12:28 AM, Yigal Korman <yigal(a)plexistor.com> wrote:
On Tue, May 17, 2016 at 7:33 PM, Dan Williams
> On Tue, May 17, 2016 at 9:30 AM, Yigal Korman <yigal(a)plexistor.com> wrote:
> > On May 17, 2016 6:57 PM, "Dan Williams"
> >> On Tue, May 17, 2016 at 8:36 AM, Yigal Korman <yigal(a)plexistor.com>
> >> > Hi all,
> >> > I've got a couple of legacy 'type 12' NVDIMM-F modules in
our lab I've
> >> > been successfully testing.
> >> > Recently I moved them to a new system where EFI bootloader is used
> >> > (CentOS 7 installed with EFI) and was surprised to see that
> >> > not identified as legacy 'type 12' persistent memory, are not
> >> > by the 'nd_pmem' driver and I don't get /dev/pmemX
> >> > They show as 'type 7' in the E820 map and 'Persistent
> >> > /proc/iomem.
> >> > Is this the intended behavior? shouldn't they be identified as
> >> > if they don't have NFIT?
> >> If the BIOS identifies it as type-7 it is broken, as far as Linux is
> >> concerned, if does not also export an NFIT with an ACPI0012 device.
> >> One would hope there are no new BIOS images being produced that use
> >> type-12...
> > I'm not sure I understand, what was supposed to the right thing for the
> > to do? AFAIK there's no type-12 in EFI...
> The BIOS should mark the region as type-7, define an ACPI0012 device,
> and publish an NFIT table.
You mean the EFI BIOS should identify the legacy NVDIMMs and create a
fake/default NFIT table to define them?
Yes, there's really no such thing as legacy DIMMs, only pre-ACPI 6.x
platforms. If the ACPI implementation version is 6.x it should
implement an NFIT for an NVDIMM.
Most of the latest servers I know of don't have support for NFIT
them yet, and people still want to use NVDIMMs and EFI on them,
perhaps it would be better to have the kernel construct a default NFIT
table if one is not given?
We have the "memmap=nn[KMG]!ss[KMG]" command line option, but I
otherwise don't see a safe way for the kernel to automatically
construct an NFIT.