On 03/18/2013 01:46 PM, Stefan Berger wrote:
On 03/18/2013 12:16 PM, Markus Armbruster wrote:
Corey Bryant <cor...@linux.vnet.ibm.com> writes:
Signed-off-by: Corey Bryant <cor...@linux.vnet.ibm.com>
---
qemu-options.hx | 3 ++-
qmp-commands.hx | 59
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 1 deletion(-)
diff --git a/qemu-options.hx b/qemu-options.hx
index 30fb85d..3b3cd0f 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -2237,7 +2237,8 @@ Backend type must be:
@option{passthrough}.
The specific backend type will determine the applicable options.
-The @code{-tpmdev} option requires a @code{-device} option.
+The @code{-tpmdev} option creates the TPM backend and requires a
+@code{-device} option that specifies the TPM frontend interface model.
Options to each backend are described below.
diff --git a/qmp-commands.hx b/qmp-commands.hx
index b370060..4eda5ea 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -2721,18 +2721,77 @@ EQMP
.mhandler.cmd_new = qmp_marshal_input_query_tpm,
},
+SQMP
+query-tpm
+---------
+
+Return information about the TPM device.
+
+Arguments: None
+
+Example:
+
+-> { "execute": "query-tpm" }
+<- { "return":
+ [
+ { "model": "tpm-tis",
+ "tpm-options":
+ { "type": "tpm-passthrough-options",
+ "data":
+ { "cancel-path": "/sys/class/misc/tpm0/device/cancel",
+ "path": "/dev/tpm0"
+ }
+ },
+ "type": "passthrough",
+ "id": "tpm0"
+ }
+ ]
+ }
+
+EQMP
+
"tpm-options" is a discriminated union. How is its discriminator "type"
(here: "tpm-passthrough-options") related to the outer "type" (here:
"passthrough")?
It gives you similar information twice. So there is a direct
relationship between the two types.
The sample above could be the result when the following command line
options are in effect:
qemu-system-x86_64
-tpmdev
passthrough,id=tpm0,path=/dev/tpm0,cancel-path=/sys/class/misc/tpm0/device/cancel
-device tpm-tis,tpmdev=tpm0
--
Regards,
Corey Bryant