Lines Matching +full:diag +full:- +full:version
1 // SPDX-License-Identifier: GPL-2.0
3 * Hypervisor filesystem for Linux on s390. Diag 204 and 224
19 #include <asm/diag.h>
27 static char *diag224_cpu_names; /* diag 224 name table */
29 static enum diag204_format diag204_info_type; /* used diag 204 data format */
38 * DIAG 204 member access functions.
40 * Since we have two different diag 204 data formats for old and new s390
58 return ((struct diag204_info_blk_hdr *)hdr)->npar; in info_blk_hdr__npar()
60 return ((struct diag204_x_info_blk_hdr *)hdr)->npar; in info_blk_hdr__npar()
66 return ((struct diag204_info_blk_hdr *)hdr)->flags; in info_blk_hdr__flags()
68 return ((struct diag204_x_info_blk_hdr *)hdr)->flags; in info_blk_hdr__flags()
74 return ((struct diag204_info_blk_hdr *)hdr)->phys_cpus; in info_blk_hdr__pcpus()
76 return ((struct diag204_x_info_blk_hdr *)hdr)->phys_cpus; in info_blk_hdr__pcpus()
92 return ((struct diag204_part_hdr *)hdr)->cpus; in part_hdr__rcpus()
94 return ((struct diag204_x_part_hdr *)hdr)->rcpus; in part_hdr__rcpus()
101 memcpy(name, ((struct diag204_part_hdr *)hdr)->part_name, in part_hdr__part_name()
104 memcpy(name, ((struct diag204_x_part_hdr *)hdr)->part_name, in part_hdr__part_name()
124 return ((struct diag204_cpu_info *)hdr)->ctidx; in cpu_info__ctidx()
126 return ((struct diag204_x_cpu_info *)hdr)->ctidx; in cpu_info__ctidx()
132 return ((struct diag204_cpu_info *)hdr)->cpu_addr; in cpu_info__cpu_addr()
134 return ((struct diag204_x_cpu_info *)hdr)->cpu_addr; in cpu_info__cpu_addr()
140 return ((struct diag204_cpu_info *)hdr)->acc_time; in cpu_info__acc_time()
142 return ((struct diag204_x_cpu_info *)hdr)->acc_time; in cpu_info__acc_time()
148 return ((struct diag204_cpu_info *)hdr)->lp_time; in cpu_info__lp_time()
150 return ((struct diag204_x_cpu_info *)hdr)->lp_time; in cpu_info__lp_time()
158 return ((struct diag204_x_cpu_info *)hdr)->online_time; in cpu_info__online_time()
174 return ((struct diag204_phys_hdr *)hdr)->cpus; in phys_hdr__cpus()
176 return ((struct diag204_x_phys_hdr *)hdr)->cpus; in phys_hdr__cpus()
192 return ((struct diag204_phys_cpu *)hdr)->cpu_addr; in phys_cpu__cpu_addr()
194 return ((struct diag204_x_phys_cpu *)hdr)->cpu_addr; in phys_cpu__cpu_addr()
200 return ((struct diag204_phys_cpu *)hdr)->mgm_time; in phys_cpu__mgm_time()
202 return ((struct diag204_x_phys_cpu *)hdr)->mgm_time; in phys_cpu__mgm_time()
208 return ((struct diag204_phys_cpu *)hdr)->ctidx; in phys_cpu__ctidx()
210 return ((struct diag204_x_phys_cpu *)hdr)->ctidx; in phys_cpu__ctidx()
215 * For the old diag subcode 4 with simple data format we have to use real
244 return ERR_PTR(-ENOMEM); in diag204_alloc_vbuf()
254 return ERR_PTR(-ENOMEM); in diag204_alloc_rbuf()
272 return ERR_PTR(-ENOSYS); in diag204_get_buffer()
281 * - subcode 4 + simple data format (only one page)
282 * - subcode 4-6 + extended data format
283 * - subcode 4-7 + extended data format
327 rc = -ENOSYS; in diag204_probe()
344 return rc < 0 ? -ENOSYS : 0; in diag204_do_store()
369 return -ENOMEM; in diag224_get_name_table()
372 return -EOPNOTSUPP; in diag224_get_name_table()
394 u16 version; /* Version of header */ member
410 buf_size = PAGE_SIZE * (diag204_buf_pages + 1) + sizeof(d204->hdr); in dbfs_d204_create()
413 return -ENOMEM; in dbfs_d204_create()
414 d204 = page_align_ptr(base + sizeof(d204->hdr)) - sizeof(d204->hdr); in dbfs_d204_create()
415 rc = diag204_do_store(d204->buf, diag204_buf_pages); in dbfs_d204_create()
420 d204->hdr.version = DBFS_D204_HDR_VERSION; in dbfs_d204_create()
421 d204->hdr.len = PAGE_SIZE * diag204_buf_pages; in dbfs_d204_create()
422 d204->hdr.sc = diag204_store_sc; in dbfs_d204_create()
425 *size = d204->hdr.len + sizeof(struct dbfs_d204_hdr); in dbfs_d204_create()
441 return -ENODATA; in hypfs_diag_init()
482 cpu_info__acc_time(diag204_info_type, cpu_info) - in hypfs_create_cpu_files()