cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

os_info.h (1136B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * OS info memory interface
      4 *
      5 * Copyright IBM Corp. 2012
      6 * Author(s): Michael Holzheu <holzheu@linux.vnet.ibm.com>
      7 */
      8#ifndef _ASM_S390_OS_INFO_H
      9#define _ASM_S390_OS_INFO_H
     10
     11#define OS_INFO_VERSION_MAJOR	1
     12#define OS_INFO_VERSION_MINOR	1
     13#define OS_INFO_MAGIC		0x4f53494e464f535aULL /* OSINFOSZ */
     14
     15#define OS_INFO_VMCOREINFO	0
     16#define OS_INFO_REIPL_BLOCK	1
     17
     18struct os_info_entry {
     19	u64	addr;
     20	u64	size;
     21	u32	csum;
     22} __packed;
     23
     24struct os_info {
     25	u64	magic;
     26	u32	csum;
     27	u16	version_major;
     28	u16	version_minor;
     29	u64	crashkernel_addr;
     30	u64	crashkernel_size;
     31	struct os_info_entry entry[2];
     32	u8	reserved[4024];
     33} __packed;
     34
     35void os_info_init(void);
     36void os_info_entry_add(int nr, void *ptr, u64 len);
     37void os_info_crashkernel_add(unsigned long base, unsigned long size);
     38u32 os_info_csum(struct os_info *os_info);
     39
     40#ifdef CONFIG_CRASH_DUMP
     41void *os_info_old_entry(int nr, unsigned long *size);
     42int copy_oldmem_kernel(void *dst, unsigned long src, size_t count);
     43#else
     44static inline void *os_info_old_entry(int nr, unsigned long *size)
     45{
     46	return NULL;
     47}
     48#endif
     49
     50#endif /* _ASM_S390_OS_INFO_H */