Lines Matching +full:send +full:- +full:migration

1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Copyright (C) 2016-2017 Advanced Micro Devices, Inc.
15 #include <uapi/linux/psp-sev.h>
64 /* Guest migration commands (outgoing) */
71 /* Guest migration commands (incoming) */
115 * struct sev_data_init - INIT command parameters
118 * @tmr_address: system physical address used for SEV-ES
129 * struct sev_data_init_ex - INIT_EX command parameters
133 * @tmr_address: system physical address used for SEV-ES
151 * struct sev_data_pek_csr - PEK_CSR command parameters
162 * struct sev_data_cert_import - PEK_CERT_IMPORT command parameters
178 * struct sev_data_download_firmware - DOWNLOAD_FIRMWARE command parameters
189 * struct sev_data_get_id - GET_ID command parameters
199 * struct sev_data_pdh_cert_export - PDH_CERT_EXPORT command parameters
215 * struct sev_data_decommission - DECOMMISSION command parameters
224 * struct sev_data_activate - ACTIVATE command parameters
235 * struct sev_data_deactivate - DEACTIVATE command parameters
244 * struct sev_data_guest_status - SEV GUEST_STATUS command parameters
259 * struct sev_data_launch_start - LAUNCH_START command parameters
279 * struct sev_data_launch_update_data - LAUNCH_UPDATE_DATA command parameter
293 * struct sev_data_launch_update_vmsa - LAUNCH_UPDATE_VMSA command
307 * struct sev_data_launch_measure - LAUNCH_MEASURE command parameters
321 * struct sev_data_launch_secret - LAUNCH_SECRET command parameters
345 * struct sev_data_launch_finish - LAUNCH_FINISH command parameters
354 * struct sev_data_send_start - SEND_START command parameters
384 * struct sev_data_send_update - SEND_UPDATE_DATA command
389 * @guest_address: physical address of guest memory region to send
390 * @guest_len: len of guest memory region to send
408 * struct sev_data_send_update - SEND_UPDATE_VMSA command
413 * @guest_address: physical address of guest memory region to send
414 * @guest_len: len of guest memory region to send
431 * struct sev_data_send_finish - SEND_FINISH command parameters
440 * struct sev_data_send_cancel - SEND_CANCEL command parameters
449 * struct sev_data_receive_start - RECEIVE_START command parameters
468 * struct sev_data_receive_update_data - RECEIVE_UPDATE_DATA command parameters
492 * struct sev_data_receive_update_vmsa - RECEIVE_UPDATE_VMSA command parameters
516 * struct sev_data_receive_finish - RECEIVE_FINISH command parameters
525 * struct sev_data_dbg - DBG_ENCRYPT/DBG_DECRYPT command parameters
541 * struct sev_data_attestation_report - SEV_ATTESTATION_REPORT command parameters
557 * struct sev_data_snp_download_firmware - SNP_DOWNLOAD_FIRMWARE command params
568 * struct sev_data_snp_activate - SNP_ACTIVATE command params
579 * struct sev_data_snp_addr - generic SNP command params
588 * struct sev_data_snp_launch_start - SNP_LAUNCH_START command params
592 * @ma_gctx_paddr: system physical address of migration agent
593 * @ma_en: the guest is associated with a migration agent
594 * @imi_en: launch flow is launching an IMI (Incoming Migration Image) for the
595 * purpose of guest-assisted migration.
597 * @gosvw: guest OS-visible workarounds, as defined by hypervisor
622 * struct sev_data_snp_launch_update - SNP_LAUNCH_UPDATE command params
627 * @imi_page: indicates that this page is part of the IMI (Incoming Migration
654 * struct sev_data_snp_launch_finish - SNP_LAUNCH_FINISH command params
663 * @host_data: host-supplied data for guest, not interpreted by firmware
677 * struct sev_data_snp_guest_status - SNP_GUEST_STATUS command params
688 * struct sev_data_snp_page_reclaim - SNP_PAGE_RECLAIM command params
699 * struct sev_data_snp_page_unsmash - SNP_PAGE_UNSMASH command params
710 * struct sev_data_snp_dbg - DBG_ENCRYPT/DBG_DECRYPT command parameters
723 * struct sev_data_snp_guest_request - SNP_GUEST_REQUEST command params
736 * struct sev_data_snp_init_ex - SNP_INIT_EX structure
755 * struct sev_data_range - RANGE structure
768 * struct sev_data_range_list - RANGE_LIST structure
781 * struct sev_data_snp_shutdown_ex - SNP_SHUTDOWN_EX structure
807 * struct sev_data_snp_commit - SNP_COMMIT structure
818 * sev_module_init - perform PSP SEV module initialization
827 * sev_platform_init - perform SEV INIT command
833 * -%ENODEV if the SEV device is not available
834 * -%ENOTSUPP if the SEV does not support SEV
835 * -%ETIMEDOUT if the SEV command timed out
836 * -%EIO if the SEV returned a non-zero return code
841 * sev_platform_status - perform SEV PLATFORM_STATUS command
848 * -%ENODEV if the SEV device is not available
849 * -%ENOTSUPP if the SEV does not support SEV
850 * -%ETIMEDOUT if the SEV command timed out
851 * -%EIO if the SEV returned a non-zero return code
856 * sev_issue_cmd_external_user - issue SEV command by other driver with a file
863 * @filep - SEV device file pointer
864 * @cmd - command to issue
865 * @data - command buffer
870 * -%ENODEV if the SEV device is not available
871 * -%ENOTSUPP if the SEV does not support SEV
872 * -%ETIMEDOUT if the SEV command timed out
873 * -%EIO if the SEV returned a non-zero return code
874 * -%EINVAL if the SEV file descriptor is not valid
880 * sev_guest_deactivate - perform SEV DEACTIVATE command
887 * -%ENODEV if the sev device is not available
888 * -%ENOTSUPP if the sev does not support SEV
889 * -%ETIMEDOUT if the sev command timed out
890 * -%EIO if the sev returned a non-zero return code
895 * sev_guest_activate - perform SEV ACTIVATE command
902 * -%ENODEV if the sev device is not available
903 * -%ENOTSUPP if the sev does not support SEV
904 * -%ETIMEDOUT if the sev command timed out
905 * -%EIO if the sev returned a non-zero return code
910 * sev_guest_df_flush - perform SEV DF_FLUSH command
916 * -%ENODEV if the sev device is not available
917 * -%ENOTSUPP if the sev does not support SEV
918 * -%ETIMEDOUT if the sev command timed out
919 * -%EIO if the sev returned a non-zero return code
924 * sev_guest_decommission - perform SEV DECOMMISSION command
931 * -%ENODEV if the sev device is not available
932 * -%ENOTSUPP if the sev does not support SEV
933 * -%ETIMEDOUT if the sev command timed out
934 * -%EIO if the sev returned a non-zero return code
939 * sev_do_cmd - issue an SEV or an SEV-SNP command
941 * @cmd: SEV or SEV-SNP firmware command to issue
947 * -%ENODEV if the PSP device is not available
948 * -%ENOTSUPP if PSP device does not support SEV
949 * -%ETIMEDOUT if the SEV command timed out
950 * -%EIO if PSP device returned a non-zero return code
961 sev_platform_status(struct sev_user_data_status *status, int *error) { return -ENODEV; } in sev_platform_status()
963 static inline int sev_platform_init(struct sev_platform_init_args *args) { return -ENODEV; } in sev_platform_init()
966 sev_guest_deactivate(struct sev_data_deactivate *data, int *error) { return -ENODEV; } in sev_guest_deactivate()
969 sev_guest_decommission(struct sev_data_decommission *data, int *error) { return -ENODEV; } in sev_guest_decommission()
972 sev_do_cmd(int cmd, void *data, int *psp_ret) { return -ENODEV; } in sev_do_cmd()
975 sev_guest_activate(struct sev_data_activate *data, int *error) { return -ENODEV; } in sev_guest_activate()
977 static inline int sev_guest_df_flush(int *error) { return -ENODEV; } in sev_guest_df_flush()
980 sev_issue_cmd_external_user(struct file *filep, unsigned int id, void *data, int *error) { return - in sev_issue_cmd_external_user()
982 static inline void *psp_copy_user_blob(u64 __user uaddr, u32 len) { return ERR_PTR(-EINVAL); } in psp_copy_user_blob()