xref: /openbmc/qemu/target/i386/sev-sysemu-stub.c (revision c306cdb0)
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