summaryrefslogtreecommitdiff
path: root/include/qapi
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2015-11-18 01:52:59 -0700
committerMarkus Armbruster <armbru@redhat.com>2015-12-17 08:21:28 +0100
commit86f4b6871c598e86f0542ed50d2ee5280fc66590 (patch)
treede07bfcbb9e0c05f23290a218e0976d354b12b66 /include/qapi
parent04e0639d4e77b6d55491d396c8aa13929ee8ed9a (diff)
downloadqemu-86f4b6871c598e86f0542ed50d2ee5280fc66590.zip
cpu: Convert CpuInfo into flat union
The CpuInfo struct is used only by the 'query-cpus' output command, so we are free to modify it by adding fields (clients are already supposed to ignore unknown output fields), or by changing optional members to mandatory, while still keeping QMP wire compatibility with older versions of qemu. When qapi type CpuInfo was originally created for 0.14, we had no notion of a flat union, and instead just listed a bunch of optional fields with documentation about the mutually-exclusive choice of which instruction pointer field(s) would be provided for a given architecture. But now that we have flat unions and introspection, it is better to segregate off which fields will be provided according to the actual architecture. With this in place, we no longer need the fields to be optional, because the choice of the new 'arch' discriminator serves that role. This has an additional benefit: the old all-in-one struct was the only place in the code base that had a case-sensitive naming of members 'pc' vs. 'PC'. Separating these spellings into different branches of the flat union will allow us to add restrictions against future case-insensitive collisions, since that is generally a poor interface practice. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1447836791-369-25-git-send-email-eblake@redhat.com> [Spelling of CPUInfo{SPARC,PPC,MIPS} fixed] Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'include/qapi')
0 files changed, 0 insertions, 0 deletions