path: root/qapi
diff options
authorPaolo Bonzini <pbonzini@redhat.com>2021-03-26 04:48:39 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2021-04-01 09:40:45 +0200
commita061a71e0d8f259fbb241485f6601bd02c7d086a (patch)
treea75d071cb96812242df5cf1cfecda7340551e67a /qapi
parent10b8eb94c0902b58d83df84a9eeae709a3480e82 (diff)
qapi: qom: do not use target-specific conditionals
ObjectType and ObjectOptions are defined in a target-independent file, therefore they do not have access to target-specific configuration symbols such as CONFIG_PSERIES or CONFIG_SEV. For this reason, pef-guest and sev-guest are currently omitted when compiling the generated QAPI files. In addition, this causes ObjectType to have different definitions depending on the file that is including qapi-types-qom.h (currently this is not causing any issues, but it is wrong). Define the two enum entries and the SevGuestProperties type unconditionally to avoid the issue. We do not expect to have many target-dependent user-creatable classes, so it is not particularly problematic. Reported-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'qapi')
1 files changed, 4 insertions, 6 deletions
diff --git a/qapi/qom.json b/qapi/qom.json
index 2056edc072..db5ac419b1 100644
--- a/qapi/qom.json
+++ b/qapi/qom.json
@@ -733,8 +733,7 @@
'*policy': 'uint32',
'*handle': 'uint32',
'*cbitpos': 'uint32',
- 'reduced-phys-bits': 'uint32' },
- 'if': 'defined(CONFIG_SEV)' }
+ 'reduced-phys-bits': 'uint32' } }
# @ObjectType:
@@ -768,14 +767,14 @@
{ 'name': 'memory-backend-memfd',
'if': 'defined(CONFIG_LINUX)' },
- {'name': 'pef-guest', 'if': 'defined(CONFIG_PSERIES)' },
+ 'pef-guest',
- {'name': 'sev-guest', 'if': 'defined(CONFIG_SEV)' },
+ 'sev-guest',
@@ -831,8 +830,7 @@
'rng-random': 'RngRandomProperties',
'secret': 'SecretProperties',
'secret_keyring': 'SecretKeyringProperties',
- 'sev-guest': { 'type': 'SevGuestProperties',
- 'if': 'defined(CONFIG_SEV)' },
+ 'sev-guest': 'SevGuestProperties',
'throttle-group': 'ThrottleGroupProperties',
'tls-creds-anon': 'TlsCredsAnonProperties',
'tls-creds-psk': 'TlsCredsPskProperties',