~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/s390/include/asm/sysinfo.h

Version: ~ [ linux-5.8-rc5 ] ~ [ linux-5.7.8 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.51 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.132 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.188 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.230 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.230 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.85 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * definition for store system information stsi
  3  *
  4  * Copyright IBM Corp. 2001, 2008
  5  *
  6  * This program is free software; you can redistribute it and/or modify
  7  * it under the terms of the GNU General Public License (version 2 only)
  8  * as published by the Free Software Foundation.
  9  *
 10  *    Author(s): Ulrich Weigand <weigand@de.ibm.com>
 11  *               Christian Borntraeger <borntraeger@de.ibm.com>
 12  */
 13 
 14 #ifndef __ASM_S390_SYSINFO_H
 15 #define __ASM_S390_SYSINFO_H
 16 
 17 #include <asm/bitsperlong.h>
 18 
 19 struct sysinfo_1_1_1 {
 20         unsigned char p:1;
 21         unsigned char :6;
 22         unsigned char t:1;
 23         unsigned char :8;
 24         unsigned char ccr;
 25         unsigned char cai;
 26         char reserved_0[28];
 27         char manufacturer[16];
 28         char type[4];
 29         char reserved_1[12];
 30         char model_capacity[16];
 31         char sequence[16];
 32         char plant[4];
 33         char model[16];
 34         char model_perm_cap[16];
 35         char model_temp_cap[16];
 36         unsigned int model_cap_rating;
 37         unsigned int model_perm_cap_rating;
 38         unsigned int model_temp_cap_rating;
 39         unsigned char typepct[5];
 40         unsigned char reserved_2[3];
 41         unsigned int ncr;
 42         unsigned int npr;
 43         unsigned int ntr;
 44 };
 45 
 46 struct sysinfo_1_2_1 {
 47         char reserved_0[80];
 48         char sequence[16];
 49         char plant[4];
 50         char reserved_1[2];
 51         unsigned short cpu_address;
 52 };
 53 
 54 struct sysinfo_1_2_2 {
 55         char format;
 56         char reserved_0[1];
 57         unsigned short acc_offset;
 58         char reserved_1[20];
 59         unsigned int nominal_cap;
 60         unsigned int secondary_cap;
 61         unsigned int capability;
 62         unsigned short cpus_total;
 63         unsigned short cpus_configured;
 64         unsigned short cpus_standby;
 65         unsigned short cpus_reserved;
 66         unsigned short adjustment[0];
 67 };
 68 
 69 struct sysinfo_1_2_2_extension {
 70         unsigned int alt_capability;
 71         unsigned short alt_adjustment[0];
 72 };
 73 
 74 struct sysinfo_2_2_1 {
 75         char reserved_0[80];
 76         char sequence[16];
 77         char plant[4];
 78         unsigned short cpu_id;
 79         unsigned short cpu_address;
 80 };
 81 
 82 struct sysinfo_2_2_2 {
 83         char reserved_0[32];
 84         unsigned short lpar_number;
 85         char reserved_1;
 86         unsigned char characteristics;
 87         unsigned short cpus_total;
 88         unsigned short cpus_configured;
 89         unsigned short cpus_standby;
 90         unsigned short cpus_reserved;
 91         char name[8];
 92         unsigned int caf;
 93         char reserved_2[16];
 94         unsigned short cpus_dedicated;
 95         unsigned short cpus_shared;
 96 };
 97 
 98 #define LPAR_CHAR_DEDICATED     (1 << 7)
 99 #define LPAR_CHAR_SHARED        (1 << 6)
100 #define LPAR_CHAR_LIMITED       (1 << 5)
101 
102 struct sysinfo_3_2_2 {
103         char reserved_0[31];
104         unsigned char :4;
105         unsigned char count:4;
106         struct {
107                 char reserved_0[4];
108                 unsigned short cpus_total;
109                 unsigned short cpus_configured;
110                 unsigned short cpus_standby;
111                 unsigned short cpus_reserved;
112                 char name[8];
113                 unsigned int caf;
114                 char cpi[16];
115                 char reserved_1[24];
116 
117         } vm[8];
118         char reserved_544[3552];
119 };
120 
121 extern int topology_max_mnest;
122 
123 #define TOPOLOGY_CPU_BITS       64
124 #define TOPOLOGY_NR_MAG         6
125 
126 struct topology_cpu {
127         unsigned char reserved0[4];
128         unsigned char :6;
129         unsigned char pp:2;
130         unsigned char reserved1;
131         unsigned short origin;
132         unsigned long mask[TOPOLOGY_CPU_BITS / BITS_PER_LONG];
133 };
134 
135 struct topology_container {
136         unsigned char reserved[7];
137         unsigned char id;
138 };
139 
140 union topology_entry {
141         unsigned char nl;
142         struct topology_cpu cpu;
143         struct topology_container container;
144 };
145 
146 struct sysinfo_15_1_x {
147         unsigned char reserved0[2];
148         unsigned short length;
149         unsigned char mag[TOPOLOGY_NR_MAG];
150         unsigned char reserved1;
151         unsigned char mnest;
152         unsigned char reserved2[4];
153         union topology_entry tle[0];
154 };
155 
156 int stsi(void *sysinfo, int fc, int sel1, int sel2);
157 
158 /*
159  * Service level reporting interface.
160  */
161 struct service_level {
162         struct list_head list;
163         void (*seq_print)(struct seq_file *, struct service_level *);
164 };
165 
166 int register_service_level(struct service_level *);
167 int unregister_service_level(struct service_level *);
168 
169 #endif /* __ASM_S390_SYSINFO_H */
170 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp