1 /* 2 * QEMU SEV system stub 3 * 4 * Copyright Advanced Micro Devices 2018 5 * 6 * Authors: 7 * Brijesh Singh <brijesh.singh@amd.com> 8 * 9 * This work is licensed under the terms of the GNU GPL, version 2 or later. 10 * See the COPYING file in the top-level directory. 11 * 12 */ 13 14 #include "qemu/osdep.h" 15 #include "monitor/monitor.h" 16 #include "monitor/hmp-target.h" 17 #include "qapi/qapi-commands-misc-target.h" 18 #include "qapi/qmp/qerror.h" 19 #include "qapi/error.h" 20 #include "sev.h" 21 22 SevInfo *qmp_query_sev(Error **errp) 23 { 24 error_setg(errp, "SEV is not available in this QEMU"); 25 return NULL; 26 } 27 28 SevLaunchMeasureInfo *qmp_query_sev_launch_measure(Error **errp) 29 { 30 error_setg(errp, "SEV is not available in this QEMU"); 31 return NULL; 32 } 33 34 SevCapability *qmp_query_sev_capabilities(Error **errp) 35 { 36 error_setg(errp, "SEV is not available in this QEMU"); 37 return NULL; 38 } 39 40 void qmp_sev_inject_launch_secret(const char *packet_header, const char *secret, 41 bool has_gpa, uint64_t gpa, Error **errp) 42 { 43 error_setg(errp, "SEV is not available in this QEMU"); 44 } 45 46 int sev_encrypt_flash(uint8_t *ptr, uint64_t len, Error **errp) 47 { 48 g_assert_not_reached(); 49 } 50 51 void sev_es_set_reset_vector(CPUState *cpu) 52 { 53 } 54 55 int sev_es_save_reset_vector(void *flash_ptr, uint64_t flash_size) 56 { 57 g_assert_not_reached(); 58 } 59 60 SevAttestationReport *qmp_query_sev_attestation_report(const char *mnonce, 61 Error **errp) 62 { 63 error_setg(errp, "SEV is not available in this QEMU"); 64 return NULL; 65 } 66 67 void hmp_info_sev(Monitor *mon, const QDict *qdict) 68 { 69 monitor_printf(mon, "SEV is not available in this QEMU\n"); 70 } 71