[PATCH v4 00/13] user-mode: Prune build dependencies (part 1)

Philippe Mathieu-Daudé posted 13 patches 3 years, 10 months ago
Test docker-mingw@fedora passed
Test checkpatch passed
Test asan passed
Test docker-quick@centos7 passed
Test FreeBSD passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200522172510.25784-1-philmd@redhat.com
Maintainers: Cornelia Huck <cohuck@redhat.com>
configure              |  4 +++
Makefile               |  2 +-
include/hw/core/cpu.h  |  7 ++++-
arch_init.c            |  1 -
exec.c                 |  4 ++-
hw/core/cpu.c          |  2 ++
target/i386/cpu.c      |  6 ++++-
target/riscv/cpu.c     |  6 +++--
target/s390x/cpu.c     | 12 ++++-----
stubs/Makefile.objs    | 54 ++++++++++++++++++++++----------------
tests/Makefile.include | 18 +++++++------
util/Makefile.objs     | 59 +++++++++++++++++++++++++++---------------
12 files changed, 109 insertions(+), 66 deletions(-)
[PATCH v4 00/13] user-mode: Prune build dependencies (part 1)
Posted by Philippe Mathieu-Daudé 3 years, 10 months ago
This is the first part of a series reducing user-mode
dependencies. By stripping out unused code, the build
and testing time is reduced (as is space used by objects).

Part 1 (generic):
- reduce user-mode object list
- remove some migration code from user-mode
- remove cpu_get_crash_info()

Patches 1-12 are fully reviewed.

Since v3:
- Rebased due to (trivial) conflicts after:
  . commit 2df9f5718df7722924699a3754f99165e2f4ae35
    ui/win32-kbd-hook: handle AltGr in a hook procedure
  . commit b69c3c21a5d11075d42100d5cfe0a736593fae6b
    qdev: Unrealize must not fail
  . commit d2623129a7dec1d3041ad1221dda1ca49c667532
    qom: Drop parameter @errp of object_property_add() & friends
- Added patch #13 'Restrict ui/win32-kbd-hook to system-mode'

Since v2:
- Rebased due to conflict when applying patch:
  "util/Makefile: Reduce the user-mode object list"
  because commit 01ef6b9e4e modified util/Makefile.objs:
  "linux-user: factor out reading of /proc/self/maps"

Since v1:
- Addressed Laurent/Richard review comments
- Removed 'exec: Drop redundant #ifdeffery'
- Removed 'target: Restrict write_elfXX_note() handlers to system-mode'

$ git backport-diff -u v2 -r v3
Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/13:[----] [--] 'Makefile: Only build virtiofsd if system-mode is enabled'
002/13:[----] [--] 'configure: Avoid building TCG when not needed'
003/13:[----] [--] 'tests/Makefile: Only display TCG-related tests when TCG is available'
004/13:[----] [--] 'tests/Makefile: Restrict some softmmu-only tests'
005/13:[----] [--] 'util/Makefile: Reduce the user-mode object list'
006/13:[----] [-C] 'stubs/Makefile: Reduce the user-mode object list'
007/13:[----] [--] 'target/riscv/cpu: Restrict CPU migration to system-mode'
008/13:[----] [--] 'exec: Assert CPU migration is not used on user-only build'
009/13:[----] [--] 'arch_init: Remove unused 'qapi-commands-misc.h' include'
010/13:[----] [-C] 'target/i386: Restrict CpuClass::get_crash_info() to system-mode'
011/13:[----] [-C] 'target/s390x: Restrict CpuClass::get_crash_info() to system-mode'
012/13:[----] [--] 'hw/core: Restrict CpuClass::get_crash_info() to system-mode'
013/13:[down] 'stubs: Restrict ui/win32-kbd-hook to system-mode'

