qemu-block
[Top][All Lists]
Advanced

[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',
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]