Lines Matching +full:system +full:- +full:firmware

1 .. SPDX-License-Identifier: GPL-2.0
4 NVDIMM Runtime Firmware Activation
7 Some persistent memory devices run a firmware locally on the device /
9 and health monitoring. The process of updating that firmware typically
10 involves a reboot because it has implications for in-flight memory
13 DSM specification [1], has added support for activating firmware at
17 to advertise and control their local runtime firmware activation
20 The libnvdimm bus object, ndbusX, implements an ndbusX/firmware/activate
21 attribute that shows the state of the firmware activation as one of 'idle',
24 - idle:
25 No devices are set / armed to activate firmware
27 - armed:
30 - busy:
34 - overflow:
37 activation. In that scenario the potential for firmware activation to
40 The 'ndbusX/firmware/activate' property can be written with a value of
42 run firmware activation from within the equivalent of the hibernation
44 modifications of system memory. A value of 'live' attempts
45 firmware activation without this hibernation cycle. The
46 'ndbusX/firmware/activate' property will be elided completely if no
47 firmware activation capability is detected.
49 Another property 'ndbusX/firmware/capability' indicates a value of
50 'live' or 'quiesce', where 'live' indicates that the firmware
51 does not require or inflict any quiesce period on the system to update
52 firmware. A capability value of 'quiesce' indicates that firmware does
54 may still be written to 'ndbusX/firmware/activate' as an override to
55 assume the risk of racing firmware update with in-flight device and
56 application activity. The 'ndbusX/firmware/capability' property will be
57 elided completely if no firmware activation capability is detected.
59 The libnvdimm memory-device / DIMM object, nmemX, implements
60 'nmemX/firmware/activate' and 'nmemX/firmware/result' attributes to
61 communicate the per-device firmware activation state. Similar to the
62 'ndbusX/firmware/activate' attribute, the 'nmemX/firmware/activate'
64 from 'armed' to 'idle' when the system is prepared to activate firmware,
65 firmware staged + state set to armed, and 'ndbusX/firmware/activate' is
66 triggered. After that activation event the nmemX/firmware/result
69 - none:
72 - success:
75 - fail:
76 The last runtime activation failed for device-specific reasons.
78 - not_staged:
80 firmware image not being staged.
82 - need_reset:
83 Runtime firmware activation failed, but the firmware can still be
84 activated via the legacy method of power-cycling the system.
86 [1]: https://docs.pmem.io/persistent-memory/