Lines Matching +full:address +full:- +full:address +full:- +full:data

1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Copyright (C) 2016-2017 Advanced Micro Devices, Inc.
15 #include <uapi/linux/psp-sev.h>
85 * struct sev_data_init - INIT command parameters
88 * @tmr_address: system physical address used for SEV-ES
99 * struct sev_data_init_ex - INIT_EX command parameters
103 * @tmr_address: system physical address used for SEV-ES
105 * @nv_address: system physical address used for PSP NV storage
121 * struct sev_data_pek_csr - PEK_CSR command parameters
123 * @address: PEK certificate chain
127 u64 address; /* In */ member
132 * struct sev_data_cert_import - PEK_CERT_IMPORT command parameters
148 * struct sev_data_download_firmware - DOWNLOAD_FIRMWARE command parameters
150 * @address: physical address of firmware image
154 u64 address; /* In */ member
159 * struct sev_data_get_id - GET_ID command parameters
161 * @address: physical address of region to place unique CPU ID(s)
165 u64 address; /* In */ member
169 * struct sev_data_pdh_cert_export - PDH_CERT_EXPORT command parameters
171 * @pdh_address: PDH certificate address
185 * struct sev_data_decommission - DECOMMISSION command parameters
194 * struct sev_data_activate - ACTIVATE command parameters
205 * struct sev_data_deactivate - DEACTIVATE command parameters
214 * struct sev_data_guest_status - SEV GUEST_STATUS command parameters
229 * struct sev_data_launch_start - LAUNCH_START command parameters
233 * @dh_cert_address: physical address of DH certificate blob
235 * @session_address: physical address of session parameters
249 * struct sev_data_launch_update_data - LAUNCH_UPDATE_DATA command parameter
253 * @address: physical address of memory region to encrypt
258 u64 address; /* In */ member
263 * struct sev_data_launch_update_vmsa - LAUNCH_UPDATE_VMSA command
266 * @address: physical address of memory region to encrypt
272 u64 address; /* In */ member
277 * struct sev_data_launch_measure - LAUNCH_MEASURE command parameters
280 * @address: physical address containing the measurement blob
286 u64 address; /* In */ member
291 * struct sev_data_launch_secret - LAUNCH_SECRET command parameters
294 * @hdr_address: physical address containing the packet header
296 * @guest_address: system physical address of guest memory region
298 * @trans_address: physical address of transport memory buffer
315 * struct sev_data_launch_finish - LAUNCH_FINISH command parameters
324 * struct sev_data_send_start - SEND_START command parameters
328 * @pdh_cert_address: physical address containing PDH certificate
330 * @plat_certs_address: physical address containing platform certificate
332 * @amd_certs_address: physical address containing AMD certificate
334 * @session_address: physical address containing Session data
335 * @session_len: len of session data
354 * struct sev_data_send_update - SEND_UPDATE_DATA command
357 * @hdr_address: physical address containing packet header
359 * @guest_address: physical address of guest memory region to send
361 * @trans_address: physical address of host memory region
378 * struct sev_data_send_update - SEND_UPDATE_VMSA command
381 * @hdr_address: physical address containing packet header
383 * @guest_address: physical address of guest memory region to send
385 * @trans_address: physical address of host memory region
401 * struct sev_data_send_finish - SEND_FINISH command parameters
410 * struct sev_data_send_cancel - SEND_CANCEL command parameters
419 * struct sev_data_receive_start - RECEIVE_START command parameters
422 * @pdh_cert_address: system physical address containing PDH certificate blob
424 * @session_address: system physical address containing session blob
438 * struct sev_data_receive_update_data - RECEIVE_UPDATE_DATA command parameters
441 * @hdr_address: physical address containing packet header blob
443 * @guest_address: system physical address of guest memory region
445 * @trans_address: system physical address of transport buffer
462 * struct sev_data_receive_update_vmsa - RECEIVE_UPDATE_VMSA command parameters
465 * @hdr_address: physical address containing packet header blob
467 * @guest_address: system physical address of guest memory region
469 * @trans_address: system physical address of transport buffer
486 * struct sev_data_receive_finish - RECEIVE_FINISH command parameters
495 * struct sev_data_dbg - DBG_ENCRYPT/DBG_DECRYPT command parameters
498 * @src_addr: source address of data to operate on
499 * @dst_addr: destination address of data to operate on
500 * @len: len of data to operate on
511 * struct sev_data_attestation_report - SEV_ATTESTATION_REPORT command parameters
515 * @address: physical address where the report will be copied.
521 u64 address; /* In */ member
529 * sev_platform_init - perform SEV INIT command
535 * -%ENODEV if the SEV device is not available
536 * -%ENOTSUPP if the SEV does not support SEV
537 * -%ETIMEDOUT if the SEV command timed out
538 * -%EIO if the SEV returned a non-zero return code
543 * sev_platform_status - perform SEV PLATFORM_STATUS command
550 * -%ENODEV if the SEV device is not available
551 * -%ENOTSUPP if the SEV does not support SEV
552 * -%ETIMEDOUT if the SEV command timed out
553 * -%EIO if the SEV returned a non-zero return code
558 * sev_issue_cmd_external_user - issue SEV command by other driver with a file
565 * @filep - SEV device file pointer
566 * @cmd - command to issue
567 * @data - command buffer
572 * -%ENODEV if the SEV device is not available
573 * -%ENOTSUPP if the SEV does not support SEV
574 * -%ETIMEDOUT if the SEV command timed out
575 * -%EIO if the SEV returned a non-zero return code
576 * -%EINVAL if the SEV file descriptor is not valid
579 void *data, int *error);
582 * sev_guest_deactivate - perform SEV DEACTIVATE command
589 * -%ENODEV if the sev device is not available
590 * -%ENOTSUPP if the sev does not support SEV
591 * -%ETIMEDOUT if the sev command timed out
592 * -%EIO if the sev returned a non-zero return code
594 int sev_guest_deactivate(struct sev_data_deactivate *data, int *error);
597 * sev_guest_activate - perform SEV ACTIVATE command
604 * -%ENODEV if the sev device is not available
605 * -%ENOTSUPP if the sev does not support SEV
606 * -%ETIMEDOUT if the sev command timed out
607 * -%EIO if the sev returned a non-zero return code
609 int sev_guest_activate(struct sev_data_activate *data, int *error);
612 * sev_guest_df_flush - perform SEV DF_FLUSH command
618 * -%ENODEV if the sev device is not available
619 * -%ENOTSUPP if the sev does not support SEV
620 * -%ETIMEDOUT if the sev command timed out
621 * -%EIO if the sev returned a non-zero return code
626 * sev_guest_decommission - perform SEV DECOMMISSION command
633 * -%ENODEV if the sev device is not available
634 * -%ENOTSUPP if the sev does not support SEV
635 * -%ETIMEDOUT if the sev command timed out
636 * -%EIO if the sev returned a non-zero return code
638 int sev_guest_decommission(struct sev_data_decommission *data, int *error);
645 sev_platform_status(struct sev_user_data_status *status, int *error) { return -ENODEV; } in sev_platform_status()
647 static inline int sev_platform_init(int *error) { return -ENODEV; } in sev_platform_init()
650 sev_guest_deactivate(struct sev_data_deactivate *data, int *error) { return -ENODEV; } in sev_guest_deactivate() argument
653 sev_guest_decommission(struct sev_data_decommission *data, int *error) { return -ENODEV; } in sev_guest_decommission() argument
656 sev_guest_activate(struct sev_data_activate *data, int *error) { return -ENODEV; } in sev_guest_activate() argument
658 static inline int sev_guest_df_flush(int *error) { return -ENODEV; } in sev_guest_df_flush()
661 sev_issue_cmd_external_user(struct file *filep, unsigned int id, void *data, int *error) { return - in sev_issue_cmd_external_user() argument
663 static inline void *psp_copy_user_blob(u64 __user uaddr, u32 len) { return ERR_PTR(-EINVAL); } in psp_copy_user_blob()