Commit | Line | Data |
---|---|---|
dbc8fc9d SB |
1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | #ifndef __LINUX_PAPR_SCM_H | |
3 | #define __LINUX_PAPR_SCM_H | |
4 | ||
5 | /* DIMM health bitmap indicators */ | |
6 | /* SCM device is unable to persist memory contents */ | |
7 | #define PAPR_PMEM_UNARMED (1ULL << (63 - 0)) | |
8 | /* SCM device failed to persist memory contents */ | |
9 | #define PAPR_PMEM_SHUTDOWN_DIRTY (1ULL << (63 - 1)) | |
10 | /* SCM device contents are persisted from previous IPL */ | |
11 | #define PAPR_PMEM_SHUTDOWN_CLEAN (1ULL << (63 - 2)) | |
12 | /* SCM device contents are not persisted from previous IPL */ | |
13 | #define PAPR_PMEM_EMPTY (1ULL << (63 - 3)) | |
14 | /* SCM device memory life remaining is critically low */ | |
15 | #define PAPR_PMEM_HEALTH_CRITICAL (1ULL << (63 - 4)) | |
16 | /* SCM device will be garded off next IPL due to failure */ | |
17 | #define PAPR_PMEM_HEALTH_FATAL (1ULL << (63 - 5)) | |
18 | /* SCM contents cannot persist due to current platform health status */ | |
19 | #define PAPR_PMEM_HEALTH_UNHEALTHY (1ULL << (63 - 6)) | |
20 | /* SCM device is unable to persist memory contents in certain conditions */ | |
21 | #define PAPR_PMEM_HEALTH_NON_CRITICAL (1ULL << (63 - 7)) | |
22 | /* SCM device is encrypted */ | |
23 | #define PAPR_PMEM_ENCRYPTED (1ULL << (63 - 8)) | |
24 | /* SCM device has been scrubbed and locked */ | |
25 | #define PAPR_PMEM_SCRUBBED_AND_LOCKED (1ULL << (63 - 9)) | |
26 | ||
27 | #define PAPR_PMEM_SAVE_FAILED (1ULL << (63 - 10)) | |
28 | ||
29 | /* Bits status indicators for health bitmap indicating unarmed dimm */ | |
30 | #define PAPR_PMEM_UNARMED_MASK (PAPR_PMEM_UNARMED | \ | |
31 | PAPR_PMEM_HEALTH_UNHEALTHY) | |
32 | ||
33 | /* Bits status indicators for health bitmap indicating unflushed dimm */ | |
34 | #define PAPR_PMEM_BAD_SHUTDOWN_MASK (PAPR_PMEM_SHUTDOWN_DIRTY) | |
35 | ||
36 | /* Bits status indicators for health bitmap indicating unrestored dimm */ | |
37 | #define PAPR_PMEM_BAD_RESTORE_MASK (PAPR_PMEM_EMPTY) | |
38 | ||
39 | /* Bit status indicators for smart event notification */ | |
40 | #define PAPR_PMEM_SMART_EVENT_MASK (PAPR_PMEM_HEALTH_CRITICAL | \ | |
41 | PAPR_PMEM_HEALTH_FATAL | \ | |
42 | PAPR_PMEM_HEALTH_UNHEALTHY) | |
43 | ||
44 | #define PAPR_PMEM_SAVE_MASK (PAPR_PMEM_SAVE_FAILED) | |
45 | ||
46 | #define PAPR_SCM_PERF_STATS_EYECATCHER __stringify(SCMSTATS) | |
47 | #define PAPR_SCM_PERF_STATS_VERSION 0x1 | |
48 | ||
49 | #endif /* __LINUX_PAPR_SCM_H */ |