[PATCH v8 1/5] powerpc: Document details on H_SCM_HEALTH hcall

From: Vaibhav Jain
Date: Wed May 27 2020 - 00:13:48 EST


Add documentation to 'papr_hcalls.rst' describing the bitmap flags
that are returned from H_SCM_HEALTH hcall as per the PAPR-SCM
specification.

Cc: "Aneesh Kumar K . V" <aneesh.kumar@xxxxxxxxxxxxx>
Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Ira Weiny <ira.weiny@xxxxxxxxx>
Signed-off-by: Vaibhav Jain <vaibhav@xxxxxxxxxxxxx>
---
Changelog:
v7..v8:
* Added a clarification on bit-ordering of Health Bitmap

Resend:
* None

v6..v7:
* None

v5..v6:
* New patch in the series
---
Documentation/powerpc/papr_hcalls.rst | 45 ++++++++++++++++++++++++---
1 file changed, 41 insertions(+), 4 deletions(-)

diff --git a/Documentation/powerpc/papr_hcalls.rst b/Documentation/powerpc/papr_hcalls.rst
index 3493631a60f8..45063f305813 100644
--- a/Documentation/powerpc/papr_hcalls.rst
+++ b/Documentation/powerpc/papr_hcalls.rst
@@ -220,13 +220,50 @@ from the LPAR memory.
**H_SCM_HEALTH**

| Input: drcIndex
-| Out: *health-bitmap, health-bit-valid-bitmap*
+| Out: *health-bitmap (r4), health-bit-valid-bitmap (r5)*
| Return Value: *H_Success, H_Parameter, H_Hardware*

Given a DRC Index return the info on predictive failure and overall health of
-the NVDIMM. The asserted bits in the health-bitmap indicate a single predictive
-failure and health-bit-valid-bitmap indicate which bits in health-bitmap are
-valid.
+the NVDIMM. The asserted bits in the health-bitmap indicate one or more states
+(described in table below) of the NVDIMM and health-bit-valid-bitmap indicate
+which bits in health-bitmap are valid. The bits are reported in
+reverse bit ordering for example a value of 0xC400000000000000
+indicates bits 0, 1, and 5 are valid.
+
+Health Bitmap Flags:
+
++------+-----------------------------------------------------------------------+
+| Bit | Definition |
++======+=======================================================================+
+| 00 | SCM device is unable to persist memory contents. |
+| | If the system is powered down, nothing will be saved. |
++------+-----------------------------------------------------------------------+
+| 01 | SCM device failed to persist memory contents. Either contents were not|
+| | saved successfully on power down or were not restored properly on |
+| | power up. |
++------+-----------------------------------------------------------------------+
+| 02 | SCM device contents are persisted from previous IPL. The data from |
+| | the last boot were successfully restored. |
++------+-----------------------------------------------------------------------+
+| 03 | SCM device contents are not persisted from previous IPL. There was no |
+| | data to restore from the last boot. |
++------+-----------------------------------------------------------------------+
+| 04 | SCM device memory life remaining is critically low |
++------+-----------------------------------------------------------------------+
+| 05 | SCM device will be garded off next IPL due to failure |
++------+-----------------------------------------------------------------------+
+| 06 | SCM contents cannot persist due to current platform health status. A |
+| | hardware failure may prevent data from being saved or restored. |
++------+-----------------------------------------------------------------------+
+| 07 | SCM device is unable to persist memory contents in certain conditions |
++------+-----------------------------------------------------------------------+
+| 08 | SCM device is encrypted |
++------+-----------------------------------------------------------------------+
+| 09 | SCM device has successfully completed a requested erase or secure |
+| | erase procedure. |
++------+-----------------------------------------------------------------------+
+|10:63 | Reserved / Unused |
++------+-----------------------------------------------------------------------+

**H_SCM_PERFORMANCE_STATS**

--
2.26.2