Revision tags: release/14.0.0 |
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0 |
|
#
bdde49b7 |
| 16-Feb-2021 |
Ravi Pokala <rpokala@FreeBSD.org> |
nvdimm(4): Export NVDIMM health flags via sysctl
The ACPI NFIT specification defines a set of "NVDIMM State Flags". These flags are already reported by `acpidump -t', but this change makes them avai
nvdimm(4): Export NVDIMM health flags via sysctl
The ACPI NFIT specification defines a set of "NVDIMM State Flags". These flags are already reported by `acpidump -t', but this change makes them available on a per-device basis, in a format that is more easily parsed.
To simplify this, introduce acpi_nfit_get_memory_maps_by_dimm(), which locates the (ACPI_NFIT_MEMORY_MAP)s associated with a given (nfit_handle_t).
Reviewed by: mav, cem Tested by: mav, rpokala (version for stable/12) MFC after: 3 days Sponsored by: Panasas
show more ...
|
Revision tags: release/12.2.0, release/11.4.0 |
|
#
024932aa |
| 30-Dec-2019 |
Alexander Motin <mav@FreeBSD.org> |
Use atomic for start_count in devstat_start_transaction().
Combined with earlier nstart/nend removal it allows to remove several locks from request path of GEOM and few other places. It would be co
Use atomic for start_count in devstat_start_transaction().
Combined with earlier nstart/nend removal it allows to remove several locks from request path of GEOM and few other places. It would be cool if we had more SMP-friendly statistics, but this helps too.
Sponsored by: iXsystems, Inc.
show more ...
|
#
cf8b104f |
| 12-Nov-2019 |
D Scott Phillips <scottph@FreeBSD.org> |
nvdimm(4): Only expose namespaces for accessible data SPAs
Apply the same user accessible filter to namespaces as is applied to full-SPA devices. Also, explicitly filter out control region SPAs whic
nvdimm(4): Only expose namespaces for accessible data SPAs
Apply the same user accessible filter to namespaces as is applied to full-SPA devices. Also, explicitly filter out control region SPAs which don't expose the nvdimm data area.
Reviewed by: cem Approved by: scottl (mentor) MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D21987
show more ...
|
Revision tags: release/12.1.0 |
|
#
43e4b6ca |
| 18-Oct-2019 |
Conrad Meyer <cem@FreeBSD.org> |
nvdimm(4): Persist unit numbers in cdev
They're formatted into the device name like unit numbers, anyway; store the number in mda_unit => si_drv0 like dev2unit() expects.
No functional change inten
nvdimm(4): Persist unit numbers in cdev
They're formatted into the device name like unit numbers, anyway; store the number in mda_unit => si_drv0 like dev2unit() expects.
No functional change intended.
Sponsored by: Dell EMC Isilon
show more ...
|
#
51501370 |
| 11-Oct-2019 |
Conrad Meyer <cem@FreeBSD.org> |
nvdimm(4): Calculate and save memattr once; it never changes
Refactor nvdimm_spa_memattr() routine and callers to just save the value at initialization and use the value directly. The reference val
nvdimm(4): Calculate and save memattr once; it never changes
Refactor nvdimm_spa_memattr() routine and callers to just save the value at initialization and use the value directly. The reference value from NFIT, MemoryMapping, is read only once, so the associated memattr could never change.
No functional change.
Sponsored by: Dell EMC Isilon
show more ...
|
#
8b3bc70a |
| 08-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352764 through r353315.
|
#
cbd974b4 |
| 04-Oct-2019 |
Conrad Meyer <cem@FreeBSD.org> |
nvdimm(4): Add nvdimm_e820 pseudo-bus
nvdimm_e820 is a newbus pseudo driver that looks for "legacy" e820 PRAM spans and creates ordinary-looking SPA devfs nodes for them (/dev/nvdimm_spaN).
As thes
nvdimm(4): Add nvdimm_e820 pseudo-bus
nvdimm_e820 is a newbus pseudo driver that looks for "legacy" e820 PRAM spans and creates ordinary-looking SPA devfs nodes for them (/dev/nvdimm_spaN).
As these legacy regions lack real NFIT SPA regions and namespace definitions, they must be administratively sliced up externally using device.hints. This is similar in purpose to the Linux memmap= mechanism.
It is assumed that systems with working NFIT tables will not have any use for this driver, and that that will be the prevailing style going forward, so if there are no explicit hints provided, this driver does not automatically create any devices.
Reviewed by: kib (previous version) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D21885
show more ...
|
#
963c89ff |
| 27-Sep-2019 |
Conrad Meyer <cem@FreeBSD.org> |
nvdimm(4): Extract ACPI root bus driver
No functional change intended.
The intent is to add a "legacy" e820 pmem newbus bus for nvdimm device in a subsequent revision, and it's a little more clear
nvdimm(4): Extract ACPI root bus driver
No functional change intended.
The intent is to add a "legacy" e820 pmem newbus bus for nvdimm device in a subsequent revision, and it's a little more clear if the parent buses get independent source files.
Quite a lot of ACPI-specific logic is left in nvdimm.c; disentangling that is a much larger change (and probably not especially useful).
Reviewed by: kib Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D21813
show more ...
|
Revision tags: release/11.3.0 |
|
#
18b18078 |
| 25-Feb-2019 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r344527
|
#
a8fe8db4 |
| 25-Feb-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r344178 through r344512.
|
#
8ebb6ddd |
| 22-Feb-2019 |
Ben Widawsky <bwidawsk@FreeBSD.org> |
nvdimm: Simple namespace support
Add support for simple NVDIMM v1.2 namespaces from the UEFI version 2.7 specification. The combination of NVDIMM regions and labels can lead to a wide variety of nam
nvdimm: Simple namespace support
Add support for simple NVDIMM v1.2 namespaces from the UEFI version 2.7 specification. The combination of NVDIMM regions and labels can lead to a wide variety of namespace layouts. Here we support a simple subset of namespaces where each NVDIMM SPA range is composed of a single region per member dimm.
Submitted by: D Scott Phillips <d.scott.phillips@intel.com> Discussed with: kib MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D18736
show more ...
|
#
ad30b2f2 |
| 22-Feb-2019 |
Ben Widawsky <bwidawsk@FreeBSD.org> |
nvdimm: Read NVDIMM namespace labels
When attaching to NVDIMM devices, read and verify the namespace labels from the special namespace label storage area. A later change will expose NVDIMM namespace
nvdimm: Read NVDIMM namespace labels
When attaching to NVDIMM devices, read and verify the namespace labels from the special namespace label storage area. A later change will expose NVDIMM namespaces derived from this label data.
Submitted by: D Scott Phillips <d.scott.phillips@intel.com> Discussed with: kib MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D18735
show more ...
|
#
228e377d |
| 22-Feb-2019 |
Ben Widawsky <bwidawsk@FreeBSD.org> |
nvdimm: split spa dev into a separate entity
Separate code for exposing a device backed by a system physical address range away from the NVDIMM spa code. This will allow a future patch to add suppor
nvdimm: split spa dev into a separate entity
Separate code for exposing a device backed by a system physical address range away from the NVDIMM spa code. This will allow a future patch to add support for NVDIMM namespaces while using the same device code.
Submitted by: D Scott Phillips <d.scott.phillips@intel.com> Reviewed by: bwidawsk MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D18736
show more ...
|
#
c2c227a5 |
| 03-Feb-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r343571 through r343711.
|
#
7674dce0 |
| 31-Jan-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
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 e
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
show more ...
|
#
7dcbca8d |
| 31-Jan-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
nvdimm: enumerate NVDIMM SPA ranges from the root device
Move the enumeration of NVDIMM SPA ranges from the spa GEOM class initializer into the NVDIMM root device. This will be necessary for a later
nvdimm: enumerate NVDIMM SPA ranges from the root device
Move the enumeration of NVDIMM SPA ranges from the spa GEOM class initializer into the NVDIMM root device. This will be necessary for a later change where NVDIMM namespaces require NVDIMM device enumeration to be reliably ordered before SPA enumeration.
Submitted by: D Scott Phillips <d.scott.phillips@intel.com> Sponsored by: Intel Corporation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D18734
show more ...
|
#
6465f315 |
| 18-Jan-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
nvdimm: initialize SPA uuids statically.
The SPA ids are published numbers, so it's safe (if not a bit annoying) to copy them into a source file.
Submitted by: D Scott Phillips <d.scott.phillips@in
nvdimm: initialize SPA uuids statically.
The SPA ids are published numbers, so it's safe (if not a bit annoying) to copy them into a source file.
Submitted by: D Scott Phillips <d.scott.phillips@intel.com> Sponsored by: Intel Corporation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D18733
show more ...
|
#
fc4a961a |
| 18-Jan-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
nvdimm: add a driver for the NVDIMM root device
The NVDIMM root device is parent to the individual ACPI NVDIMM devices. Add a driver for the NVDIMM root device that can own enumeration of NVDIMM de
nvdimm: add a driver for the NVDIMM root device
The NVDIMM root device is parent to the individual ACPI NVDIMM devices. Add a driver for the NVDIMM root device that can own enumeration of NVDIMM devices as well as NVDIMM SPA ranges that the system has.
Submitted by: D Scott Phillips <d.scott.phillips@intel.com> Sponsored by: Intel Corporation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D18346
show more ...
|
Revision tags: release/12.0.0 |
|
#
c6879c6c |
| 23-Oct-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r339015 through r339669.
|
#
6db7f8e5 |
| 16-Oct-2018 |
Konstantin Belousov <kib@FreeBSD.org> |
Add initial driver for ACPI NFIT-enumerated NVDIMMs.
Driver enumerates NVDIMMs. Besides, for each found System Physical Address (SPA) range, spaN geom provider is created, which allows formatting a
Add initial driver for ACPI NFIT-enumerated NVDIMMs.
Driver enumerates NVDIMMs. Besides, for each found System Physical Address (SPA) range, spaN geom provider is created, which allows formatting and mounting the region as the normal volume. Also, /dev/nvdimm_spaN node is created, which can be read/written/mapped by userspace, the mapping is zero-copy.
No support for block access methods implemented, labels are not parsed. No management interfaces are provided.
Tested by: Intel, NetApp Sponsored by: The FreeBSD Foundation Approved by: re (gjb) MFC after: 2 weeks
show more ...
|