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/error.h" 19 #include "sev.h" 20 21 SevInfo *qmp_query_sev(Error **errp) 22 { 23 error_setg(errp, "SEV is not available in this QEMU"); 24 return NULL; 25 } 26 27 SevLaunchMeasureInfo *qmp_query_sev_launch_measure(Error **errp) 28 { 29 error_setg(errp, "SEV is not available in this QEMU"); 30 return NULL; 31 } 32 33 SevCapability *qmp_query_sev_capabilities(Error **errp) 34 { 35 error_setg(errp, "SEV is not available in this QEMU"); 36 return NULL; 37 } 38 39 void qmp_sev_inject_launch_secret(const char *packet_header, const char *secret, 40 bool has_gpa, uint64_t gpa, Error **errp) 41 { 42 error_setg(errp, "SEV is not available in this QEMU"); 43 } 44 45 int sev_encrypt_flash(hwaddr gpa, uint8_t *ptr, uint64_t len, Error **errp) 46 { 47 g_assert_not_reached(); 48 } 49 50 void sev_es_set_reset_vector(CPUState *cpu) 51 { 52 } 53 54 int sev_es_save_reset_vector(void *flash_ptr, uint64_t flash_size) 55 { 56 g_assert_not_reached(); 57 } 58 59 SevAttestationReport *qmp_query_sev_attestation_report(const char *mnonce, 60 Error **errp) 61 { 62 error_setg(errp, "SEV is not available in this QEMU"); 63 return NULL; 64 } 65 66 void hmp_info_sev(Monitor *mon, const QDict *qdict) 67 { 68 monitor_printf(mon, "SEV is not available in this QEMU\n"); 69 } 70 71 void pc_system_parse_sev_metadata(uint8_t *flash_ptr, size_t flash_size) 72 { 73 } 74