50 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2#ifndef __LINUX_PAPR_SCM_H3#define __LINUX_PAPR_SCM_H4 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 0x148 49#endif /* __LINUX_PAPR_SCM_H */50