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 --- |