mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 16:54:20 +08:00
23d1742179
Move memory detection code to own file and also simplify it. Also add an interface which can be called at any time to get the current memory layout. This interface is needed by our kernel internal system dumper. Cc: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Cc: Michael Holzheu <holzheu@de.ibm.com> Cc: Frank Munzert <munzert@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
59 lines
1.3 KiB
C
59 lines
1.3 KiB
C
/*
|
|
* include/asm-s390/sclp.h
|
|
*
|
|
* Copyright IBM Corp. 2007
|
|
* Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
|
|
*/
|
|
|
|
#ifndef _ASM_S390_SCLP_H
|
|
#define _ASM_S390_SCLP_H
|
|
|
|
#include <linux/types.h>
|
|
#include <asm/chpid.h>
|
|
|
|
#define SCLP_CHP_INFO_MASK_SIZE 32
|
|
|
|
struct sclp_chp_info {
|
|
u8 recognized[SCLP_CHP_INFO_MASK_SIZE];
|
|
u8 standby[SCLP_CHP_INFO_MASK_SIZE];
|
|
u8 configured[SCLP_CHP_INFO_MASK_SIZE];
|
|
};
|
|
|
|
#define LOADPARM_LEN 8
|
|
|
|
struct sclp_ipl_info {
|
|
int is_valid;
|
|
int has_dump;
|
|
char loadparm[LOADPARM_LEN];
|
|
};
|
|
|
|
struct sclp_cpu_entry {
|
|
u8 address;
|
|
u8 reserved0[13];
|
|
u8 type;
|
|
u8 reserved1;
|
|
} __attribute__((packed));
|
|
|
|
struct sclp_cpu_info {
|
|
unsigned int configured;
|
|
unsigned int standby;
|
|
unsigned int combined;
|
|
int has_cpu_type;
|
|
struct sclp_cpu_entry cpu[255];
|
|
};
|
|
|
|
int sclp_get_cpu_info(struct sclp_cpu_info *info);
|
|
int sclp_cpu_configure(u8 cpu);
|
|
int sclp_cpu_deconfigure(u8 cpu);
|
|
void sclp_facilities_detect(void);
|
|
unsigned long long sclp_get_rnmax(void);
|
|
unsigned long long sclp_get_rzm(void);
|
|
int sclp_sdias_blk_count(void);
|
|
int sclp_sdias_copy(void *dest, int blk_num, int nr_blks);
|
|
int sclp_chp_configure(struct chp_id chpid);
|
|
int sclp_chp_deconfigure(struct chp_id chpid);
|
|
int sclp_chp_read_info(struct sclp_chp_info *info);
|
|
void sclp_get_ipl_info(struct sclp_ipl_info *info);
|
|
|
|
#endif /* _ASM_S390_SCLP_H */
|