uv.h (b7f8f259896f669f131713b0c74ba4d008daa71d) uv.h (85b18d7b5e7ffefb2f076186511d39c4990aa005)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Ultravisor Interfaces
4 *
5 * Copyright IBM Corp. 2019
6 *
7 * Author(s):
8 * Vasily Gorbik <gor@linux.ibm.com>

--- 59 unchanged lines hidden (view full) ---

68 BIT_UVC_CMD_CPU_SET_STATE = 17,
69 BIT_UVC_CMD_PREPARE_RESET = 18,
70 BIT_UVC_CMD_CPU_PERFORM_CLEAR_RESET = 19,
71 BIT_UVC_CMD_UNSHARE_ALL = 20,
72 BIT_UVC_CMD_PIN_PAGE_SHARED = 21,
73 BIT_UVC_CMD_UNPIN_PAGE_SHARED = 22,
74};
75
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Ultravisor Interfaces
4 *
5 * Copyright IBM Corp. 2019
6 *
7 * Author(s):
8 * Vasily Gorbik <gor@linux.ibm.com>

--- 59 unchanged lines hidden (view full) ---

68 BIT_UVC_CMD_CPU_SET_STATE = 17,
69 BIT_UVC_CMD_PREPARE_RESET = 18,
70 BIT_UVC_CMD_CPU_PERFORM_CLEAR_RESET = 19,
71 BIT_UVC_CMD_UNSHARE_ALL = 20,
72 BIT_UVC_CMD_PIN_PAGE_SHARED = 21,
73 BIT_UVC_CMD_UNPIN_PAGE_SHARED = 22,
74};
75
76enum uv_feat_ind {
77 BIT_UV_FEAT_MISC = 0,
78};
79
76struct uv_cb_header {
77 u16 len;
78 u16 cmd; /* Command Code */
79 u16 rc; /* Response Code */
80 u16 rrc; /* Return Reason Code */
81} __packed __aligned(8);
82
83/* Query Ultravisor Information */

--- 8 unchanged lines hidden (view full) ---

92 u64 conf_base_virt_stor_len;
93 u64 conf_virt_var_stor_len;
94 u64 cpu_stor_len;
95 u32 reserved70[3];
96 u32 max_num_sec_conf;
97 u64 max_guest_stor_addr;
98 u8 reserved88[158 - 136];
99 u16 max_guest_cpu_id;
80struct uv_cb_header {
81 u16 len;
82 u16 cmd; /* Command Code */
83 u16 rc; /* Response Code */
84 u16 rrc; /* Return Reason Code */
85} __packed __aligned(8);
86
87/* Query Ultravisor Information */

--- 8 unchanged lines hidden (view full) ---

96 u64 conf_base_virt_stor_len;
97 u64 conf_virt_var_stor_len;
98 u64 cpu_stor_len;
99 u32 reserved70[3];
100 u32 max_num_sec_conf;
101 u64 max_guest_stor_addr;
102 u8 reserved88[158 - 136];
103 u16 max_guest_cpu_id;
100 u8 reserveda0[200 - 160];
104 u64 uv_feature_indications;
105 u8 reserveda0[200 - 168];
101} __packed __aligned(8);
102
103/* Initialize Ultravisor */
104struct uv_cb_init {
105 struct uv_cb_header header;
106 u64 reserved08[2];
107 u64 stor_origin;
108 u64 stor_len;

--- 160 unchanged lines hidden (view full) ---

269 unsigned long uv_base_stor_len;
270 unsigned long guest_base_stor_len;
271 unsigned long guest_virt_base_stor_len;
272 unsigned long guest_virt_var_stor_len;
273 unsigned long guest_cpu_stor_len;
274 unsigned long max_sec_stor_addr;
275 unsigned int max_num_sec_conf;
276 unsigned short max_guest_cpu_id;
106} __packed __aligned(8);
107
108/* Initialize Ultravisor */
109struct uv_cb_init {
110 struct uv_cb_header header;
111 u64 reserved08[2];
112 u64 stor_origin;
113 u64 stor_len;

--- 160 unchanged lines hidden (view full) ---

274 unsigned long uv_base_stor_len;
275 unsigned long guest_base_stor_len;
276 unsigned long guest_virt_base_stor_len;
277 unsigned long guest_virt_var_stor_len;
278 unsigned long guest_cpu_stor_len;
279 unsigned long max_sec_stor_addr;
280 unsigned int max_num_sec_conf;
281 unsigned short max_guest_cpu_id;
282 unsigned long uv_feature_indications;
277};
278
279extern struct uv_info uv_info;
280
281#ifdef CONFIG_PROTECTED_VIRTUALIZATION_GUEST
282extern int prot_virt_guest;
283
284static inline int is_prot_virt_guest(void)

--- 92 unchanged lines hidden ---
283};
284
285extern struct uv_info uv_info;
286
287#ifdef CONFIG_PROTECTED_VIRTUALIZATION_GUEST
288extern int prot_virt_guest;
289
290static inline int is_prot_virt_guest(void)

--- 92 unchanged lines hidden ---