tpm: Return QMP error when TPM is disabled in build
commitcaff255a546d12530cf7c28e60690cd0e65851fd
authorPhilippe Mathieu-Daudé <philmd@redhat.com>
Tue, 15 Jun 2021 14:21:21 +0000 (15 16:21 +0200)
committerStefan Berger <stefanb@linux.ibm.com>
Tue, 15 Jun 2021 14:59:02 +0000 (15 10:59 -0400)
tree1ea8462dca5bf1f009dc9a08c07194cc96fb0433
parente542b71805dc4b7827e6c2f00a1170a61843345e
tpm: Return QMP error when TPM is disabled in build

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": [
      ]
  }

To make it clearer by returning an error:
- Make the TPM QAPI schema conditional
  All of tpm.json is now 'if': 'defined(CONFIG_TPM)'.
- Adapt the HMP command
- Remove stubs which became unnecessary

The management layer now gets a 'CommandNotFound' error:

  { "execute": "query-tpm" }
  {
      "error": {
          "class": "CommandNotFound",
          "desc": "The command query-tpm has not been found"
      }
  }

Suggested-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
MAINTAINERS
monitor/hmp-cmds.c
qapi/tpm.json
stubs/meson.build
stubs/tpm.c [deleted file]