summaryrefslogtreecommitdiff
path: root/arch/s390/kernel/sysinfo.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2012-09-03 14:05:05 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2012-09-26 15:45:07 +0200
commit25502f0015a8d6dd4bb34336ddb3eac6b1a55317 (patch)
tree10da0b56de089c25ebe6ca991828e32f566154ce /arch/s390/kernel/sysinfo.c
parent0facaa170a6a0255092d3b32325a15672465ac4c (diff)
s390/sysinfo: add additional z196 fields to output
Add a couple of missing fields that were introduced with z196. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/sysinfo.c')
-rw-r--r--arch/s390/kernel/sysinfo.c32
1 files changed, 24 insertions, 8 deletions
diff --git a/arch/s390/kernel/sysinfo.c b/arch/s390/kernel/sysinfo.c
index d3b543c3617a..2249b0cf80ef 100644
--- a/arch/s390/kernel/sysinfo.c
+++ b/arch/s390/kernel/sysinfo.c
@@ -31,6 +31,8 @@ static inline int stsi_0(void)
static void stsi_1_1_1(struct seq_file *m, struct sysinfo_1_1_1 *info)
{
+ int i;
+
if (stsi(info, 1, 1, 1) == -ENOSYS)
return;
EBCASC(info->manufacturer, sizeof(info->manufacturer));
@@ -57,18 +59,31 @@ static void stsi_1_1_1(struct seq_file *m, struct sysinfo_1_1_1 *info)
seq_printf(m, "Sequence Code: %-16.16s\n", info->sequence);
seq_printf(m, "Plant: %-4.4s\n", info->plant);
seq_printf(m, "Model Capacity: %-16.16s %08u\n",
- info->model_capacity, *(u32 *) info->model_cap_rating);
- if (info->model_perm_cap[0] != '\0')
+ info->model_capacity, info->model_cap_rating);
+ if (info->model_perm_cap_rating)
seq_printf(m, "Model Perm. Capacity: %-16.16s %08u\n",
info->model_perm_cap,
- *(u32 *) info->model_perm_cap_rating);
- if (info->model_temp_cap[0] != '\0')
+ info->model_perm_cap_rating);
+ if (info->model_temp_cap_rating)
seq_printf(m, "Model Temp. Capacity: %-16.16s %08u\n",
info->model_temp_cap,
- *(u32 *) info->model_temp_cap_rating);
+ info->model_temp_cap_rating);
+ if (info->ncr)
+ seq_printf(m, "Nominal Cap. Rating: %08u\n", info->ncr);
+ if (info->npr)
+ seq_printf(m, "Nominal Perm. Rating: %08u\n", info->npr);
+ if (info->ntr)
+ seq_printf(m, "Nominal Temp. Rating: %08u\n", info->ntr);
if (info->cai) {
seq_printf(m, "Capacity Adj. Ind.: %d\n", info->cai);
seq_printf(m, "Capacity Ch. Reason: %d\n", info->ccr);
+ seq_printf(m, "Capacity Transient: %d\n", info->t);
+ }
+ if (info->p) {
+ for (i = 1; i <= ARRAY_SIZE(info->typepct); i++) {
+ seq_printf(m, "Type %d Percentage: %d\n",
+ i, info->typepct[i - 1]);
+ }
}
}
@@ -128,6 +143,10 @@ static void stsi_1_2_2(struct seq_file *m, struct sysinfo_1_2_2 *info)
if (info->format == 1)
seq_printf(m, " %u", ext->alt_capability);
seq_putc(m, '\n');
+ if (info->nominal_cap)
+ seq_printf(m, "Nominal Capability: %d\n", info->nominal_cap);
+ if (info->secondary_cap)
+ seq_printf(m, "Secondary Capability: %d\n", info->secondary_cap);
for (i = 2; i <= info->cpus_total; i++) {
seq_printf(m, "Adjustment %02d-way: %u",
i, info->adjustment[i-2]);
@@ -135,9 +154,6 @@ static void stsi_1_2_2(struct seq_file *m, struct sysinfo_1_2_2 *info)
seq_printf(m, " %u", ext->alt_adjustment[i-2]);
seq_putc(m, '\n');
}
- if (info->secondary_capability)
- seq_printf(m, "Secondary Capability: %d\n",
- info->secondary_capability);
}
static void stsi_2_2_2(struct seq_file *m, struct sysinfo_2_2_2 *info)