GNU Linux-libre 6.7.9-gnu
[releases.git] / arch / s390 / hypfs / hypfs_vm.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  *    Hypervisor filesystem for Linux on s390. z/VM implementation.
4  *
5  *    Copyright IBM Corp. 2006
6  *    Author(s): Michael Holzheu <holzheu@de.ibm.com>
7  */
8
9 #ifndef _S390_HYPFS_VM_H_
10 #define _S390_HYPFS_VM_H_
11
12 #define DIAG2FC_NAME_LEN 8
13
14 struct diag2fc_data {
15         __u32 version;
16         __u32 flags;
17         __u64 used_cpu;
18         __u64 el_time;
19         __u64 mem_min_kb;
20         __u64 mem_max_kb;
21         __u64 mem_share_kb;
22         __u64 mem_used_kb;
23         __u32 pcpus;
24         __u32 lcpus;
25         __u32 vcpus;
26         __u32 ocpus;
27         __u32 cpu_max;
28         __u32 cpu_shares;
29         __u32 cpu_use_samp;
30         __u32 cpu_delay_samp;
31         __u32 page_wait_samp;
32         __u32 idle_samp;
33         __u32 other_samp;
34         __u32 total_samp;
35         char  guest_name[DIAG2FC_NAME_LEN];
36 };
37
38 struct diag2fc_parm_list {
39         char userid[DIAG2FC_NAME_LEN];
40         char aci_grp[DIAG2FC_NAME_LEN];
41         __u64 addr;
42         __u32 size;
43         __u32 fmt;
44 };
45
46 void *diag2fc_store(char *query, unsigned int *count, int offset);
47 void diag2fc_free(const void *data);
48 extern char *diag2fc_guest_query;
49
50 #endif /* _S390_HYPFS_VM_H_ */