qapi: Make some ObjectTypes depend on the build settings

Some of the ObjectType entries already depend on CONFIG_* switches.
Some others also only make sense with certain configurations, but
are currently always listed in the ObjectType enum. Let's make them
depend on the correpsonding CONFIG_* switches, too, so that upper
layers (like libvirt) have a better way to determine which features
are available in QEMU.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20210928160232.432980-1-thuth@redhat.com>
[Do the same for MemoryBackendEpcProperties. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Thomas Huth 2021-09-28 18:02:32 +02:00 committed by Paolo Bonzini
parent 8c9e7f8c8a
commit f1279fc15b
1 changed files with 24 additions and 12 deletions

View File

@ -794,7 +794,8 @@
'authz-pam', 'authz-pam',
'authz-simple', 'authz-simple',
'can-bus', 'can-bus',
'can-host-socketcan', { 'name': 'can-host-socketcan',
'if': 'CONFIG_LINUX' },
'colo-compare', 'colo-compare',
'cryptodev-backend', 'cryptodev-backend',
'cryptodev-backend-builtin', 'cryptodev-backend-builtin',
@ -808,21 +809,26 @@
'filter-replay', 'filter-replay',
'filter-rewriter', 'filter-rewriter',
'input-barrier', 'input-barrier',
'input-linux', { 'name': 'input-linux',
'if': 'CONFIG_LINUX' },
'iothread', 'iothread',
{ 'name': 'memory-backend-epc',
'if': 'CONFIG_LINUX' },
'memory-backend-file', 'memory-backend-file',
{ 'name': 'memory-backend-memfd', { 'name': 'memory-backend-memfd',
'if': 'CONFIG_LINUX' }, 'if': 'CONFIG_LINUX' },
'memory-backend-ram', 'memory-backend-ram',
'memory-backend-epc',
'pef-guest', 'pef-guest',
'pr-manager-helper', { 'name': 'pr-manager-helper',
'if': 'CONFIG_LINUX' },
'qtest', 'qtest',
'rng-builtin', 'rng-builtin',
'rng-egd', 'rng-egd',
'rng-random', { 'name': 'rng-random',
'if': 'CONFIG_POSIX' },
'secret', 'secret',
'secret_keyring', { 'name': 'secret_keyring',
'if': 'CONFIG_SECRET_KEYRING' },
'sev-guest', 'sev-guest',
's390-pv-guest', 's390-pv-guest',
'throttle-group', 'throttle-group',
@ -853,7 +859,8 @@
'authz-listfile': 'AuthZListFileProperties', 'authz-listfile': 'AuthZListFileProperties',
'authz-pam': 'AuthZPAMProperties', 'authz-pam': 'AuthZPAMProperties',
'authz-simple': 'AuthZSimpleProperties', 'authz-simple': 'AuthZSimpleProperties',
'can-host-socketcan': 'CanHostSocketcanProperties', 'can-host-socketcan': { 'type': 'CanHostSocketcanProperties',
'if': 'CONFIG_LINUX' },
'colo-compare': 'ColoCompareProperties', 'colo-compare': 'ColoCompareProperties',
'cryptodev-backend': 'CryptodevBackendProperties', 'cryptodev-backend': 'CryptodevBackendProperties',
'cryptodev-backend-builtin': 'CryptodevBackendProperties', 'cryptodev-backend-builtin': 'CryptodevBackendProperties',
@ -867,20 +874,25 @@
'filter-replay': 'NetfilterProperties', 'filter-replay': 'NetfilterProperties',
'filter-rewriter': 'FilterRewriterProperties', 'filter-rewriter': 'FilterRewriterProperties',
'input-barrier': 'InputBarrierProperties', 'input-barrier': 'InputBarrierProperties',
'input-linux': 'InputLinuxProperties', 'input-linux': { 'type': 'InputLinuxProperties',
'if': 'CONFIG_LINUX' },
'iothread': 'IothreadProperties', 'iothread': 'IothreadProperties',
'memory-backend-epc': { 'type': 'MemoryBackendEpcProperties',
'if': 'CONFIG_LINUX' },
'memory-backend-file': 'MemoryBackendFileProperties', 'memory-backend-file': 'MemoryBackendFileProperties',
'memory-backend-memfd': { 'type': 'MemoryBackendMemfdProperties', 'memory-backend-memfd': { 'type': 'MemoryBackendMemfdProperties',
'if': 'CONFIG_LINUX' }, 'if': 'CONFIG_LINUX' },
'memory-backend-ram': 'MemoryBackendProperties', 'memory-backend-ram': 'MemoryBackendProperties',
'memory-backend-epc': 'MemoryBackendEpcProperties', 'pr-manager-helper': { 'type': 'PrManagerHelperProperties',
'pr-manager-helper': 'PrManagerHelperProperties', 'if': 'CONFIG_LINUX' },
'qtest': 'QtestProperties', 'qtest': 'QtestProperties',
'rng-builtin': 'RngProperties', 'rng-builtin': 'RngProperties',
'rng-egd': 'RngEgdProperties', 'rng-egd': 'RngEgdProperties',
'rng-random': 'RngRandomProperties', 'rng-random': { 'type': 'RngRandomProperties',
'if': 'CONFIG_POSIX' },
'secret': 'SecretProperties', 'secret': 'SecretProperties',
'secret_keyring': 'SecretKeyringProperties', 'secret_keyring': { 'type': 'SecretKeyringProperties',
'if': 'CONFIG_SECRET_KEYRING' },
'sev-guest': 'SevGuestProperties', 'sev-guest': 'SevGuestProperties',
'throttle-group': 'ThrottleGroupProperties', 'throttle-group': 'ThrottleGroupProperties',
'tls-creds-anon': 'TlsCredsAnonProperties', 'tls-creds-anon': 'TlsCredsAnonProperties',