Message ID | 20180228211028.83970-15-brijesh.singh@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
* Brijesh Singh (brijesh.singh@amd.com) wrote: > The command can be used to show the SEV information when memory > encryption is enabled on AMD platform. > > Cc: Eric Blake <eblake@redhat.com> > Cc: "Daniel P. Berrangé" <berrange@redhat.com> > Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > Cc: Markus Armbruster <armbru@redhat.com> > Reviewed-by: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > Signed-off-by: Brijesh Singh <brijesh.singh@amd.com> > --- > > Hi Dave, > > I updated the patch to address your comment on making this x86 specific, but > still kept your R-b, if you don't agree with changes then let me know. Yes, that's fine, thanks. Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Dave > thanks > > hmp-commands-info.hx | 16 ++++++++++++++++ > hmp.h | 1 + > target/i386/monitor.c | 20 ++++++++++++++++++++ > 3 files changed, 37 insertions(+) > > diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx > index ad590a4ffb2b..ddfcd5adcca6 100644 > --- a/hmp-commands-info.hx > +++ b/hmp-commands-info.hx > @@ -867,6 +867,22 @@ Display the amount of initially allocated and present hotpluggable (if > enabled) memory in bytes. > ETEXI > > +#if defined(TARGET_I386) > + { > + .name = "sev", > + .args_type = "", > + .params = "", > + .help = "show SEV information", > + .cmd = hmp_info_sev, > + }, > +#endif > + > +STEXI > +@item info sev > +@findex info sev > +Show SEV information. > +ETEXI > + > STEXI > @end table > ETEXI > diff --git a/hmp.h b/hmp.h > index 1143db44a760..4ca1a77b2c1f 100644 > --- a/hmp.h > +++ b/hmp.h > @@ -146,5 +146,6 @@ void hmp_info_ramblock(Monitor *mon, const QDict *qdict); > void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict); > void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict); > void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict); > +void hmp_info_sev(Monitor *mon, const QDict *qdict); > > #endif > diff --git a/target/i386/monitor.c b/target/i386/monitor.c > index e2f02c4be95c..e664030dbd72 100644 > --- a/target/i386/monitor.c > +++ b/target/i386/monitor.c > @@ -29,6 +29,7 @@ > #include "qapi/qmp/qdict.h" > #include "hw/i386/pc.h" > #include "sysemu/kvm.h" > +#include "sysemu/sev.h" > #include "hmp.h" > #include "sev_i386.h" > #include "qmp-commands.h" > @@ -680,3 +681,22 @@ SevInfo *qmp_query_sev(Error **errp) > > return info; > } > + > +void hmp_info_sev(Monitor *mon, const QDict *qdict) > +{ > + SevInfo *info = sev_get_info(); > + > + if (info && info->enabled) { > + monitor_printf(mon, "handle: %d\n", info->handle); > + monitor_printf(mon, "state: %s\n", SevState_str(info->state)); > + monitor_printf(mon, "build: %d\n", info->build_id); > + monitor_printf(mon, "api version: %d.%d\n", > + info->api_major, info->api_minor); > + monitor_printf(mon, "debug: %s\n", > + info->policy & SEV_POLICY_NODBG ? "off" : "on"); > + monitor_printf(mon, "key-sharing: %s\n", > + info->policy & SEV_POLICY_NOKS ? "off" : "on"); > + } else { > + monitor_printf(mon, "SEV is not enabled\n"); > + } > +} > -- > 2.14.3 > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx index ad590a4ffb2b..ddfcd5adcca6 100644 --- a/hmp-commands-info.hx +++ b/hmp-commands-info.hx @@ -867,6 +867,22 @@ Display the amount of initially allocated and present hotpluggable (if enabled) memory in bytes. ETEXI +#if defined(TARGET_I386) + { + .name = "sev", + .args_type = "", + .params = "", + .help = "show SEV information", + .cmd = hmp_info_sev, + }, +#endif + +STEXI +@item info sev +@findex info sev +Show SEV information. +ETEXI + STEXI @end table ETEXI diff --git a/hmp.h b/hmp.h index 1143db44a760..4ca1a77b2c1f 100644 --- a/hmp.h +++ b/hmp.h @@ -146,5 +146,6 @@ void hmp_info_ramblock(Monitor *mon, const QDict *qdict); void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict); void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict); void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict); +void hmp_info_sev(Monitor *mon, const QDict *qdict); #endif diff --git a/target/i386/monitor.c b/target/i386/monitor.c index e2f02c4be95c..e664030dbd72 100644 --- a/target/i386/monitor.c +++ b/target/i386/monitor.c @@ -29,6 +29,7 @@ #include "qapi/qmp/qdict.h" #include "hw/i386/pc.h" #include "sysemu/kvm.h" +#include "sysemu/sev.h" #include "hmp.h" #include "sev_i386.h" #include "qmp-commands.h" @@ -680,3 +681,22 @@ SevInfo *qmp_query_sev(Error **errp) return info; } + +void hmp_info_sev(Monitor *mon, const QDict *qdict) +{ + SevInfo *info = sev_get_info(); + + if (info && info->enabled) { + monitor_printf(mon, "handle: %d\n", info->handle); + monitor_printf(mon, "state: %s\n", SevState_str(info->state)); + monitor_printf(mon, "build: %d\n", info->build_id); + monitor_printf(mon, "api version: %d.%d\n", + info->api_major, info->api_minor); + monitor_printf(mon, "debug: %s\n", + info->policy & SEV_POLICY_NODBG ? "off" : "on"); + monitor_printf(mon, "key-sharing: %s\n", + info->policy & SEV_POLICY_NOKS ? "off" : "on"); + } else { + monitor_printf(mon, "SEV is not enabled\n"); + } +}