* Re: [PATCH v4 1/1] qapi: Restrict code generated for user-mode
2020-10-02 7:36 ` [PATCH v4 1/1] qapi: Restrict code generated for user-mode Philippe Mathieu-Daudé
@ 2020-10-02 8:50 ` Paolo Bonzini
2020-10-02 9:16 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 4+ messages in thread
From: Paolo Bonzini @ 2020-10-02 8:50 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Michael Roth, Markus Armbruster, Eduardo Habkost,
Richard Henderson
On 02/10/20 09:36, Philippe Mathieu-Daudé wrote:
> A lot of QAPI generated code is never used by user-mode.
>
> Split out qapi_system_modules and qapi_system_or_tools_modules
> from the qapi_all_modules array. We now have 4 groups:
> - always used
> - only used by system-mode
> - not used by user-mode
> - not used by tools
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> qapi/meson.build | 51 ++++++++++++++++++++++++++++++++++--------------
> 1 file changed, 36 insertions(+), 15 deletions(-)
>
> diff --git a/qapi/meson.build b/qapi/meson.build
> index 7c4a89a882..10cf01ef65 100644
> --- a/qapi/meson.build
> +++ b/qapi/meson.build
> @@ -14,39 +14,60 @@ util_ss.add(files(
> ))
>
> qapi_all_modules = [
> + 'common',
> + 'introspect',
> + 'misc',
> +]
> +
> +qapi_system_modules = [
> 'acpi',
> 'audio',
> + 'dump',
> + 'machine-target',
> + 'migration',
> + 'misc-target',
> + 'net',
> + 'pci',
> + 'rdma',
> + 'rocker',
> + 'tpm',
> + 'trace',
> +]
> +
> +qapi_system_or_user_modules = [
> + 'machine', # X86CPUFeatureWordInfo
> + 'qdev',
> +]
> +
> +qapi_system_or_tools_modules = [
> 'authz',
> 'block-core',
> 'block',
> 'char',
> - 'common',
> 'control',
> 'crypto',
> - 'dump',
> 'error',
> - 'introspect',
> 'job',
> - 'machine',
> - 'machine-target',
> - 'migration',
> - 'misc',
> - 'misc-target',
> - 'net',
> 'pragma',
> - 'qdev',
> - 'pci',
> 'qom',
> - 'rdma',
> - 'rocker',
> 'run-state',
> 'sockets',
> - 'tpm',
> - 'trace',
> 'transaction',
> 'ui',
> ]
>
> +if have_system
> + qapi_all_modules += qapi_system_modules
> +endif
> +
> +if have_system or have_user
> + qapi_all_modules += qapi_system_or_user_modules
> +endif
> +
> +if have_system or have_tools
> + qapi_all_modules += qapi_system_or_tools_modules
> +endif
> +
> qapi_storage_daemon_modules = [
> 'block-core',
> 'char',
>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v4 1/1] qapi: Restrict code generated for user-mode
2020-10-02 7:36 ` [PATCH v4 1/1] qapi: Restrict code generated for user-mode Philippe Mathieu-Daudé
2020-10-02 8:50 ` Paolo Bonzini
@ 2020-10-02 9:16 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 4+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-02 9:16 UTC (permalink / raw)
To: qemu-devel
Cc: Michael Roth, Paolo Bonzini, Markus Armbruster, Eduardo Habkost,
Richard Henderson
On 10/2/20 9:36 AM, Philippe Mathieu-Daudé wrote:
> A lot of QAPI generated code is never used by user-mode.
>
> Split out qapi_system_modules and qapi_system_or_tools_modules
> from the qapi_all_modules array. We now have 4 groups:
> - always used
> - only used by system-mode
> - not used by user-mode
> - not used by tools
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> qapi/meson.build | 51 ++++++++++++++++++++++++++++++++++--------------
> 1 file changed, 36 insertions(+), 15 deletions(-)
>
> diff --git a/qapi/meson.build b/qapi/meson.build
> index 7c4a89a882..10cf01ef65 100644
> --- a/qapi/meson.build
> +++ b/qapi/meson.build
> @@ -14,39 +14,60 @@ util_ss.add(files(
> ))
>
> qapi_all_modules = [
> + 'common',
> + 'introspect',
> + 'misc',
> +]
> +
> +qapi_system_modules = [
> 'acpi',
> 'audio',
> + 'dump',
> + 'machine-target',
> + 'migration',
> + 'misc-target',
> + 'net',
> + 'pci',
> + 'rdma',
> + 'rocker',
> + 'tpm',
> + 'trace',
> +]
> +
> +qapi_system_or_user_modules = [
> + 'machine', # X86CPUFeatureWordInfo
> + 'qdev',
I forgot the justification for this one:
'qdev', # DEVICE_DELETED
> +]
> +
> +qapi_system_or_tools_modules = [
> 'authz',
> 'block-core',
> 'block',
> 'char',
> - 'common',
> 'control',
> 'crypto',
> - 'dump',
> 'error',
> - 'introspect',
> 'job',
> - 'machine',
> - 'machine-target',
> - 'migration',
> - 'misc',
> - 'misc-target',
> - 'net',
> 'pragma',
> - 'qdev',
> - 'pci',
> 'qom',
> - 'rdma',
> - 'rocker',
> 'run-state',
> 'sockets',
> - 'tpm',
> - 'trace',
> 'transaction',
> 'ui',
> ]
>
> +if have_system
> + qapi_all_modules += qapi_system_modules
> +endif
> +
> +if have_system or have_user
> + qapi_all_modules += qapi_system_or_user_modules
> +endif
> +
> +if have_system or have_tools
> + qapi_all_modules += qapi_system_or_tools_modules
> +endif
> +
> qapi_storage_daemon_modules = [
> 'block-core',
> 'char',
>
^ permalink raw reply [flat|nested] 4+ messages in thread