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