1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /*
- * 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 */
|