[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 11/11] qapi: Restrict code generated for user-mode
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v3 11/11] qapi: Restrict code generated for user-mode |
Date: |
Thu, 1 Oct 2020 12:23:55 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 |
On 10/1/20 7:09 AM, Markus Armbruster wrote:
> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
>
>> 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 3 groups:
>> - always used
>> - use by system-mode or tools (usually by the block layer)
>> - only used by system-mode
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>> Resetting due to Meson update:
>> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>> ---
>> qapi/meson.build | 51 ++++++++++++++++++++++++++++++++++--------------
>> 1 file changed, 36 insertions(+), 15 deletions(-)
>>
>> diff --git a/qapi/meson.build b/qapi/meson.build
>> index 7c4a89a882..ba9677ba97 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',
>> + 'machine',
>> + 'migration',
>> + 'misc-target',
>> + 'net',
>> + 'pci',
>> + 'qdev',
>> + 'rdma',
>> + 'rocker',
>> + 'tpm',
>> + 'trace',
>> +]
>> +
>> +# system or tools
>> +qapi_block_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',
>> ]
>
> Most of these aren't "block modules". Name the thing
> qapi_system_or_tools_modules?
This is why I used first, then realized this is defined
as:
have_block = have_system or have_tools
>
>> +if have_system
>> + qapi_all_modules += qapi_system_modules
>> +elif have_user
>> + # Temporary kludge because X86CPUFeatureWordInfo is not
>> + # restricted to system-mode. This should be removed (along
>> + # with target/i386/feature-stub.c) once target/i386/cpu.c
>> + # has been cleaned.
>> + qapi_all_modules += ['machine-target']
>> +endif
>> +
>> +if have_block
>
> Aha, precedence for using "block" as an abbreviation of "system or
> tools". I find that confusing.
I'll use qapi_system_or_tools_modules back, it is clearer, thanks.
>
>> + qapi_all_modules += qapi_block_modules
>> +endif
>> +
>> qapi_storage_daemon_modules = [
>> 'block-core',
>> 'char',
>