Philippe Mathieu-Daudé (13):
  Makefile: Only build virtiofsd if system-mode is enabled
  configure: Avoid building TCG when not needed
  tests/Makefile: Only display TCG-related tests when TCG is available
  tests/Makefile: Restrict some softmmu-only tests
  util/Makefile: Reduce the user-mode object list
  stubs/Makefile: Reduce the user-mode object list
  target/riscv/cpu: Restrict CPU migration to system-mode
  exec: Assert CPU migration is not used on user-only build
  arch_init: Remove unused 'qapi-commands-misc.h' include
  target/i386: Restrict CpuClass::get_crash_info() to system-mode
  target/s390x: Restrict CpuClass::get_crash_info() to system-mode
  hw/core: Restrict CpuClass::get_crash_info() to system-mode
  stubs: Restrict ui/win32-kbd-hook to system-mode

 configure              |  4 +++
 Makefile               |  2 +-
 include/hw/core/cpu.h  |  7 ++++-
 arch_init.c            |  1 -
 exec.c                 |  4 ++-
 hw/core/cpu.c          |  2 ++
 target/i386/cpu.c      |  6 ++++-
 target/riscv/cpu.c     |  6 +++--
 target/s390x/cpu.c     | 12 ++++-----
 stubs/Makefile.objs    | 54 ++++++++++++++++++++++----------------
 tests/Makefile.include | 18 +++++++------
 util/Makefile.objs     | 59 +++++++++++++++++++++++++++---------------
 12 files changed, 109 insertions(+), 66 deletions(-)

-- 
2.21.3


Re: [PATCH v4 00/13] user-mode: Prune build dependencies (part 1)
Posted by Philippe Mathieu-Daudé 3 years, 10 months ago
This series is now fully reviewed.

Laurent, as Paolo's misc-tree is already full, can it go via your
linux-user tree (as it improve linux-user at the end)?

Thanks,

Phil.

On 5/22/20 7:24 PM, Philippe Mathieu-Daudé wrote:
> This is the first part of a series reducing user-mode
> dependencies. By stripping out unused code, the build
> and testing time is reduced (as is space used by objects).
> 
> Part 1 (generic):
> - reduce user-mode object list
> - remove some migration code from user-mode
> - remove cpu_get_crash_info()
> 
[...]
> 
> Philippe Mathieu-Daudé (13):
>   Makefile: Only build virtiofsd if system-mode is enabled
>   configure: Avoid building TCG when not needed
>   tests/Makefile: Only display TCG-related tests when TCG is available
>   tests/Makefile: Restrict some softmmu-only tests
>   util/Makefile: Reduce the user-mode object list
>   stubs/Makefile: Reduce the user-mode object list
>   target/riscv/cpu: Restrict CPU migration to system-mode
>   exec: Assert CPU migration is not used on user-only build
>   arch_init: Remove unused 'qapi-commands-misc.h' include
>   target/i386: Restrict CpuClass::get_crash_info() to system-mode
>   target/s390x: Restrict CpuClass::get_crash_info() to system-mode
>   hw/core: Restrict CpuClass::get_crash_info() to system-mode
>   stubs: Restrict ui/win32-kbd-hook to system-mode


Re: [PATCH v4 00/13] user-mode: Prune build dependencies (part 1)
Posted by Laurent Vivier 3 years, 10 months ago
Le 02/06/2020 à 16:46, Philippe Mathieu-Daudé a écrit :
> This series is now fully reviewed.
> 
> Laurent, as Paolo's misc-tree is already full, can it go via your
> linux-user tree (as it improve linux-user at the end)?

OK, I add the series to my queue. I plan to do a linux-user PR soon.

Thanks,
Laurent

> Thanks,
> 
> Phil.
> 
> On 5/22/20 7:24 PM, Philippe Mathieu-Daudé wrote:
>> This is the first part of a series reducing user-mode
>> dependencies. By stripping out unused code, the build
>> and testing time is reduced (as is space used by objects).
>>
>> Part 1 (generic):
>> - reduce user-mode object list
>> - remove some migration code from user-mode
>> - remove cpu_get_crash_info()
>>
> [...]
>>
>> Philippe Mathieu-Daudé (13):
>>   Makefile: Only build virtiofsd if system-mode is enabled
>>   configure: Avoid building TCG when not needed
>>   tests/Makefile: Only display TCG-related tests when TCG is available
>>   tests/Makefile: Restrict some softmmu-only tests
>>   util/Makefile: Reduce the user-mode object list
>>   stubs/Makefile: Reduce the user-mode object list
>>   target/riscv/cpu: Restrict CPU migration to system-mode
>>   exec: Assert CPU migration is not used on user-only build
>>   arch_init: Remove unused 'qapi-commands-misc.h' include
>>   target/i386: Restrict CpuClass::get_crash_info() to system-mode
>>   target/s390x: Restrict CpuClass::get_crash_info() to system-mode
>>   hw/core: Restrict CpuClass::get_crash_info() to system-mode
>>   stubs: Restrict ui/win32-kbd-hook to system-mode
>