| /* | |
| * OS info memory interface | |
| * | |
| * Copyright IBM Corp. 2012 | |
| * Author(s): Michael Holzheu <holzheu@linux.vnet.ibm.com> | |
| */ | |
| #ifndef _ASM_S390_OS_INFO_H | |
| #define _ASM_S390_OS_INFO_H | |
| #define OS_INFO_VERSION_MAJOR 1 | |
| #define OS_INFO_VERSION_MINOR 1 | |
| #define OS_INFO_MAGIC 0x4f53494e464f535aULL /* OSINFOSZ */ | |
| #define OS_INFO_VMCOREINFO 0 | |
| #define OS_INFO_REIPL_BLOCK 1 | |
| struct os_info_entry { | |
| u64 addr; | |
| u64 size; | |
| u32 csum; | |
| } __packed; | |
| struct os_info { | |
| u64 magic; | |
| u32 csum; | |
| u16 version_major; | |
| u16 version_minor; | |
| u64 crashkernel_addr; | |
| u64 crashkernel_size; | |
| struct os_info_entry entry[2]; | |
| u8 reserved[4024]; | |
| } __packed; | |
| void os_info_init(void); | |
| void os_info_entry_add(int nr, void *ptr, u64 len); | |
| void os_info_crashkernel_add(unsigned long base, unsigned long size); | |
| u32 os_info_csum(struct os_info *os_info); | |
| #ifdef CONFIG_CRASH_DUMP | |
| void *os_info_old_entry(int nr, unsigned long *size); | |
| int copy_oldmem_kernel(void *dst, void *src, size_t count); | |
| #else | |
| static inline void *os_info_old_entry(int nr, unsigned long *size) | |
| { | |
| return NULL; | |
| } | |
| #endif | |
| #endif /* _ASM_S390_OS_INFO_H */ |