]>
Commit | Line | Data |
---|---|---|
ab14de6c | 1 | /* |
ab14de6c HC |
2 | * Copyright IBM Corp. 2007 |
3 | * Author(s): Heiko Carstens <heiko.carstens@de.ibm.com> | |
4 | */ | |
5 | ||
6 | #ifndef _ASM_S390_SCLP_H | |
7 | #define _ASM_S390_SCLP_H | |
8 | ||
9 | #include <linux/types.h> | |
e5854a58 | 10 | #include <asm/chpid.h> |
9c095234 | 11 | #include <asm/cpu.h> |
ab14de6c | 12 | |
e5854a58 PO |
13 | #define SCLP_CHP_INFO_MASK_SIZE 32 |
14 | ||
15 | struct sclp_chp_info { | |
16 | u8 recognized[SCLP_CHP_INFO_MASK_SIZE]; | |
17 | u8 standby[SCLP_CHP_INFO_MASK_SIZE]; | |
18 | u8 configured[SCLP_CHP_INFO_MASK_SIZE]; | |
19 | }; | |
20 | ||
05dd2530 HC |
21 | #define LOADPARM_LEN 8 |
22 | ||
23 | struct sclp_ipl_info { | |
24 | int is_valid; | |
25 | int has_dump; | |
26 | char loadparm[LOADPARM_LEN]; | |
27 | }; | |
28 | ||
08d07968 | 29 | struct sclp_cpu_entry { |
10ad34bc | 30 | u8 core_id; |
217a4406 HC |
31 | u8 reserved0[2]; |
32 | u8 : 3; | |
33 | u8 siif : 1; | |
d614be05 DH |
34 | u8 sigpif : 1; |
35 | u8 : 3; | |
217a4406 | 36 | u8 reserved2[10]; |
08d07968 HC |
37 | u8 type; |
38 | u8 reserved1; | |
39 | } __attribute__((packed)); | |
40 | ||
41 | struct sclp_cpu_info { | |
42 | unsigned int configured; | |
43 | unsigned int standby; | |
44 | unsigned int combined; | |
45 | int has_cpu_type; | |
9c095234 | 46 | struct sclp_cpu_entry cpu[MAX_CPU_ADDRESS + 1]; |
08d07968 HC |
47 | }; |
48 | ||
49 | int sclp_get_cpu_info(struct sclp_cpu_info *info); | |
50 | int sclp_cpu_configure(u8 cpu); | |
51 | int sclp_cpu_deconfigure(u8 cpu); | |
23d17421 HC |
52 | unsigned long long sclp_get_rnmax(void); |
53 | unsigned long long sclp_get_rzm(void); | |
cf813db0 | 54 | unsigned int sclp_get_max_cpu(void); |
10ad34bc MS |
55 | unsigned int sclp_get_mtid(u8 cpu_type); |
56 | unsigned int sclp_get_mtid_max(void); | |
57 | unsigned int sclp_get_mtid_prev(void); | |
05dd2530 HC |
58 | int sclp_sdias_blk_count(void); |
59 | int sclp_sdias_copy(void *dest, int blk_num, int nr_blks); | |
60 | int sclp_chp_configure(struct chp_id chpid); | |
61 | int sclp_chp_deconfigure(struct chp_id chpid); | |
62 | int sclp_chp_read_info(struct sclp_chp_info *info); | |
63 | void sclp_get_ipl_info(struct sclp_ipl_info *info); | |
52733e01 HB |
64 | bool __init sclp_has_linemode(void); |
65 | bool __init sclp_has_vt220(void); | |
07be0382 | 66 | bool sclp_has_sprp(void); |
7441b062 JG |
67 | int sclp_pci_configure(u32 fid); |
68 | int sclp_pci_deconfigure(u32 fid); | |
6f79d332 | 69 | int memcpy_hsa(void *dest, unsigned long src, size_t count, int mode); |
e657d8fe | 70 | unsigned long sclp_get_hsa_size(void); |
7b50da53 | 71 | void sclp_early_detect(void); |
217a4406 | 72 | int sclp_has_siif(void); |
d614be05 | 73 | int sclp_has_sigpif(void); |
570126d3 | 74 | unsigned int sclp_get_ibc(void); |
ab14de6c | 75 | |
fbf87dff CG |
76 | long _sclp_print_early(const char *); |
77 | ||
ab14de6c | 78 | #endif /* _ASM_S390_SCLP_H */ |