Hi
On Wed, Jun 9, 2021 at 7:33 PM Philippe Mathieu-Daudé <[email protected]>
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é <[email protected]>
>
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