HomeFreeBSD

nvdimm: only enumerate present nvdimm devices

Description

nvdimm: only enumerate present nvdimm devices

Not all child devices of the NVDIMM root device represent DIMM devices
which are present in the system. The spec says (ACPI 6.2, sec 9.20.2):

For each NVDIMM present or intended to be supported by platform,
platform firmware also exposes an NVDIMM device ... under the
NVDIMM root device.

Present NVDIMM devices are found by walking all of the NFIT table's
SPA ranges, then walking the NVDIMM regions mentioned by those SPA
ranges.

A set of NFIT walking helper functions are introduced to avoid the
need to splat the enumeration logic across several disparate
callbacks.

Submitted by: D Scott Phillips <d.scott.phillips@intel.com>
Sponsored by: Intel Corporation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D18439

Details

Provenance
kibAuthored on
Differential Revision
D18439: nvdimm: only enumerate present nvdimm devices
Parents
rS343628: nvdimm: enumerate NVDIMM SPA ranges from the root device
Branches
Unknown
Tags
Unknown