Lines Matching +full:in +full:-
1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Copyright (C) 2016-2017 Advanced Micro Devices, Inc.
15 #include <uapi/linux/psp-sev.h>
90 * struct sev_data_init - INIT command parameters
93 * @tmr_address: system physical address used for SEV-ES
97 u32 flags; /* In */
98 u32 reserved; /* In */
99 u64 tmr_address; /* In */
100 u32 tmr_len; /* In */
106 * struct sev_data_pek_csr - PEK_CSR command parameters
112 u64 address; /* In */
113 u32 len; /* In/Out */
117 * struct sev_data_cert_import - PEK_CERT_IMPORT command parameters
125 u64 pek_cert_address; /* In */
126 u32 pek_cert_len; /* In */
127 u32 reserved; /* In */
128 u64 oca_cert_address; /* In */
129 u32 oca_cert_len; /* In */
133 * struct sev_data_download_firmware - DOWNLOAD_FIRMWARE command parameters
139 u64 address; /* In */
140 u32 len; /* In */
144 * struct sev_data_get_id - GET_ID command parameters
150 u64 address; /* In */
151 u32 len; /* In/Out */
154 * struct sev_data_pdh_cert_export - PDH_CERT_EXPORT command parameters
162 u64 pdh_cert_address; /* In */
163 u32 pdh_cert_len; /* In/Out */
164 u32 reserved; /* In */
165 u64 cert_chain_address; /* In */
166 u32 cert_chain_len; /* In/Out */
170 * struct sev_data_decommission - DECOMMISSION command parameters
175 u32 handle; /* In */
179 * struct sev_data_activate - ACTIVATE command parameters
185 u32 handle; /* In */
186 u32 asid; /* In */
190 * struct sev_data_deactivate - DEACTIVATE command parameters
195 u32 handle; /* In */
199 * struct sev_data_guest_status - SEV GUEST_STATUS command parameters
207 u32 handle; /* In */
214 * struct sev_data_launch_start - LAUNCH_START command parameters
224 u32 handle; /* In/Out */
225 u32 policy; /* In */
226 u64 dh_cert_address; /* In */
227 u32 dh_cert_len; /* In */
228 u32 reserved; /* In */
229 u64 session_address; /* In */
230 u32 session_len; /* In */
234 * struct sev_data_launch_update_data - LAUNCH_UPDATE_DATA command parameter
241 u32 handle; /* In */
243 u64 address; /* In */
244 u32 len; /* In */
248 * struct sev_data_launch_update_vmsa - LAUNCH_UPDATE_VMSA command
255 u32 handle; /* In */
257 u64 address; /* In */
258 u32 len; /* In */
262 * struct sev_data_launch_measure - LAUNCH_MEASURE command parameters
269 u32 handle; /* In */
271 u64 address; /* In */
272 u32 len; /* In/Out */
276 * struct sev_data_launch_secret - LAUNCH_SECRET command parameters
287 u32 handle; /* In */
289 u64 hdr_address; /* In */
290 u32 hdr_len; /* In */
292 u64 guest_address; /* In */
293 u32 guest_len; /* In */
295 u64 trans_address; /* In */
296 u32 trans_len; /* In */
300 * struct sev_data_launch_finish - LAUNCH_FINISH command parameters
305 u32 handle; /* In */
309 * struct sev_data_send_start - SEND_START command parameters
323 u32 handle; /* In */
325 u64 pdh_cert_address; /* In */
326 u32 pdh_cert_len; /* In */
328 u64 plat_cert_address; /* In */
329 u32 plat_cert_len; /* In */
331 u64 amd_cert_address; /* In */
332 u32 amd_cert_len; /* In */
334 u64 session_address; /* In */
335 u32 session_len; /* In/Out */
339 * struct sev_data_send_update - SEND_UPDATE_DATA command
350 u32 handle; /* In */
352 u64 hdr_address; /* In */
353 u32 hdr_len; /* In/Out */
355 u64 guest_address; /* In */
356 u32 guest_len; /* In */
358 u64 trans_address; /* In */
359 u32 trans_len; /* In */
363 * struct sev_data_send_update - SEND_UPDATE_VMSA command
374 u32 handle; /* In */
375 u64 hdr_address; /* In */
376 u32 hdr_len; /* In/Out */
378 u64 guest_address; /* In */
379 u32 guest_len; /* In */
381 u64 trans_address; /* In */
382 u32 trans_len; /* In */
386 * struct sev_data_send_finish - SEND_FINISH command parameters
391 u32 handle; /* In */
395 * struct sev_data_receive_start - RECEIVE_START command parameters
404 u32 handle; /* In/Out */
405 u32 policy; /* In */
406 u64 pdh_cert_address; /* In */
407 u32 pdh_cert_len; /* In */
409 u64 session_address; /* In */
410 u32 session_len; /* In */
414 * struct sev_data_receive_update_data - RECEIVE_UPDATE_DATA command parameters
425 u32 handle; /* In */
427 u64 hdr_address; /* In */
428 u32 hdr_len; /* In */
430 u64 guest_address; /* In */
431 u32 guest_len; /* In */
433 u64 trans_address; /* In */
434 u32 trans_len; /* In */
438 * struct sev_data_receive_update_vmsa - RECEIVE_UPDATE_VMSA command parameters
449 u32 handle; /* In */
451 u64 hdr_address; /* In */
452 u32 hdr_len; /* In */
454 u64 guest_address; /* In */
455 u32 guest_len; /* In */
457 u64 trans_address; /* In */
458 u32 trans_len; /* In */
462 * struct sev_data_receive_finish - RECEIVE_FINISH command parameters
467 u32 handle; /* In */
471 * struct sev_data_dbg - DBG_ENCRYPT/DBG_DECRYPT command parameters
479 u32 handle; /* In */
481 u64 src_addr; /* In */
482 u64 dst_addr; /* In */
483 u32 len; /* In */
489 * sev_platform_init - perform SEV INIT command
495 * -%ENODEV if the SEV device is not available
496 * -%ENOTSUPP if the SEV does not support SEV
497 * -%ETIMEDOUT if the SEV command timed out
498 * -%EIO if the SEV returned a non-zero return code
503 * sev_platform_status - perform SEV PLATFORM_STATUS command
510 * -%ENODEV if the SEV device is not available
511 * -%ENOTSUPP if the SEV does not support SEV
512 * -%ETIMEDOUT if the SEV command timed out
513 * -%EIO if the SEV returned a non-zero return code
518 * sev_issue_cmd_external_user - issue SEV command by other driver with a file
525 * @filep - SEV device file pointer
526 * @cmd - command to issue
527 * @data - command buffer
532 * -%ENODEV if the SEV device is not available
533 * -%ENOTSUPP if the SEV does not support SEV
534 * -%ETIMEDOUT if the SEV command timed out
535 * -%EIO if the SEV returned a non-zero return code
536 * -%EINVAL if the SEV file descriptor is not valid
542 * sev_guest_deactivate - perform SEV DEACTIVATE command
549 * -%ENODEV if the sev device is not available
550 * -%ENOTSUPP if the sev does not support SEV
551 * -%ETIMEDOUT if the sev command timed out
552 * -%EIO if the sev returned a non-zero return code
557 * sev_guest_activate - perform SEV ACTIVATE command
564 * -%ENODEV if the sev device is not available
565 * -%ENOTSUPP if the sev does not support SEV
566 * -%ETIMEDOUT if the sev command timed out
567 * -%EIO if the sev returned a non-zero return code
572 * sev_guest_df_flush - perform SEV DF_FLUSH command
578 * -%ENODEV if the sev device is not available
579 * -%ENOTSUPP if the sev does not support SEV
580 * -%ETIMEDOUT if the sev command timed out
581 * -%EIO if the sev returned a non-zero return code
586 * sev_guest_decommission - perform SEV DECOMMISSION command
593 * -%ENODEV if the sev device is not available
594 * -%ENOTSUPP if the sev does not support SEV
595 * -%ETIMEDOUT if the sev command timed out
596 * -%EIO if the sev returned a non-zero return code
605 sev_platform_status(struct sev_user_data_status *status, int *error) { return -ENODEV; } in sev_platform_status()
607 static inline int sev_platform_init(int *error) { return -ENODEV; } in sev_platform_init()
610 sev_guest_deactivate(struct sev_data_deactivate *data, int *error) { return -ENODEV; } in sev_guest_deactivate()
613 sev_guest_decommission(struct sev_data_decommission *data, int *error) { return -ENODEV; } in sev_guest_decommission()
616 sev_guest_activate(struct sev_data_activate *data, int *error) { return -ENODEV; } in sev_guest_activate()
618 static inline int sev_guest_df_flush(int *error) { return -ENODEV; } in sev_guest_df_flush()
621 sev_issue_cmd_external_user(struct file *filep, unsigned int id, void *data, int *error) { return -… in sev_issue_cmd_external_user()
623 static inline void *psp_copy_user_blob(u64 __user uaddr, u32 len) { return ERR_PTR(-EINVAL); } in psp_copy_user_blob()