[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 22/25] tpm: Convert to new qapi union layout
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PULL v2 22/25] tpm: Convert to new qapi union layout |
Date: |
Mon, 2 Nov 2015 10:13:27 +0100 |
From: Eric Blake <address@hidden>
We have two issues with our qapi union layout:
1) Even though the QMP wire format spells the tag 'type', the
C code spells it 'kind', requiring some hacks in the generator.
2) The C struct uses an anonymous union, which places all tag
values in the same namespace as all non-variant members. This
leads to spurious collisions if a tag value matches a non-variant
member's name.
Make the conversion to the new layout for TPM-related code.
Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
[Commit message tweaked slightly]
Signed-off-by: Markus Armbruster <address@hidden>
---
hmp.c | 6 +++---
tpm.c | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/hmp.c b/hmp.c
index 39d5815..a15d00c 100644
--- a/hmp.c
+++ b/hmp.c
@@ -841,11 +841,11 @@ void hmp_info_tpm(Monitor *mon, const QDict *qdict)
c, TpmModel_lookup[ti->model]);
monitor_printf(mon, " \\ %s: type=%s",
- ti->id, TpmTypeOptionsKind_lookup[ti->options->kind]);
+ ti->id, TpmTypeOptionsKind_lookup[ti->options->type]);
- switch (ti->options->kind) {
+ switch (ti->options->type) {
case TPM_TYPE_OPTIONS_KIND_PASSTHROUGH:
- tpo = ti->options->passthrough;
+ tpo = ti->options->u.passthrough;
monitor_printf(mon, "%s%s%s%s",
tpo->has_path ? ",path=" : "",
tpo->has_path ? tpo->path : "",
diff --git a/tpm.c b/tpm.c
index 4e9b109..f2c59d1 100644
--- a/tpm.c
+++ b/tpm.c
@@ -260,9 +260,9 @@ static TPMInfo *qmp_query_tpm_inst(TPMBackend *drv)
switch (drv->ops->type) {
case TPM_TYPE_PASSTHROUGH:
- res->options->kind = TPM_TYPE_OPTIONS_KIND_PASSTHROUGH;
+ res->options->type = TPM_TYPE_OPTIONS_KIND_PASSTHROUGH;
tpo = g_new0(TPMPassthroughOptions, 1);
- res->options->passthrough = tpo;
+ res->options->u.passthrough = tpo;
if (drv->path) {
tpo->path = g_strdup(drv->path);
tpo->has_path = true;
--
2.4.3
- [Qemu-devel] [PULL v2 00/25] QAPI patches, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 01/25] qapi-schema: mark InetSocketAddress as mandatory again, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 08/25] qapi-visit: Split off visit_type_FOO_fields forward decl, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 05/25] qapi: Reserve '*List' type names for list types, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 07/25] vnc: Hoist allocation of VncBasicInfo to callers, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 10/25] qapi: Prefer typesafe upcasts to qapi base classes, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 03/25] qapi: More idiomatic string operations, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 04/25] qapi: More robust conditions for when labels are needed, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 02/25] tests/qapi-schema: Test for reserved names, empty struct, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 14/25] qapi-visit: Convert to new qapi union layout, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 22/25] tpm: Convert to new qapi union layout,
Markus Armbruster <=
- [Qemu-devel] [PULL v2 06/25] qapi: Reserve 'q_*' and 'has_*' member names, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 12/25] qapi-visit: Remove redundant functions for flat union base, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 09/25] qapi-types: Refactor base fields output, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 13/25] qapi: Start converting to new qapi union layout, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 11/25] qapi: Unbox base members, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 18/25] net: Convert to new qapi union layout, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 15/25] tests: Convert to new qapi union layout, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 16/25] block: Convert to new qapi union layout, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 20/25] input: Convert to new qapi union layout, Markus Armbruster, 2015/11/02
- [Qemu-devel] [PULL v2 17/25] sockets: Convert to new qapi union layout, Markus Armbruster, 2015/11/02