xref: /kvm-unit-tests/lib/ppc64/asm/vpa.h (revision 0cc3a351b925928827baa4b69cf0e46ff5837083)
1 #ifndef _ASMPOWERPC_VPA_H_
2 #define _ASMPOWERPC_VPA_H_
3 /*
4  * This work is licensed under the terms of the GNU LGPL, version 2.
5  */
6 
7 #ifndef __ASSEMBLER__
8 
9 struct vpa {
10 	uint32_t	descriptor;
11 	uint16_t	size;
12 	uint8_t		reserved1[3];
13 	uint8_t		status;
14 	uint8_t		reserved2[14];
15 	uint32_t	fru_node_id;
16 	uint32_t	fru_proc_id;
17 	uint8_t		reserved3[56];
18 	uint8_t		vhpn_change_counters[8];
19 	uint8_t		reserved4[80];
20 	uint8_t		cede_latency;
21 	uint8_t		maintain_ebb;
22 	uint8_t		reserved5[6];
23 	uint8_t		dtl_enable_mask;
24 	uint8_t		dedicated_cpu_donate;
25 	uint8_t		maintain_fpr;
26 	uint8_t		maintain_pmc;
27 	uint8_t		reserved6[28];
28 	uint64_t	idle_estimate_purr;
29 	uint8_t		reserved7[28];
30 	uint16_t	maintain_nr_slb;
31 	uint8_t		idle;
32 	uint8_t		maintain_vmx;
33 	uint32_t	vp_dispatch_count;
34 	uint32_t	vp_dispatch_dispersion;
35 	uint64_t	vp_fault_count;
36 	uint64_t	vp_fault_tb;
37 	uint64_t	purr_exprop_idle;
38 	uint64_t	spurr_exprop_idle;
39 	uint64_t	purr_exprop_busy;
40 	uint64_t	spurr_exprop_busy;
41 	uint64_t	purr_donate_idle;
42 	uint64_t	spurr_donate_idle;
43 	uint64_t	purr_donate_busy;
44 	uint64_t	spurr_donate_busy;
45 	uint64_t	vp_wait3_tb;
46 	uint64_t	vp_wait2_tb;
47 	uint64_t	vp_wait1_tb;
48 	uint64_t	purr_exprop_adjunct_busy;
49 	uint64_t	spurr_exprop_adjunct_busy;
50 	uint32_t	supervisor_pagein_count;
51 	uint8_t		reserved8[4];
52 	uint64_t	purr_exprop_adjunct_idle;
53 	uint64_t	spurr_exprop_adjunct_idle;
54 	uint64_t	adjunct_insns_executed;
55 	uint8_t		reserved9[120];
56 	uint64_t	dtl_index;
57 	uint8_t		reserved10[96];
58 };
59 
60 #endif /* __ASSEMBLER__ */
61 
62 #endif /* _ASMPOWERPC_VPA_H_ */
63