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