Hi On Wed, Jun 9, 2021 at 7:33 PM Philippe Mathieu-Daudé <phi...@redhat.com> wrote:
> When the management layer queries a binary built using --disable-tpm > for TPM devices, it gets confused by getting empty responses: > > { "execute": "query-tpm" } > { > "return": [ > ] > } > { "execute": "query-tpm-types" } > { > "return": [ > ] > } > { "execute": "query-tpm-models" } > { > "return": [ > ] > } > > Make it clearer by returning an error, mentioning the feature is > disabled: > > { "execute": "query-tpm" } > { > "error": { > "class": "GenericError", > "desc": "this feature or command is not currently supported" > } > } > > Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> > Why not make the qapi schema conditional? --- > stubs/tpm.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/stubs/tpm.c b/stubs/tpm.c > index 9bded191d9d..8c904215b39 100644 > --- a/stubs/tpm.c > +++ b/stubs/tpm.c > @@ -7,6 +7,8 @@ > > #include "qemu/osdep.h" > #include "qapi/qapi-commands-tpm.h" > +#include "qapi/qmp/qerror.h" > +#include "qapi/error.h" > #include "sysemu/tpm.h" > #include "hw/acpi/tpm.h" > > @@ -21,16 +23,19 @@ void tpm_cleanup(void) > > TPMInfoList *qmp_query_tpm(Error **errp) > { > + error_setg(errp, QERR_UNSUPPORTED); > return NULL; > } > > TpmTypeList *qmp_query_tpm_types(Error **errp) > { > + error_setg(errp, QERR_UNSUPPORTED); > return NULL; > } > > TpmModelList *qmp_query_tpm_models(Error **errp) > { > + error_setg(errp, QERR_UNSUPPORTED); > return NULL; > } > > -- > 2.31.1 > > > -- Marc-André Lureau