forked from mirrors/linux
		
	 dbc8fc9d6d
			
		
	
	
		dbc8fc9d6d
		
	
	
	
	
		
			
			papr_scm and ndtest share common PDSM payload structs like nd_papr_pdsm_health. Presently these structs are duplicated across papr_pdsm.h and ndtest.h header files. Since 'ndtest' is essentially arch independent and can run on platforms other than PPC64, a way needs to be deviced to avoid redundancy and duplication of PDSM structs in future. So the patch proposes moving the PDSM header from arch/powerpc/include- -/uapi/ to the generic include/uapi/linux directory. Also, there are some #defines common between papr_scm and ndtest which are not exported to the user space. So, move them to a header file which can be shared across ndtest and papr_scm via newly introduced include/linux/papr_scm.h. Signed-off-by: Shivaprasad G Bhat <sbhat@linux.ibm.com> Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com> Suggested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Link: https://lore.kernel.org/r/170638176942.112443.2937254675538057083.stgit@ltcd48-lp2.aus.stglab.ibm.com Signed-off-by: Ira Weiny <ira.weiny@intel.com>
		
			
				
	
	
		
			49 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0-only */
 | |
| #ifndef __LINUX_PAPR_SCM_H
 | |
| #define __LINUX_PAPR_SCM_H
 | |
| 
 | |
| /* DIMM health bitmap indicators */
 | |
| /* SCM device is unable to persist memory contents */
 | |
| #define PAPR_PMEM_UNARMED                   (1ULL << (63 - 0))
 | |
| /* SCM device failed to persist memory contents */
 | |
| #define PAPR_PMEM_SHUTDOWN_DIRTY            (1ULL << (63 - 1))
 | |
| /* SCM device contents are persisted from previous IPL */
 | |
| #define PAPR_PMEM_SHUTDOWN_CLEAN            (1ULL << (63 - 2))
 | |
| /* SCM device contents are not persisted from previous IPL */
 | |
| #define PAPR_PMEM_EMPTY                     (1ULL << (63 - 3))
 | |
| /* SCM device memory life remaining is critically low */
 | |
| #define PAPR_PMEM_HEALTH_CRITICAL           (1ULL << (63 - 4))
 | |
| /* SCM device will be garded off next IPL due to failure */
 | |
| #define PAPR_PMEM_HEALTH_FATAL              (1ULL << (63 - 5))
 | |
| /* SCM contents cannot persist due to current platform health status */
 | |
| #define PAPR_PMEM_HEALTH_UNHEALTHY          (1ULL << (63 - 6))
 | |
| /* SCM device is unable to persist memory contents in certain conditions */
 | |
| #define PAPR_PMEM_HEALTH_NON_CRITICAL       (1ULL << (63 - 7))
 | |
| /* SCM device is encrypted */
 | |
| #define PAPR_PMEM_ENCRYPTED                 (1ULL << (63 - 8))
 | |
| /* SCM device has been scrubbed and locked */
 | |
| #define PAPR_PMEM_SCRUBBED_AND_LOCKED       (1ULL << (63 - 9))
 | |
| 
 | |
| #define PAPR_PMEM_SAVE_FAILED               (1ULL << (63 - 10))
 | |
| 
 | |
| /* Bits status indicators for health bitmap indicating unarmed dimm */
 | |
| #define PAPR_PMEM_UNARMED_MASK (PAPR_PMEM_UNARMED |            \
 | |
| 				PAPR_PMEM_HEALTH_UNHEALTHY)
 | |
| 
 | |
| /* Bits status indicators for health bitmap indicating unflushed dimm */
 | |
| #define PAPR_PMEM_BAD_SHUTDOWN_MASK (PAPR_PMEM_SHUTDOWN_DIRTY)
 | |
| 
 | |
| /* Bits status indicators for health bitmap indicating unrestored dimm */
 | |
| #define PAPR_PMEM_BAD_RESTORE_MASK  (PAPR_PMEM_EMPTY)
 | |
| 
 | |
| /* Bit status indicators for smart event notification */
 | |
| #define PAPR_PMEM_SMART_EVENT_MASK (PAPR_PMEM_HEALTH_CRITICAL | \
 | |
| 					PAPR_PMEM_HEALTH_FATAL | \
 | |
| 					PAPR_PMEM_HEALTH_UNHEALTHY)
 | |
| 
 | |
| #define PAPR_PMEM_SAVE_MASK                (PAPR_PMEM_SAVE_FAILED)
 | |
| 
 | |
| #define PAPR_SCM_PERF_STATS_EYECATCHER __stringify(SCMSTATS)
 | |
| #define PAPR_SCM_PERF_STATS_VERSION 0x1
 | |
| 
 | |
| #endif /* __LINUX_PAPR_SCM_H */
 |