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
qmp_query_sev(Error ** errp)21 SevInfo *qmp_query_sev(Error **errp)
22 {
23 error_setg(errp, "SEV is not available in this QEMU");
24 return NULL;
25 }
26
qmp_query_sev_launch_measure(Error ** errp)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
qmp_query_sev_capabilities(Error ** errp)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
qmp_sev_inject_launch_secret(const char * packet_header,const char * secret,bool has_gpa,uint64_t gpa,Error ** errp)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
sev_encrypt_flash(hwaddr gpa,uint8_t * ptr,uint64_t len,Error ** errp)45 int sev_encrypt_flash(hwaddr gpa, uint8_t *ptr, uint64_t len, Error **errp)
46 {
47 g_assert_not_reached();
48 }
49
sev_es_set_reset_vector(CPUState * cpu)50 void sev_es_set_reset_vector(CPUState *cpu)
51 {
52 }
53
sev_es_save_reset_vector(void * flash_ptr,uint64_t flash_size)54 int sev_es_save_reset_vector(void *flash_ptr, uint64_t flash_size)
55 {
56 g_assert_not_reached();
57 }
58
qmp_query_sev_attestation_report(const char * mnonce,Error ** errp)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
hmp_info_sev(Monitor * mon,const QDict * qdict)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
pc_system_parse_sev_metadata(uint8_t * flash_ptr,size_t flash_size)71 void pc_system_parse_sev_metadata(uint8_t *flash_ptr, size_t flash_size)
72 {
73 }
74