All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/12] user-mode: Prune build dependencies (part 1)
@ 2020-05-04 15:29 ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck, qemu-s390x,
	Palmer Dabbelt, Paolo Bonzini, Philippe Mathieu-Daudé,
	Richard Henderson

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()

This series is fully reviewed.

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

Philippe Mathieu-Daudé (12):
  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

 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    | 52 +++++++++++++++++++++----------------
 tests/Makefile.include | 18 +++++++------
 util/Makefile.objs     | 59 +++++++++++++++++++++++++++---------------
 12 files changed, 108 insertions(+), 65 deletions(-)

-- 
2.21.3



^ permalink raw reply	[flat|nested] 40+ messages in thread

* [PATCH v3 00/12] user-mode: Prune build dependencies (part 1)
@ 2020-05-04 15:29 ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Philippe Mathieu-Daudé

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()

This series is fully reviewed.

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

Philippe Mathieu-Daudé (12):
  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

 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    | 52 +++++++++++++++++++++----------------
 tests/Makefile.include | 18 +++++++------
 util/Makefile.objs     | 59 +++++++++++++++++++++++++++---------------
 12 files changed, 108 insertions(+), 65 deletions(-)

-- 
2.21.3



^ permalink raw reply	[flat|nested] 40+ messages in thread

* [PATCH v3 01/12] Makefile: Only build virtiofsd if system-mode is enabled
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

Do not build the virtiofsd helper when configured with
--disable-system.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 34275f57c9..e46b6ef5d4 100644
--- a/Makefile
+++ b/Makefile
@@ -345,7 +345,7 @@ HELPERS-y += vhost-user-gpu$(EXESUF)
 vhost-user-json-y += contrib/vhost-user-gpu/50-qemu-gpu.json
 endif
 
-ifeq ($(CONFIG_LINUX)$(CONFIG_SECCOMP)$(CONFIG_LIBCAP_NG),yyy)
+ifeq ($(CONFIG_SOFTMMU)$(CONFIG_LINUX)$(CONFIG_SECCOMP)$(CONFIG_LIBCAP_NG),yyyy)
 HELPERS-y += virtiofsd$(EXESUF)
 vhost-user-json-y += tools/virtiofsd/50-qemu-virtiofsd.json
 endif
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 01/12] Makefile: Only build virtiofsd if system-mode is enabled
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Philippe Mathieu-Daudé,
	Richard Henderson

Do not build the virtiofsd helper when configured with
--disable-system.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 34275f57c9..e46b6ef5d4 100644
--- a/Makefile
+++ b/Makefile
@@ -345,7 +345,7 @@ HELPERS-y += vhost-user-gpu$(EXESUF)
 vhost-user-json-y += contrib/vhost-user-gpu/50-qemu-gpu.json
 endif
 
-ifeq ($(CONFIG_LINUX)$(CONFIG_SECCOMP)$(CONFIG_LIBCAP_NG),yyy)
+ifeq ($(CONFIG_SOFTMMU)$(CONFIG_LINUX)$(CONFIG_SECCOMP)$(CONFIG_LIBCAP_NG),yyyy)
 HELPERS-y += virtiofsd$(EXESUF)
 vhost-user-json-y += tools/virtiofsd/50-qemu-virtiofsd.json
 endif
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 02/12] configure: Avoid building TCG when not needed
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

Avoid building TCG when building only tools:

  ./configure --enable-tools --disable-system --disable-user

This saves us from running the soft-float tests enabled since
commit 76170102508.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 configure | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/configure b/configure
index 23b5e93752..e3b4afbb60 100755
--- a/configure
+++ b/configure
@@ -1663,6 +1663,10 @@ if [ "$ARCH" = "unknown" ]; then
   linux_user="no"
 fi
 
+if [ "$bsd_user" = "no" -a "$linux_user" = "no" -a "$softmmu" = "no" ] ; then
+  tcg="no"
+fi
+
 default_target_list=""
 
 mak_wilds=""
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 02/12] configure: Avoid building TCG when not needed
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Philippe Mathieu-Daudé,
	Richard Henderson

Avoid building TCG when building only tools:

  ./configure --enable-tools --disable-system --disable-user

This saves us from running the soft-float tests enabled since
commit 76170102508.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 configure | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/configure b/configure
index 23b5e93752..e3b4afbb60 100755
--- a/configure
+++ b/configure
@@ -1663,6 +1663,10 @@ if [ "$ARCH" = "unknown" ]; then
   linux_user="no"
 fi
 
+if [ "$bsd_user" = "no" -a "$linux_user" = "no" -a "$softmmu" = "no" ] ; then
+  tcg="no"
+fi
+
 default_target_list=""
 
 mak_wilds=""
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 03/12] tests/Makefile: Only display TCG-related tests when TCG is available
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 tests/Makefile.include | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/Makefile.include b/tests/Makefile.include
index 03a74b60f6..6bc3d1096b 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -12,8 +12,10 @@ check-help:
 	@echo " $(MAKE) check-speed          Run qobject speed tests"
 	@echo " $(MAKE) check-qapi-schema    Run QAPI schema tests"
 	@echo " $(MAKE) check-block          Run block tests"
+ifeq ($(CONFIG_TCG),y)
 	@echo " $(MAKE) check-tcg            Run TCG tests"
 	@echo " $(MAKE) check-softfloat      Run FPU emulation tests"
+endif
 	@echo " $(MAKE) check-acceptance     Run all acceptance (functional) tests"
 	@echo
 	@echo " $(MAKE) check-report.tap     Generates an aggregated TAP test report"
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 03/12] tests/Makefile: Only display TCG-related tests when TCG is available
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Philippe Mathieu-Daudé,
	Alistair Francis, Richard Henderson

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 tests/Makefile.include | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/Makefile.include b/tests/Makefile.include
index 03a74b60f6..6bc3d1096b 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -12,8 +12,10 @@ check-help:
 	@echo " $(MAKE) check-speed          Run qobject speed tests"
 	@echo " $(MAKE) check-qapi-schema    Run QAPI schema tests"
 	@echo " $(MAKE) check-block          Run block tests"
+ifeq ($(CONFIG_TCG),y)
 	@echo " $(MAKE) check-tcg            Run TCG tests"
 	@echo " $(MAKE) check-softfloat      Run FPU emulation tests"
+endif
 	@echo " $(MAKE) check-acceptance     Run all acceptance (functional) tests"
 	@echo
 	@echo " $(MAKE) check-report.tap     Generates an aggregated TAP test report"
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 04/12] tests/Makefile: Restrict some softmmu-only tests
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

In the next commit we are going to remove some objects from the
util-obj-y variable (objects which are not used by user-mode,
when configured with --disable-system).
Then some system-mode tests are going to fail, due to the missing
objects:

  $ make check-unit -k
    LINK    tests/test-iov
  /usr/bin/ld: tests/test-iov.o: in function `iov_from_buf':
  include/qemu/iov.h:49: undefined reference to `iov_from_buf_full'
  make: *** [rules.mak:124: tests/test-iov] Error 1
    LINK    tests/test-timed-average
  /usr/bin/ld: tests/test-timed-average.o: in function `account':
  tests/test-timed-average.c:27: undefined reference to `timed_average_account'
  make: *** [rules.mak:124: tests/test-timed-average] Error 1
    LINK    tests/test-util-filemonitor
  /usr/bin/ld: tests/test-util-filemonitor.o: in function `qemu_file_monitor_test_event_loop':
  tests/test-util-filemonitor.c:83: undefined reference to `main_loop_wait'
  make: *** [rules.mak:124: tests/test-util-filemonitor] Error 1
    LINK    tests/test-util-sockets
  /usr/bin/ld: tests/test-util-sockets.o: in function `test_socket_fd_pass_name_good':
  tests/test-util-sockets.c:91: undefined reference to `socket_connect'
  make: *** [rules.mak:124: tests/test-util-sockets] Error 1
    LINK    tests/test-base64
  /usr/bin/ld: tests/test-base64.o: in function `test_base64_good':
  tests/test-base64.c:35: undefined reference to `qbase64_decode'
  collect2: error: ld returned 1 exit status
  make: *** [rules.mak:124: tests/test-base64] Error 1
    LINK    tests/test-bufferiszero
  /usr/bin/ld: tests/test-bufferiszero.o: in function `test_1':
  tests/test-bufferiszero.c:31: undefined reference to `buffer_is_zero'
  make: *** [rules.mak:124: tests/test-bufferiszero] Error 1
  make: Target 'check-unit' not remade because of errors.

Instead, restrict these tests to system-mode, by using the
$(CONFIG_SOFTMMU) variable.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v2: Reworded description with example (rth)
---
 tests/Makefile.include | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/tests/Makefile.include b/tests/Makefile.include
index 6bc3d1096b..0cb58aad26 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -66,14 +66,14 @@ check-unit-y += tests/check-qlit$(EXESUF)
 check-unit-y += tests/test-qobject-output-visitor$(EXESUF)
 check-unit-y += tests/test-clone-visitor$(EXESUF)
 check-unit-y += tests/test-qobject-input-visitor$(EXESUF)
-check-unit-y += tests/test-qmp-cmds$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-qmp-cmds$(EXESUF)
 check-unit-y += tests/test-string-input-visitor$(EXESUF)
 check-unit-y += tests/test-string-output-visitor$(EXESUF)
 check-unit-y += tests/test-qmp-event$(EXESUF)
 check-unit-y += tests/test-opts-visitor$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-coroutine$(EXESUF)
 check-unit-y += tests/test-visitor-serialization$(EXESUF)
-check-unit-y += tests/test-iov$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-iov$(EXESUF)
 check-unit-y += tests/test-bitmap$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-aio$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-aio-multithread$(EXESUF)
@@ -108,7 +108,7 @@ check-unit-y += tests/test-qht$(EXESUF)
 check-unit-y += tests/test-qht-par$(EXESUF)
 check-unit-y += tests/test-bitops$(EXESUF)
 check-unit-y += tests/test-bitcnt$(EXESUF)
-check-unit-y += tests/test-qdev-global-props$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-qdev-global-props$(EXESUF)
 check-unit-y += tests/check-qom-interface$(EXESUF)
 check-unit-y += tests/check-qom-proplist$(EXESUF)
 check-unit-y += tests/test-qemu-opts$(EXESUF)
@@ -126,9 +126,9 @@ check-unit-$(call land,$(CONFIG_BLOCK),$(CONFIG_GNUTLS)) += tests/test-crypto-tl
 ifneq (,$(findstring qemu-ga,$(TOOLS)))
 check-unit-$(call land,$(CONFIG_LINUX),$(CONFIG_VIRTIO_SERIAL)) += tests/test-qga$(EXESUF)
 endif
-check-unit-y += tests/test-timed-average$(EXESUF)
-check-unit-$(CONFIG_INOTIFY1) += tests/test-util-filemonitor$(EXESUF)
-check-unit-y += tests/test-util-sockets$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-timed-average$(EXESUF)
+check-unit-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_INOTIFY1)) += tests/test-util-filemonitor$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-util-sockets$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-authz-simple$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-authz-list$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-authz-listfile$(EXESUF)
@@ -139,7 +139,7 @@ check-unit-$(CONFIG_BLOCK) += tests/test-io-channel-file$(EXESUF)
 check-unit-$(call land,$(CONFIG_BLOCK),$(CONFIG_GNUTLS)) += tests/test-io-channel-tls$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-io-channel-command$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-io-channel-buffer$(EXESUF)
-check-unit-y += tests/test-base64$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-base64$(EXESUF)
 check-unit-$(call land,$(CONFIG_BLOCK),$(if $(CONFIG_NETTLE),y,$(CONFIG_GCRYPT))) += tests/test-crypto-pbkdf$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-crypto-ivgen$(EXESUF)
 check-unit-$(CONFIG_BLOCK)  += tests/test-crypto-afsplit$(EXESUF)
@@ -147,7 +147,7 @@ check-unit-$(call land,$(CONFIG_BLOCK),$(CONFIG_QEMU_PRIVATE_XTS)) += tests/test
 check-unit-$(CONFIG_BLOCK)  += tests/test-crypto-block$(EXESUF)
 check-unit-y += tests/test-logging$(EXESUF)
 check-unit-$(call land,$(CONFIG_BLOCK),$(CONFIG_REPLICATION)) += tests/test-replication$(EXESUF)
-check-unit-y += tests/test-bufferiszero$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-bufferiszero$(EXESUF)
 check-unit-y += tests/test-uuid$(EXESUF)
 check-unit-y += tests/ptimer-test$(EXESUF)
 check-unit-y += tests/test-qapi-util$(EXESUF)
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 04/12] tests/Makefile: Restrict some softmmu-only tests
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Philippe Mathieu-Daudé,
	Richard Henderson

In the next commit we are going to remove some objects from the
util-obj-y variable (objects which are not used by user-mode,
when configured with --disable-system).
Then some system-mode tests are going to fail, due to the missing
objects:

  $ make check-unit -k
    LINK    tests/test-iov
  /usr/bin/ld: tests/test-iov.o: in function `iov_from_buf':
  include/qemu/iov.h:49: undefined reference to `iov_from_buf_full'
  make: *** [rules.mak:124: tests/test-iov] Error 1
    LINK    tests/test-timed-average
  /usr/bin/ld: tests/test-timed-average.o: in function `account':
  tests/test-timed-average.c:27: undefined reference to `timed_average_account'
  make: *** [rules.mak:124: tests/test-timed-average] Error 1
    LINK    tests/test-util-filemonitor
  /usr/bin/ld: tests/test-util-filemonitor.o: in function `qemu_file_monitor_test_event_loop':
  tests/test-util-filemonitor.c:83: undefined reference to `main_loop_wait'
  make: *** [rules.mak:124: tests/test-util-filemonitor] Error 1
    LINK    tests/test-util-sockets
  /usr/bin/ld: tests/test-util-sockets.o: in function `test_socket_fd_pass_name_good':
  tests/test-util-sockets.c:91: undefined reference to `socket_connect'
  make: *** [rules.mak:124: tests/test-util-sockets] Error 1
    LINK    tests/test-base64
  /usr/bin/ld: tests/test-base64.o: in function `test_base64_good':
  tests/test-base64.c:35: undefined reference to `qbase64_decode'
  collect2: error: ld returned 1 exit status
  make: *** [rules.mak:124: tests/test-base64] Error 1
    LINK    tests/test-bufferiszero
  /usr/bin/ld: tests/test-bufferiszero.o: in function `test_1':
  tests/test-bufferiszero.c:31: undefined reference to `buffer_is_zero'
  make: *** [rules.mak:124: tests/test-bufferiszero] Error 1
  make: Target 'check-unit' not remade because of errors.

Instead, restrict these tests to system-mode, by using the
$(CONFIG_SOFTMMU) variable.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v2: Reworded description with example (rth)
---
 tests/Makefile.include | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/tests/Makefile.include b/tests/Makefile.include
index 6bc3d1096b..0cb58aad26 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -66,14 +66,14 @@ check-unit-y += tests/check-qlit$(EXESUF)
 check-unit-y += tests/test-qobject-output-visitor$(EXESUF)
 check-unit-y += tests/test-clone-visitor$(EXESUF)
 check-unit-y += tests/test-qobject-input-visitor$(EXESUF)
-check-unit-y += tests/test-qmp-cmds$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-qmp-cmds$(EXESUF)
 check-unit-y += tests/test-string-input-visitor$(EXESUF)
 check-unit-y += tests/test-string-output-visitor$(EXESUF)
 check-unit-y += tests/test-qmp-event$(EXESUF)
 check-unit-y += tests/test-opts-visitor$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-coroutine$(EXESUF)
 check-unit-y += tests/test-visitor-serialization$(EXESUF)
-check-unit-y += tests/test-iov$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-iov$(EXESUF)
 check-unit-y += tests/test-bitmap$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-aio$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-aio-multithread$(EXESUF)
@@ -108,7 +108,7 @@ check-unit-y += tests/test-qht$(EXESUF)
 check-unit-y += tests/test-qht-par$(EXESUF)
 check-unit-y += tests/test-bitops$(EXESUF)
 check-unit-y += tests/test-bitcnt$(EXESUF)
-check-unit-y += tests/test-qdev-global-props$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-qdev-global-props$(EXESUF)
 check-unit-y += tests/check-qom-interface$(EXESUF)
 check-unit-y += tests/check-qom-proplist$(EXESUF)
 check-unit-y += tests/test-qemu-opts$(EXESUF)
@@ -126,9 +126,9 @@ check-unit-$(call land,$(CONFIG_BLOCK),$(CONFIG_GNUTLS)) += tests/test-crypto-tl
 ifneq (,$(findstring qemu-ga,$(TOOLS)))
 check-unit-$(call land,$(CONFIG_LINUX),$(CONFIG_VIRTIO_SERIAL)) += tests/test-qga$(EXESUF)
 endif
-check-unit-y += tests/test-timed-average$(EXESUF)
-check-unit-$(CONFIG_INOTIFY1) += tests/test-util-filemonitor$(EXESUF)
-check-unit-y += tests/test-util-sockets$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-timed-average$(EXESUF)
+check-unit-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_INOTIFY1)) += tests/test-util-filemonitor$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-util-sockets$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-authz-simple$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-authz-list$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-authz-listfile$(EXESUF)
@@ -139,7 +139,7 @@ check-unit-$(CONFIG_BLOCK) += tests/test-io-channel-file$(EXESUF)
 check-unit-$(call land,$(CONFIG_BLOCK),$(CONFIG_GNUTLS)) += tests/test-io-channel-tls$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-io-channel-command$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-io-channel-buffer$(EXESUF)
-check-unit-y += tests/test-base64$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-base64$(EXESUF)
 check-unit-$(call land,$(CONFIG_BLOCK),$(if $(CONFIG_NETTLE),y,$(CONFIG_GCRYPT))) += tests/test-crypto-pbkdf$(EXESUF)
 check-unit-$(CONFIG_BLOCK) += tests/test-crypto-ivgen$(EXESUF)
 check-unit-$(CONFIG_BLOCK)  += tests/test-crypto-afsplit$(EXESUF)
@@ -147,7 +147,7 @@ check-unit-$(call land,$(CONFIG_BLOCK),$(CONFIG_QEMU_PRIVATE_XTS)) += tests/test
 check-unit-$(CONFIG_BLOCK)  += tests/test-crypto-block$(EXESUF)
 check-unit-y += tests/test-logging$(EXESUF)
 check-unit-$(call land,$(CONFIG_BLOCK),$(CONFIG_REPLICATION)) += tests/test-replication$(EXESUF)
-check-unit-y += tests/test-bufferiszero$(EXESUF)
+check-unit-$(CONFIG_SOFTMMU) += tests/test-bufferiszero$(EXESUF)
 check-unit-y += tests/test-uuid$(EXESUF)
 check-unit-y += tests/ptimer-test$(EXESUF)
 check-unit-y += tests/test-qapi-util$(EXESUF)
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 05/12] util/Makefile: Reduce the user-mode object list
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

These objects are not required when configured with --disable-system.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 util/Makefile.objs | 59 +++++++++++++++++++++++++++++-----------------
 1 file changed, 38 insertions(+), 21 deletions(-)

diff --git a/util/Makefile.objs b/util/Makefile.objs
index fe339c2636..cc5e37177a 100644
--- a/util/Makefile.objs
+++ b/util/Makefile.objs
@@ -1,8 +1,4 @@
 util-obj-y = osdep.o cutils.o unicode.o qemu-timer-common.o
-util-obj-y += bufferiszero.o
-util-obj-y += lockcnt.o
-util-obj-y += aiocb.o async.o aio-wait.o thread-pool.o qemu-timer.o
-util-obj-y += main-loop.o
 util-obj-$(call lnot,$(CONFIG_ATOMIC64)) += atomic64.o
 util-obj-$(CONFIG_POSIX) += aio-posix.o
 util-obj-$(CONFIG_POSIX) += fdmon-poll.o
@@ -21,31 +17,20 @@ util-obj-$(CONFIG_WIN32) += oslib-win32.o
 util-obj-$(CONFIG_WIN32) += qemu-thread-win32.o
 util-obj-y += envlist.o path.o module.o
 util-obj-y += host-utils.o
-util-obj-y += bitmap.o bitops.o hbitmap.o
+util-obj-y += bitmap.o bitops.o
 util-obj-y += fifo8.o
-util-obj-y += nvdimm-utils.o
 util-obj-y += cacheinfo.o
 util-obj-y += error.o qemu-error.o
 util-obj-y += qemu-print.o
 util-obj-y += id.o
-util-obj-y += iov.o qemu-config.o qemu-sockets.o uri.o notify.o
+util-obj-y += qemu-config.o notify.o
 util-obj-y += qemu-option.o qemu-progress.o
 util-obj-y += keyval.o
-util-obj-y += hexdump.o
 util-obj-y += crc32c.o
 util-obj-y += uuid.o
-util-obj-y += throttle.o
 util-obj-y += getauxval.o
-util-obj-y += readline.o
 util-obj-y += rcu.o
 util-obj-$(CONFIG_MEMBARRIER) += sys_membarrier.o
-util-obj-y += qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
-util-obj-y += qemu-coroutine-sleep.o
-util-obj-y += qemu-co-shared-resource.o
-util-obj-y += coroutine-$(CONFIG_COROUTINE_BACKEND).o
-util-obj-y += buffer.o
-util-obj-y += timed-average.o
-util-obj-y += base64.o
 util-obj-y += log.o
 util-obj-y += pagesize.o
 util-obj-y += qdist.o
@@ -54,13 +39,45 @@ util-obj-y += qsp.o
 util-obj-y += range.o
 util-obj-y += stats64.o
 util-obj-y += systemd.o
-util-obj-y += iova-tree.o
-util-obj-$(CONFIG_INOTIFY1) += filemonitor-inotify.o
-util-obj-$(call lnot,$(CONFIG_INOTIFY1)) += filemonitor-stub.o
-util-obj-$(CONFIG_LINUX) += vfio-helpers.o
 util-obj-$(CONFIG_POSIX) += drm.o
 util-obj-y += guest-random.o
 util-obj-$(CONFIG_GIO) += dbus.o
 dbus.o-cflags = $(GIO_CFLAGS)
 dbus.o-libs = $(GIO_LIBS)
 util-obj-$(CONFIG_USER_ONLY) += selfmap.o
+
+#######################################################################
+# code used by both qemu system emulation and qemu-img
+
+ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y)
+
+util-obj-y += aio-wait.o
+util-obj-y += aiocb.o
+util-obj-y += async.o
+util-obj-y += base64.o
+util-obj-y += buffer.o
+util-obj-y += bufferiszero.o
+util-obj-y += coroutine-$(CONFIG_COROUTINE_BACKEND).o
+util-obj-y += hexdump.o
+util-obj-y += lockcnt.o
+util-obj-y += iov.o
+util-obj-y += iova-tree.o
+util-obj-y += hbitmap.o
+util-obj-y += main-loop.o
+util-obj-y += nvdimm-utils.o
+util-obj-y += qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
+util-obj-y += qemu-coroutine-sleep.o
+util-obj-y += qemu-co-shared-resource.o
+util-obj-y += qemu-sockets.o
+util-obj-y += qemu-timer.o
+util-obj-y += thread-pool.o
+util-obj-y += throttle.o
+util-obj-y += timed-average.o
+util-obj-y += uri.o
+
+util-obj-$(CONFIG_LINUX) += vfio-helpers.o
+util-obj-$(CONFIG_INOTIFY1) += filemonitor-inotify.o
+util-obj-$(call lnot,$(CONFIG_INOTIFY1)) += filemonitor-stub.o
+util-obj-$(CONFIG_BLOCK) += readline.o
+
+endif # CONFIG_SOFTMMU || CONFIG_TOOLS
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 05/12] util/Makefile: Reduce the user-mode object list
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Philippe Mathieu-Daudé,
	Richard Henderson

These objects are not required when configured with --disable-system.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 util/Makefile.objs | 59 +++++++++++++++++++++++++++++-----------------
 1 file changed, 38 insertions(+), 21 deletions(-)

diff --git a/util/Makefile.objs b/util/Makefile.objs
index fe339c2636..cc5e37177a 100644
--- a/util/Makefile.objs
+++ b/util/Makefile.objs
@@ -1,8 +1,4 @@
 util-obj-y = osdep.o cutils.o unicode.o qemu-timer-common.o
-util-obj-y += bufferiszero.o
-util-obj-y += lockcnt.o
-util-obj-y += aiocb.o async.o aio-wait.o thread-pool.o qemu-timer.o
-util-obj-y += main-loop.o
 util-obj-$(call lnot,$(CONFIG_ATOMIC64)) += atomic64.o
 util-obj-$(CONFIG_POSIX) += aio-posix.o
 util-obj-$(CONFIG_POSIX) += fdmon-poll.o
@@ -21,31 +17,20 @@ util-obj-$(CONFIG_WIN32) += oslib-win32.o
 util-obj-$(CONFIG_WIN32) += qemu-thread-win32.o
 util-obj-y += envlist.o path.o module.o
 util-obj-y += host-utils.o
-util-obj-y += bitmap.o bitops.o hbitmap.o
+util-obj-y += bitmap.o bitops.o
 util-obj-y += fifo8.o
-util-obj-y += nvdimm-utils.o
 util-obj-y += cacheinfo.o
 util-obj-y += error.o qemu-error.o
 util-obj-y += qemu-print.o
 util-obj-y += id.o
-util-obj-y += iov.o qemu-config.o qemu-sockets.o uri.o notify.o
+util-obj-y += qemu-config.o notify.o
 util-obj-y += qemu-option.o qemu-progress.o
 util-obj-y += keyval.o
-util-obj-y += hexdump.o
 util-obj-y += crc32c.o
 util-obj-y += uuid.o
-util-obj-y += throttle.o
 util-obj-y += getauxval.o
-util-obj-y += readline.o
 util-obj-y += rcu.o
 util-obj-$(CONFIG_MEMBARRIER) += sys_membarrier.o
-util-obj-y += qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
-util-obj-y += qemu-coroutine-sleep.o
-util-obj-y += qemu-co-shared-resource.o
-util-obj-y += coroutine-$(CONFIG_COROUTINE_BACKEND).o
-util-obj-y += buffer.o
-util-obj-y += timed-average.o
-util-obj-y += base64.o
 util-obj-y += log.o
 util-obj-y += pagesize.o
 util-obj-y += qdist.o
@@ -54,13 +39,45 @@ util-obj-y += qsp.o
 util-obj-y += range.o
 util-obj-y += stats64.o
 util-obj-y += systemd.o
-util-obj-y += iova-tree.o
-util-obj-$(CONFIG_INOTIFY1) += filemonitor-inotify.o
-util-obj-$(call lnot,$(CONFIG_INOTIFY1)) += filemonitor-stub.o
-util-obj-$(CONFIG_LINUX) += vfio-helpers.o
 util-obj-$(CONFIG_POSIX) += drm.o
 util-obj-y += guest-random.o
 util-obj-$(CONFIG_GIO) += dbus.o
 dbus.o-cflags = $(GIO_CFLAGS)
 dbus.o-libs = $(GIO_LIBS)
 util-obj-$(CONFIG_USER_ONLY) += selfmap.o
+
+#######################################################################
+# code used by both qemu system emulation and qemu-img
+
+ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y)
+
+util-obj-y += aio-wait.o
+util-obj-y += aiocb.o
+util-obj-y += async.o
+util-obj-y += base64.o
+util-obj-y += buffer.o
+util-obj-y += bufferiszero.o
+util-obj-y += coroutine-$(CONFIG_COROUTINE_BACKEND).o
+util-obj-y += hexdump.o
+util-obj-y += lockcnt.o
+util-obj-y += iov.o
+util-obj-y += iova-tree.o
+util-obj-y += hbitmap.o
+util-obj-y += main-loop.o
+util-obj-y += nvdimm-utils.o
+util-obj-y += qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
+util-obj-y += qemu-coroutine-sleep.o
+util-obj-y += qemu-co-shared-resource.o
+util-obj-y += qemu-sockets.o
+util-obj-y += qemu-timer.o
+util-obj-y += thread-pool.o
+util-obj-y += throttle.o
+util-obj-y += timed-average.o
+util-obj-y += uri.o
+
+util-obj-$(CONFIG_LINUX) += vfio-helpers.o
+util-obj-$(CONFIG_INOTIFY1) += filemonitor-inotify.o
+util-obj-$(call lnot,$(CONFIG_INOTIFY1)) += filemonitor-stub.o
+util-obj-$(CONFIG_BLOCK) += readline.o
+
+endif # CONFIG_SOFTMMU || CONFIG_TOOLS
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 06/12] stubs/Makefile: Reduce the user-mode object list
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

These stubs are not required when configured with --disable-system.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 stubs/Makefile.objs | 52 ++++++++++++++++++++++++++-------------------
 1 file changed, 30 insertions(+), 22 deletions(-)

diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
index 45be5dc0ed..5ffa085c67 100644
--- a/stubs/Makefile.objs
+++ b/stubs/Makefile.objs
@@ -1,46 +1,54 @@
-stub-obj-y += arch_type.o
-stub-obj-y += bdrv-next-monitor-owned.o
 stub-obj-y += blk-commit-all.o
-stub-obj-y += blockdev-close-all-bdrv-states.o
-stub-obj-y += clock-warp.o
 stub-obj-y += cpu-get-clock.o
 stub-obj-y += cpu-get-icount.o
 stub-obj-y += dump.o
 stub-obj-y += error-printf.o
 stub-obj-y += fdset.o
 stub-obj-y += gdbstub.o
-stub-obj-y += get-vm-name.o
-stub-obj-y += iothread.o
 stub-obj-y += iothread-lock.o
 stub-obj-y += is-daemonized.o
 stub-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
 stub-obj-$(CONFIG_LINUX_IO_URING) += io_uring.o
-stub-obj-y += machine-init-done.o
-stub-obj-y += migr-blocker.o
-stub-obj-y += change-state-handler.o
-stub-obj-y += monitor.o
 stub-obj-y += monitor-core.o
 stub-obj-y += notify-event.o
+stub-obj-y += qmp_memory_device.o
 stub-obj-y += qtest.o
+stub-obj-y += ramfb.o
 stub-obj-y += replay.o
-stub-obj-y += replay-user.o
 stub-obj-y += runstate-check.o
+stub-obj-$(CONFIG_SOFTMMU) += semihost.o
 stub-obj-y += set-fd-handler.o
+stub-obj-y += vmgenid.o
 stub-obj-y += sysbus.o
 stub-obj-y += tpm.o
 stub-obj-y += trace-control.o
-stub-obj-y += uuid.o
-stub-obj-y += vm-stop.o
 stub-obj-y += vmstate.o
+
+#######################################################################
+# code used by both qemu system emulation and qemu-img
+
+ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y)
+
+stub-obj-y += arch_type.o
+stub-obj-y += bdrv-next-monitor-owned.o
+stub-obj-y += blockdev-close-all-bdrv-states.o
+stub-obj-y += change-state-handler.o
+stub-obj-y += clock-warp.o
 stub-obj-y += fd-register.o
-stub-obj-y += qmp_memory_device.o
-stub-obj-y += target-monitor-defs.o
-stub-obj-y += target-get-monitor-def.o
-stub-obj-y += vmgenid.o
-stub-obj-y += xen-common.o
-stub-obj-y += xen-hvm.o
+stub-obj-y += fw_cfg.o
+stub-obj-y += get-vm-name.o
+stub-obj-y += iothread.o
+stub-obj-y += machine-init-done.o
+stub-obj-y += migr-blocker.o
+stub-obj-y += monitor.o
 stub-obj-y += pci-host-piix.o
 stub-obj-y += ram-block.o
-stub-obj-y += ramfb.o
-stub-obj-y += fw_cfg.o
-stub-obj-$(CONFIG_SOFTMMU) += semihost.o
+stub-obj-y += replay-user.o
+stub-obj-y += target-get-monitor-def.o
+stub-obj-y += target-monitor-defs.o
+stub-obj-y += uuid.o
+stub-obj-y += vm-stop.o
+stub-obj-y += xen-common.o
+stub-obj-y += xen-hvm.o
+
+endif # CONFIG_SOFTMMU || CONFIG_TOOLS
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 06/12] stubs/Makefile: Reduce the user-mode object list
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Philippe Mathieu-Daudé,
	Richard Henderson

These stubs are not required when configured with --disable-system.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 stubs/Makefile.objs | 52 ++++++++++++++++++++++++++-------------------
 1 file changed, 30 insertions(+), 22 deletions(-)

diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
index 45be5dc0ed..5ffa085c67 100644
--- a/stubs/Makefile.objs
+++ b/stubs/Makefile.objs
@@ -1,46 +1,54 @@
-stub-obj-y += arch_type.o
-stub-obj-y += bdrv-next-monitor-owned.o
 stub-obj-y += blk-commit-all.o
-stub-obj-y += blockdev-close-all-bdrv-states.o
-stub-obj-y += clock-warp.o
 stub-obj-y += cpu-get-clock.o
 stub-obj-y += cpu-get-icount.o
 stub-obj-y += dump.o
 stub-obj-y += error-printf.o
 stub-obj-y += fdset.o
 stub-obj-y += gdbstub.o
-stub-obj-y += get-vm-name.o
-stub-obj-y += iothread.o
 stub-obj-y += iothread-lock.o
 stub-obj-y += is-daemonized.o
 stub-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
 stub-obj-$(CONFIG_LINUX_IO_URING) += io_uring.o
-stub-obj-y += machine-init-done.o
-stub-obj-y += migr-blocker.o
-stub-obj-y += change-state-handler.o
-stub-obj-y += monitor.o
 stub-obj-y += monitor-core.o
 stub-obj-y += notify-event.o
+stub-obj-y += qmp_memory_device.o
 stub-obj-y += qtest.o
+stub-obj-y += ramfb.o
 stub-obj-y += replay.o
-stub-obj-y += replay-user.o
 stub-obj-y += runstate-check.o
+stub-obj-$(CONFIG_SOFTMMU) += semihost.o
 stub-obj-y += set-fd-handler.o
+stub-obj-y += vmgenid.o
 stub-obj-y += sysbus.o
 stub-obj-y += tpm.o
 stub-obj-y += trace-control.o
-stub-obj-y += uuid.o
-stub-obj-y += vm-stop.o
 stub-obj-y += vmstate.o
+
+#######################################################################
+# code used by both qemu system emulation and qemu-img
+
+ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y)
+
+stub-obj-y += arch_type.o
+stub-obj-y += bdrv-next-monitor-owned.o
+stub-obj-y += blockdev-close-all-bdrv-states.o
+stub-obj-y += change-state-handler.o
+stub-obj-y += clock-warp.o
 stub-obj-y += fd-register.o
-stub-obj-y += qmp_memory_device.o
-stub-obj-y += target-monitor-defs.o
-stub-obj-y += target-get-monitor-def.o
-stub-obj-y += vmgenid.o
-stub-obj-y += xen-common.o
-stub-obj-y += xen-hvm.o
+stub-obj-y += fw_cfg.o
+stub-obj-y += get-vm-name.o
+stub-obj-y += iothread.o
+stub-obj-y += machine-init-done.o
+stub-obj-y += migr-blocker.o
+stub-obj-y += monitor.o
 stub-obj-y += pci-host-piix.o
 stub-obj-y += ram-block.o
-stub-obj-y += ramfb.o
-stub-obj-y += fw_cfg.o
-stub-obj-$(CONFIG_SOFTMMU) += semihost.o
+stub-obj-y += replay-user.o
+stub-obj-y += target-get-monitor-def.o
+stub-obj-y += target-monitor-defs.o
+stub-obj-y += uuid.o
+stub-obj-y += vm-stop.o
+stub-obj-y += xen-common.o
+stub-obj-y += xen-hvm.o
+
+endif # CONFIG_SOFTMMU || CONFIG_TOOLS
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 07/12] target/riscv/cpu: Restrict CPU migration to system-mode
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 target/riscv/cpu.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index 059d71f2c7..6c78337858 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -485,10 +485,12 @@ static void riscv_cpu_init(Object *obj)
     cpu_set_cpustate_pointers(cpu);
 }
 
+#ifndef CONFIG_USER_ONLY
 static const VMStateDescription vmstate_riscv_cpu = {
     .name = "cpu",
     .unmigratable = 1,
 };
+#endif
 
 static Property riscv_cpu_properties[] = {
     DEFINE_PROP_BOOL("i", RISCVCPU, cfg.ext_i, true),
@@ -544,13 +546,13 @@ static void riscv_cpu_class_init(ObjectClass *c, void *data)
     cc->do_transaction_failed = riscv_cpu_do_transaction_failed;
     cc->do_unaligned_access = riscv_cpu_do_unaligned_access;
     cc->get_phys_page_debug = riscv_cpu_get_phys_page_debug;
+    /* For now, mark unmigratable: */
+    cc->vmsd = &vmstate_riscv_cpu;
 #endif
 #ifdef CONFIG_TCG
     cc->tcg_initialize = riscv_translate_init;
     cc->tlb_fill = riscv_cpu_tlb_fill;
 #endif
-    /* For now, mark unmigratable: */
-    cc->vmsd = &vmstate_riscv_cpu;
     device_class_set_props(dc, riscv_cpu_properties);
 }
 
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 07/12] target/riscv/cpu: Restrict CPU migration to system-mode
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Philippe Mathieu-Daudé,
	Alistair Francis, Richard Henderson

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 target/riscv/cpu.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index 059d71f2c7..6c78337858 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -485,10 +485,12 @@ static void riscv_cpu_init(Object *obj)
     cpu_set_cpustate_pointers(cpu);
 }
 
+#ifndef CONFIG_USER_ONLY
 static const VMStateDescription vmstate_riscv_cpu = {
     .name = "cpu",
     .unmigratable = 1,
 };
+#endif
 
 static Property riscv_cpu_properties[] = {
     DEFINE_PROP_BOOL("i", RISCVCPU, cfg.ext_i, true),
@@ -544,13 +546,13 @@ static void riscv_cpu_class_init(ObjectClass *c, void *data)
     cc->do_transaction_failed = riscv_cpu_do_transaction_failed;
     cc->do_unaligned_access = riscv_cpu_do_unaligned_access;
     cc->get_phys_page_debug = riscv_cpu_get_phys_page_debug;
+    /* For now, mark unmigratable: */
+    cc->vmsd = &vmstate_riscv_cpu;
 #endif
 #ifdef CONFIG_TCG
     cc->tcg_initialize = riscv_translate_init;
     cc->tlb_fill = riscv_cpu_tlb_fill;
 #endif
-    /* For now, mark unmigratable: */
-    cc->vmsd = &vmstate_riscv_cpu;
     device_class_set_props(dc, riscv_cpu_properties);
 }
 
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 08/12] exec: Assert CPU migration is not used on user-only build
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 exec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 2874bb5088..3a39ffb1eb 100644
--- a/exec.c
+++ b/exec.c
@@ -946,7 +946,9 @@ void cpu_exec_realizefn(CPUState *cpu, Error **errp)
 
     qemu_plugin_vcpu_init_hook(cpu);
 
-#ifndef CONFIG_USER_ONLY
+#ifdef CONFIG_USER_ONLY
+    assert(cc->vmsd == NULL);
+#else /* !CONFIG_USER_ONLY */
     if (qdev_get_vmsd(DEVICE(cpu)) == NULL) {
         vmstate_register(NULL, cpu->cpu_index, &vmstate_cpu_common, cpu);
     }
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 08/12] exec: Assert CPU migration is not used on user-only build
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Philippe Mathieu-Daudé,
	Richard Henderson

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 exec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 2874bb5088..3a39ffb1eb 100644
--- a/exec.c
+++ b/exec.c
@@ -946,7 +946,9 @@ void cpu_exec_realizefn(CPUState *cpu, Error **errp)
 
     qemu_plugin_vcpu_init_hook(cpu);
 
-#ifndef CONFIG_USER_ONLY
+#ifdef CONFIG_USER_ONLY
+    assert(cc->vmsd == NULL);
+#else /* !CONFIG_USER_ONLY */
     if (qdev_get_vmsd(DEVICE(cpu)) == NULL) {
         vmstate_register(NULL, cpu->cpu_index, &vmstate_cpu_common, cpu);
     }
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 09/12] arch_init: Remove unused 'qapi-commands-misc.h' include
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

Commit ffaee83bcb2 moved qmp_query_target but forgot to remove
this include.

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 arch_init.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch_init.c b/arch_init.c
index d9eb0ec1dd..8afea4748b 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -27,7 +27,6 @@
 #include "sysemu/arch_init.h"
 #include "hw/pci/pci.h"
 #include "hw/audio/soundhw.h"
-#include "qapi/qapi-commands-misc.h"
 #include "qapi/error.h"
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 09/12] arch_init: Remove unused 'qapi-commands-misc.h' include
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Philippe Mathieu-Daudé,
	Alistair Francis, Richard Henderson

Commit ffaee83bcb2 moved qmp_query_target but forgot to remove
this include.

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 arch_init.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch_init.c b/arch_init.c
index d9eb0ec1dd..8afea4748b 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -27,7 +27,6 @@
 #include "sysemu/arch_init.h"
 #include "hw/pci/pci.h"
 #include "hw/audio/soundhw.h"
-#include "qapi/qapi-commands-misc.h"
 #include "qapi/error.h"
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 10/12] target/i386: Restrict CpuClass::get_crash_info() to system-mode
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 target/i386/cpu.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 9c256ab159..eec1ac7cea 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -6848,6 +6848,7 @@ static void x86_cpu_register_feature_bit_props(X86CPU *cpu,
     x86_cpu_register_bit_prop(cpu, name, w, bitnr);
 }
 
+#if !defined(CONFIG_USER_ONLY)
 static GuestPanicInformation *x86_cpu_get_crash_info(CPUState *cs)
 {
     X86CPU *cpu = X86_CPU(cs);
@@ -6891,6 +6892,7 @@ static void x86_cpu_get_crash_info_qom(Object *obj, Visitor *v,
                                      errp);
     qapi_free_GuestPanicInformation(panic_info);
 }
+#endif /* !CONFIG_USER_ONLY */
 
 static void x86_cpu_initfn(Object *obj)
 {
@@ -6937,8 +6939,10 @@ static void x86_cpu_initfn(Object *obj)
                         x86_cpu_get_unavailable_features,
                         NULL, NULL, NULL, &error_abort);
 
+#if !defined(CONFIG_USER_ONLY)
     object_property_add(obj, "crash-information", "GuestPanicInformation",
                         x86_cpu_get_crash_info_qom, NULL, NULL, NULL, NULL);
+#endif
 
     for (w = 0; w < FEATURE_WORDS; w++) {
         int bitnr;
@@ -7251,7 +7255,6 @@ static void x86_cpu_common_class_init(ObjectClass *oc, void *data)
     cc->cpu_exec_interrupt = x86_cpu_exec_interrupt;
 #endif
     cc->dump_state = x86_cpu_dump_state;
-    cc->get_crash_info = x86_cpu_get_crash_info;
     cc->set_pc = x86_cpu_set_pc;
     cc->synchronize_from_tb = x86_cpu_synchronize_from_tb;
     cc->gdb_read_register = x86_cpu_gdb_read_register;
@@ -7262,6 +7265,7 @@ static void x86_cpu_common_class_init(ObjectClass *oc, void *data)
     cc->asidx_from_attrs = x86_asidx_from_attrs;
     cc->get_memory_mapping = x86_cpu_get_memory_mapping;
     cc->get_phys_page_attrs_debug = x86_cpu_get_phys_page_attrs_debug;
+    cc->get_crash_info = x86_cpu_get_crash_info;
     cc->write_elf64_note = x86_cpu_write_elf64_note;
     cc->write_elf64_qemunote = x86_cpu_write_elf64_qemunote;
     cc->write_elf32_note = x86_cpu_write_elf32_note;
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 10/12] target/i386: Restrict CpuClass::get_crash_info() to system-mode
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Philippe Mathieu-Daudé,
	Richard Henderson

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 target/i386/cpu.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 9c256ab159..eec1ac7cea 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -6848,6 +6848,7 @@ static void x86_cpu_register_feature_bit_props(X86CPU *cpu,
     x86_cpu_register_bit_prop(cpu, name, w, bitnr);
 }
 
+#if !defined(CONFIG_USER_ONLY)
 static GuestPanicInformation *x86_cpu_get_crash_info(CPUState *cs)
 {
     X86CPU *cpu = X86_CPU(cs);
@@ -6891,6 +6892,7 @@ static void x86_cpu_get_crash_info_qom(Object *obj, Visitor *v,
                                      errp);
     qapi_free_GuestPanicInformation(panic_info);
 }
+#endif /* !CONFIG_USER_ONLY */
 
 static void x86_cpu_initfn(Object *obj)
 {
@@ -6937,8 +6939,10 @@ static void x86_cpu_initfn(Object *obj)
                         x86_cpu_get_unavailable_features,
                         NULL, NULL, NULL, &error_abort);
 
+#if !defined(CONFIG_USER_ONLY)
     object_property_add(obj, "crash-information", "GuestPanicInformation",
                         x86_cpu_get_crash_info_qom, NULL, NULL, NULL, NULL);
+#endif
 
     for (w = 0; w < FEATURE_WORDS; w++) {
         int bitnr;
@@ -7251,7 +7255,6 @@ static void x86_cpu_common_class_init(ObjectClass *oc, void *data)
     cc->cpu_exec_interrupt = x86_cpu_exec_interrupt;
 #endif
     cc->dump_state = x86_cpu_dump_state;
-    cc->get_crash_info = x86_cpu_get_crash_info;
     cc->set_pc = x86_cpu_set_pc;
     cc->synchronize_from_tb = x86_cpu_synchronize_from_tb;
     cc->gdb_read_register = x86_cpu_gdb_read_register;
@@ -7262,6 +7265,7 @@ static void x86_cpu_common_class_init(ObjectClass *oc, void *data)
     cc->asidx_from_attrs = x86_asidx_from_attrs;
     cc->get_memory_mapping = x86_cpu_get_memory_mapping;
     cc->get_phys_page_attrs_debug = x86_cpu_get_phys_page_attrs_debug;
+    cc->get_crash_info = x86_cpu_get_crash_info;
     cc->write_elf64_note = x86_cpu_write_elf64_note;
     cc->write_elf64_qemunote = x86_cpu_write_elf64_qemunote;
     cc->write_elf32_note = x86_cpu_write_elf32_note;
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 11/12] target/s390x: Restrict CpuClass::get_crash_info() to system-mode
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 target/s390x/cpu.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
index f2ccf0a06a..afb82206c7 100644
--- a/target/s390x/cpu.c
+++ b/target/s390x/cpu.c
@@ -247,6 +247,7 @@ out:
     error_propagate(errp, err);
 }
 
+#if !defined(CONFIG_USER_ONLY)
 static GuestPanicInformation *s390_cpu_get_crash_info(CPUState *cs)
 {
     GuestPanicInformation *panic_info;
@@ -256,11 +257,7 @@ static GuestPanicInformation *s390_cpu_get_crash_info(CPUState *cs)
     panic_info = g_malloc0(sizeof(GuestPanicInformation));
 
     panic_info->type = GUEST_PANIC_INFORMATION_TYPE_S390;
-#if !defined(CONFIG_USER_ONLY)
     panic_info->u.s390.core = cpu->env.core_id;
-#else
-    panic_info->u.s390.core = 0; /* sane default for non system emulation */
-#endif
     panic_info->u.s390.psw_mask = cpu->env.psw.mask;
     panic_info->u.s390.psw_addr = cpu->env.psw.addr;
     panic_info->u.s390.reason = cpu->env.crash_reason;
@@ -286,6 +283,7 @@ static void s390_cpu_get_crash_info_qom(Object *obj, Visitor *v,
                                      errp);
     qapi_free_GuestPanicInformation(panic_info);
 }
+#endif
 
 static void s390_cpu_initfn(Object *obj)
 {
@@ -295,16 +293,16 @@ static void s390_cpu_initfn(Object *obj)
     cpu_set_cpustate_pointers(cpu);
     cs->halted = 1;
     cs->exception_index = EXCP_HLT;
+#if !defined(CONFIG_USER_ONLY)
     object_property_add(obj, "crash-information", "GuestPanicInformation",
                         s390_cpu_get_crash_info_qom, NULL, NULL, NULL, NULL);
-    s390_cpu_model_register_props(obj);
-#if !defined(CONFIG_USER_ONLY)
     cpu->env.tod_timer =
         timer_new_ns(QEMU_CLOCK_VIRTUAL, s390x_tod_timer, cpu);
     cpu->env.cpu_timer =
         timer_new_ns(QEMU_CLOCK_VIRTUAL, s390x_cpu_timer, cpu);
     s390_cpu_set_state(S390_CPU_STATE_STOPPED, cpu);
 #endif
+    s390_cpu_model_register_props(obj);
 }
 
 static void s390_cpu_finalize(Object *obj)
@@ -488,13 +486,13 @@ static void s390_cpu_class_init(ObjectClass *oc, void *data)
     cc->do_interrupt = s390_cpu_do_interrupt;
 #endif
     cc->dump_state = s390_cpu_dump_state;
-    cc->get_crash_info = s390_cpu_get_crash_info;
     cc->set_pc = s390_cpu_set_pc;
     cc->gdb_read_register = s390_cpu_gdb_read_register;
     cc->gdb_write_register = s390_cpu_gdb_write_register;
 #ifndef CONFIG_USER_ONLY
     cc->get_phys_page_debug = s390_cpu_get_phys_page_debug;
     cc->vmsd = &vmstate_s390_cpu;
+    cc->get_crash_info = s390_cpu_get_crash_info;
     cc->write_elf64_note = s390_cpu_write_elf64_note;
 #ifdef CONFIG_TCG
     cc->cpu_exec_interrupt = s390_cpu_exec_interrupt;
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 11/12] target/s390x: Restrict CpuClass::get_crash_info() to system-mode
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Philippe Mathieu-Daudé,
	Richard Henderson

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 target/s390x/cpu.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
index f2ccf0a06a..afb82206c7 100644
--- a/target/s390x/cpu.c
+++ b/target/s390x/cpu.c
@@ -247,6 +247,7 @@ out:
     error_propagate(errp, err);
 }
 
+#if !defined(CONFIG_USER_ONLY)
 static GuestPanicInformation *s390_cpu_get_crash_info(CPUState *cs)
 {
     GuestPanicInformation *panic_info;
@@ -256,11 +257,7 @@ static GuestPanicInformation *s390_cpu_get_crash_info(CPUState *cs)
     panic_info = g_malloc0(sizeof(GuestPanicInformation));
 
     panic_info->type = GUEST_PANIC_INFORMATION_TYPE_S390;
-#if !defined(CONFIG_USER_ONLY)
     panic_info->u.s390.core = cpu->env.core_id;
-#else
-    panic_info->u.s390.core = 0; /* sane default for non system emulation */
-#endif
     panic_info->u.s390.psw_mask = cpu->env.psw.mask;
     panic_info->u.s390.psw_addr = cpu->env.psw.addr;
     panic_info->u.s390.reason = cpu->env.crash_reason;
@@ -286,6 +283,7 @@ static void s390_cpu_get_crash_info_qom(Object *obj, Visitor *v,
                                      errp);
     qapi_free_GuestPanicInformation(panic_info);
 }
+#endif
 
 static void s390_cpu_initfn(Object *obj)
 {
@@ -295,16 +293,16 @@ static void s390_cpu_initfn(Object *obj)
     cpu_set_cpustate_pointers(cpu);
     cs->halted = 1;
     cs->exception_index = EXCP_HLT;
+#if !defined(CONFIG_USER_ONLY)
     object_property_add(obj, "crash-information", "GuestPanicInformation",
                         s390_cpu_get_crash_info_qom, NULL, NULL, NULL, NULL);
-    s390_cpu_model_register_props(obj);
-#if !defined(CONFIG_USER_ONLY)
     cpu->env.tod_timer =
         timer_new_ns(QEMU_CLOCK_VIRTUAL, s390x_tod_timer, cpu);
     cpu->env.cpu_timer =
         timer_new_ns(QEMU_CLOCK_VIRTUAL, s390x_cpu_timer, cpu);
     s390_cpu_set_state(S390_CPU_STATE_STOPPED, cpu);
 #endif
+    s390_cpu_model_register_props(obj);
 }
 
 static void s390_cpu_finalize(Object *obj)
@@ -488,13 +486,13 @@ static void s390_cpu_class_init(ObjectClass *oc, void *data)
     cc->do_interrupt = s390_cpu_do_interrupt;
 #endif
     cc->dump_state = s390_cpu_dump_state;
-    cc->get_crash_info = s390_cpu_get_crash_info;
     cc->set_pc = s390_cpu_set_pc;
     cc->gdb_read_register = s390_cpu_gdb_read_register;
     cc->gdb_write_register = s390_cpu_gdb_write_register;
 #ifndef CONFIG_USER_ONLY
     cc->get_phys_page_debug = s390_cpu_get_phys_page_debug;
     cc->vmsd = &vmstate_s390_cpu;
+    cc->get_crash_info = s390_cpu_get_crash_info;
     cc->write_elf64_note = s390_cpu_write_elf64_note;
 #ifdef CONFIG_TCG
     cc->cpu_exec_interrupt = s390_cpu_exec_interrupt;
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 12/12] hw/core: Restrict CpuClass::get_crash_info() to system-mode
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 include/hw/core/cpu.h | 7 ++++++-
 hw/core/cpu.c         | 2 ++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index 5bf94d28cf..0d1f9e084f 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -490,6 +490,8 @@ bool cpu_paging_enabled(const CPUState *cpu);
 void cpu_get_memory_mapping(CPUState *cpu, MemoryMappingList *list,
                             Error **errp);
 
+#if !defined(CONFIG_USER_ONLY)
+
 /**
  * cpu_write_elf64_note:
  * @f: pointer to a function that writes memory to a file
@@ -539,6 +541,8 @@ int cpu_write_elf32_qemunote(WriteCoreDumpFunction f, CPUState *cpu,
  */
 GuestPanicInformation *cpu_get_crash_info(CPUState *cpu);
 
+#endif /* !CONFIG_USER_ONLY */
+
 /**
  * CPUDumpFlags:
  * @CPU_DUMP_CODE:
@@ -632,7 +636,8 @@ static inline int cpu_asidx_from_attrs(CPUState *cpu, MemTxAttrs attrs)
     }
     return ret;
 }
-#endif
+
+#endif /* CONFIG_USER_ONLY */
 
 /**
  * cpu_list_add:
diff --git a/hw/core/cpu.c b/hw/core/cpu.c
index 786a1bec8a..85b9723fee 100644
--- a/hw/core/cpu.c
+++ b/hw/core/cpu.c
@@ -209,6 +209,7 @@ static bool cpu_common_exec_interrupt(CPUState *cpu, int int_req)
     return false;
 }
 
+#if !defined(CONFIG_USER_ONLY)
 GuestPanicInformation *cpu_get_crash_info(CPUState *cpu)
 {
     CPUClass *cc = CPU_GET_CLASS(cpu);
@@ -219,6 +220,7 @@ GuestPanicInformation *cpu_get_crash_info(CPUState *cpu)
     }
     return res;
 }
+#endif
 
 void cpu_dump_state(CPUState *cpu, FILE *f, int flags)
 {
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [PATCH v3 12/12] hw/core: Restrict CpuClass::get_crash_info() to system-mode
@ 2020-05-04 15:29   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 15:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Philippe Mathieu-Daudé,
	Richard Henderson

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 include/hw/core/cpu.h | 7 ++++++-
 hw/core/cpu.c         | 2 ++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index 5bf94d28cf..0d1f9e084f 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -490,6 +490,8 @@ bool cpu_paging_enabled(const CPUState *cpu);
 void cpu_get_memory_mapping(CPUState *cpu, MemoryMappingList *list,
                             Error **errp);
 
+#if !defined(CONFIG_USER_ONLY)
+
 /**
  * cpu_write_elf64_note:
  * @f: pointer to a function that writes memory to a file
@@ -539,6 +541,8 @@ int cpu_write_elf32_qemunote(WriteCoreDumpFunction f, CPUState *cpu,
  */
 GuestPanicInformation *cpu_get_crash_info(CPUState *cpu);
 
+#endif /* !CONFIG_USER_ONLY */
+
 /**
  * CPUDumpFlags:
  * @CPU_DUMP_CODE:
@@ -632,7 +636,8 @@ static inline int cpu_asidx_from_attrs(CPUState *cpu, MemTxAttrs attrs)
     }
     return ret;
 }
-#endif
+
+#endif /* CONFIG_USER_ONLY */
 
 /**
  * cpu_list_add:
diff --git a/hw/core/cpu.c b/hw/core/cpu.c
index 786a1bec8a..85b9723fee 100644
--- a/hw/core/cpu.c
+++ b/hw/core/cpu.c
@@ -209,6 +209,7 @@ static bool cpu_common_exec_interrupt(CPUState *cpu, int int_req)
     return false;
 }
 
+#if !defined(CONFIG_USER_ONLY)
 GuestPanicInformation *cpu_get_crash_info(CPUState *cpu)
 {
     CPUClass *cc = CPU_GET_CLASS(cpu);
@@ -219,6 +220,7 @@ GuestPanicInformation *cpu_get_crash_info(CPUState *cpu)
     }
     return res;
 }
+#endif
 
 void cpu_dump_state(CPUState *cpu, FILE *f, int flags)
 {
-- 
2.21.3



^ permalink raw reply related	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 02/12] configure: Avoid building TCG when not needed
  2020-05-04 15:29   ` Philippe Mathieu-Daudé
@ 2020-05-04 15:40     ` Alistair Francis
  -1 siblings, 0 replies; 40+ messages in thread
From: Alistair Francis @ 2020-05-04 15:40 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: open list:RISC-V, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-devel@nongnu.org Developers, qemu-s390x,
	Alistair Francis, Paolo Bonzini, Palmer Dabbelt,
	Richard Henderson

On Mon, May 4, 2020 at 8:29 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> Avoid building TCG when building only tools:
>
>   ./configure --enable-tools --disable-system --disable-user
>
> This saves us from running the soft-float tests enabled since
> commit 76170102508.
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  configure | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/configure b/configure
> index 23b5e93752..e3b4afbb60 100755
> --- a/configure
> +++ b/configure
> @@ -1663,6 +1663,10 @@ if [ "$ARCH" = "unknown" ]; then
>    linux_user="no"
>  fi
>
> +if [ "$bsd_user" = "no" -a "$linux_user" = "no" -a "$softmmu" = "no" ] ; then
> +  tcg="no"
> +fi
> +
>  default_target_list=""
>
>  mak_wilds=""
> --
> 2.21.3
>
>


^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 02/12] configure: Avoid building TCG when not needed
@ 2020-05-04 15:40     ` Alistair Francis
  0 siblings, 0 replies; 40+ messages in thread
From: Alistair Francis @ 2020-05-04 15:40 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel@nongnu.org Developers, Alistair Francis,
	open list:RISC-V, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Richard Henderson

On Mon, May 4, 2020 at 8:29 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> Avoid building TCG when building only tools:
>
>   ./configure --enable-tools --disable-system --disable-user
>
> This saves us from running the soft-float tests enabled since
> commit 76170102508.
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  configure | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/configure b/configure
> index 23b5e93752..e3b4afbb60 100755
> --- a/configure
> +++ b/configure
> @@ -1663,6 +1663,10 @@ if [ "$ARCH" = "unknown" ]; then
>    linux_user="no"
>  fi
>
> +if [ "$bsd_user" = "no" -a "$linux_user" = "no" -a "$softmmu" = "no" ] ; then
> +  tcg="no"
> +fi
> +
>  default_target_list=""
>
>  mak_wilds=""
> --
> 2.21.3
>
>


^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 08/12] exec: Assert CPU migration is not used on user-only build
  2020-05-04 15:29   ` Philippe Mathieu-Daudé
@ 2020-05-04 15:41     ` Alistair Francis
  -1 siblings, 0 replies; 40+ messages in thread
From: Alistair Francis @ 2020-05-04 15:41 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: open list:RISC-V, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-devel@nongnu.org Developers, qemu-s390x,
	Alistair Francis, Paolo Bonzini, Palmer Dabbelt,
	Richard Henderson

On Mon, May 4, 2020 at 8:41 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  exec.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/exec.c b/exec.c
> index 2874bb5088..3a39ffb1eb 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -946,7 +946,9 @@ void cpu_exec_realizefn(CPUState *cpu, Error **errp)
>
>      qemu_plugin_vcpu_init_hook(cpu);
>
> -#ifndef CONFIG_USER_ONLY
> +#ifdef CONFIG_USER_ONLY
> +    assert(cc->vmsd == NULL);
> +#else /* !CONFIG_USER_ONLY */
>      if (qdev_get_vmsd(DEVICE(cpu)) == NULL) {
>          vmstate_register(NULL, cpu->cpu_index, &vmstate_cpu_common, cpu);
>      }
> --
> 2.21.3
>
>


^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 08/12] exec: Assert CPU migration is not used on user-only build
@ 2020-05-04 15:41     ` Alistair Francis
  0 siblings, 0 replies; 40+ messages in thread
From: Alistair Francis @ 2020-05-04 15:41 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel@nongnu.org Developers, Alistair Francis,
	open list:RISC-V, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Richard Henderson

On Mon, May 4, 2020 at 8:41 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  exec.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/exec.c b/exec.c
> index 2874bb5088..3a39ffb1eb 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -946,7 +946,9 @@ void cpu_exec_realizefn(CPUState *cpu, Error **errp)
>
>      qemu_plugin_vcpu_init_hook(cpu);
>
> -#ifndef CONFIG_USER_ONLY
> +#ifdef CONFIG_USER_ONLY
> +    assert(cc->vmsd == NULL);
> +#else /* !CONFIG_USER_ONLY */
>      if (qdev_get_vmsd(DEVICE(cpu)) == NULL) {
>          vmstate_register(NULL, cpu->cpu_index, &vmstate_cpu_common, cpu);
>      }
> --
> 2.21.3
>
>


^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 00/12] user-mode: Prune build dependencies (part 1)
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-05  8:32   ` no-reply
  -1 siblings, 0 replies; 40+ messages in thread
From: no-reply @ 2020-05-05  8:32 UTC (permalink / raw)
  To: philmd
  Cc: qemu-riscv, ehabkost, sagark, david, kbastian, cohuck,
	qemu-devel, qemu-s390x, Alistair.Francis, pbonzini, palmer,
	philmd, rth

Patchew URL: https://patchew.org/QEMU/20200504152922.21365-1-philmd@redhat.com/



Hi,

This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
export ARCH=x86_64
make docker-image-fedora V=1 NETWORK=1
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===




The full log is available at
http://patchew.org/logs/20200504152922.21365-1-philmd@redhat.com/testing.asan/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 00/12] user-mode: Prune build dependencies (part 1)
@ 2020-05-05  8:32   ` no-reply
  0 siblings, 0 replies; 40+ messages in thread
From: no-reply @ 2020-05-05  8:32 UTC (permalink / raw)
  To: philmd
  Cc: qemu-devel, Alistair.Francis, qemu-riscv, ehabkost, sagark,
	david, kbastian, cohuck, qemu-s390x, palmer, pbonzini, philmd,
	rth

Patchew URL: https://patchew.org/QEMU/20200504152922.21365-1-philmd@redhat.com/



Hi,

This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
export ARCH=x86_64
make docker-image-fedora V=1 NETWORK=1
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===




The full log is available at
http://patchew.org/logs/20200504152922.21365-1-philmd@redhat.com/testing.asan/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 00/12] user-mode: Prune build dependencies (part 1)
  2020-05-04 15:29 ` Philippe Mathieu-Daudé
@ 2020-05-05  8:33   ` Laurent Vivier
  -1 siblings, 0 replies; 40+ messages in thread
From: Laurent Vivier @ 2020-05-05  8:33 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: qemu-riscv, Eduardo Habkost, Sagar Karandikar, David Hildenbrand,
	Bastian Koppelmann, Cornelia Huck, qemu-s390x, Alistair Francis,
	Paolo Bonzini, Palmer Dabbelt, Richard Henderson

Le 04/05/2020 à 17:29, Philippe Mathieu-Daudé a écrit :
> 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()
> 
> This series is fully reviewed.
> 
> 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 v1 -r v2
> 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/12:[----] [--] 'Makefile: Only build virtiofsd if system-mode is enabled'
> 002/12:[----] [--] 'configure: Avoid building TCG when not needed'
> 003/12:[----] [--] 'tests/Makefile: Only display TCG-related tests when TCG is available'
> 004/12:[----] [--] 'tests/Makefile: Restrict some softmmu-only tests'
> 005/12:[----] [-C] 'util/Makefile: Reduce the user-mode object list'
> 006/12:[----] [--] 'stubs/Makefile: Reduce the user-mode object list'
> 007/12:[----] [--] 'target/riscv/cpu: Restrict CPU migration to system-mode'
> 008/12:[----] [--] 'exec: Assert CPU migration is not used on user-only build'
> 009/12:[----] [--] 'arch_init: Remove unused 'qapi-commands-misc.h' include'
> 010/12:[----] [--] 'target/i386: Restrict CpuClass::get_crash_info() to system-mode'
> 011/12:[----] [--] 'target/s390x: Restrict CpuClass::get_crash_info() to system-mode'
> 012/12:[----] [--] 'hw/core: Restrict CpuClass::get_crash_info() to system-mode'
> 
> Philippe Mathieu-Daudé (12):
>   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
> 
>  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    | 52 +++++++++++++++++++++----------------
>  tests/Makefile.include | 18 +++++++------
>  util/Makefile.objs     | 59 +++++++++++++++++++++++++++---------------
>  12 files changed, 108 insertions(+), 65 deletions(-)
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Tested-by: Laurent Vivier <laurent@vivier.eu>


^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 00/12] user-mode: Prune build dependencies (part 1)
@ 2020-05-05  8:33   ` Laurent Vivier
  0 siblings, 0 replies; 40+ messages in thread
From: Laurent Vivier @ 2020-05-05  8:33 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck, qemu-s390x,
	Palmer Dabbelt, Paolo Bonzini, Richard Henderson

Le 04/05/2020 à 17:29, Philippe Mathieu-Daudé a écrit :
> 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()
> 
> This series is fully reviewed.
> 
> 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 v1 -r v2
> 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/12:[----] [--] 'Makefile: Only build virtiofsd if system-mode is enabled'
> 002/12:[----] [--] 'configure: Avoid building TCG when not needed'
> 003/12:[----] [--] 'tests/Makefile: Only display TCG-related tests when TCG is available'
> 004/12:[----] [--] 'tests/Makefile: Restrict some softmmu-only tests'
> 005/12:[----] [-C] 'util/Makefile: Reduce the user-mode object list'
> 006/12:[----] [--] 'stubs/Makefile: Reduce the user-mode object list'
> 007/12:[----] [--] 'target/riscv/cpu: Restrict CPU migration to system-mode'
> 008/12:[----] [--] 'exec: Assert CPU migration is not used on user-only build'
> 009/12:[----] [--] 'arch_init: Remove unused 'qapi-commands-misc.h' include'
> 010/12:[----] [--] 'target/i386: Restrict CpuClass::get_crash_info() to system-mode'
> 011/12:[----] [--] 'target/s390x: Restrict CpuClass::get_crash_info() to system-mode'
> 012/12:[----] [--] 'hw/core: Restrict CpuClass::get_crash_info() to system-mode'
> 
> Philippe Mathieu-Daudé (12):
>   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
> 
>  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    | 52 +++++++++++++++++++++----------------
>  tests/Makefile.include | 18 +++++++------
>  util/Makefile.objs     | 59 +++++++++++++++++++++++++++---------------
>  12 files changed, 108 insertions(+), 65 deletions(-)
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Tested-by: Laurent Vivier <laurent@vivier.eu>


^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 11/12] target/s390x: Restrict CpuClass::get_crash_info() to system-mode
  2020-05-04 15:29   ` Philippe Mathieu-Daudé
@ 2020-05-05 12:05     ` Cornelia Huck
  -1 siblings, 0 replies; 40+ messages in thread
From: Cornelia Huck @ 2020-05-05 12:05 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Richard Henderson,
	qemu-devel, qemu-s390x, Palmer Dabbelt, Paolo Bonzini,
	Richard Henderson

On Mon,  4 May 2020 17:29:21 +0200
Philippe Mathieu-Daudé <philmd@redhat.com> wrote:

> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  target/s390x/cpu.c | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)
> 

Reviewed-by: Cornelia Huck <cohuck@redhat.com>



^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 11/12] target/s390x: Restrict CpuClass::get_crash_info() to system-mode
@ 2020-05-05 12:05     ` Cornelia Huck
  0 siblings, 0 replies; 40+ messages in thread
From: Cornelia Huck @ 2020-05-05 12:05 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Palmer Dabbelt, Bastian Koppelmann, qemu-riscv,
	qemu-s390x, Richard Henderson, Paolo Bonzini, Alistair Francis,
	Sagar Karandikar, Eduardo Habkost, Marcel Apfelbaum,
	David Hildenbrand, Richard Henderson

On Mon,  4 May 2020 17:29:21 +0200
Philippe Mathieu-Daudé <philmd@redhat.com> wrote:

> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  target/s390x/cpu.c | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)
> 

Reviewed-by: Cornelia Huck <cohuck@redhat.com>



^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 00/12] user-mode: Prune build dependencies (part 1)
  2020-05-05  8:33   ` Laurent Vivier
@ 2020-05-08 16:24     ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-08 16:24 UTC (permalink / raw)
  To: Laurent Vivier, qemu-devel, Paolo Bonzini
  Cc: qemu-riscv, Eduardo Habkost, Sagar Karandikar, David Hildenbrand,
	Bastian Koppelmann, Cornelia Huck, qemu-s390x, Alistair Francis,
	Palmer Dabbelt, Richard Henderson

On 5/5/20 10:33 AM, Laurent Vivier wrote:
> Le 04/05/2020 à 17:29, Philippe Mathieu-Daudé a écrit :
>> 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()
>>
>> This series is fully reviewed.
>>
>> 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 v1 -r v2
>> 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/12:[----] [--] 'Makefile: Only build virtiofsd if system-mode is enabled'
>> 002/12:[----] [--] 'configure: Avoid building TCG when not needed'
>> 003/12:[----] [--] 'tests/Makefile: Only display TCG-related tests when TCG is available'
>> 004/12:[----] [--] 'tests/Makefile: Restrict some softmmu-only tests'
>> 005/12:[----] [-C] 'util/Makefile: Reduce the user-mode object list'
>> 006/12:[----] [--] 'stubs/Makefile: Reduce the user-mode object list'
>> 007/12:[----] [--] 'target/riscv/cpu: Restrict CPU migration to system-mode'
>> 008/12:[----] [--] 'exec: Assert CPU migration is not used on user-only build'
>> 009/12:[----] [--] 'arch_init: Remove unused 'qapi-commands-misc.h' include'
>> 010/12:[----] [--] 'target/i386: Restrict CpuClass::get_crash_info() to system-mode'
>> 011/12:[----] [--] 'target/s390x: Restrict CpuClass::get_crash_info() to system-mode'
>> 012/12:[----] [--] 'hw/core: Restrict CpuClass::get_crash_info() to system-mode'
>>
>> Philippe Mathieu-Daudé (12):
>>    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
>>
>>   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    | 52 +++++++++++++++++++++----------------
>>   tests/Makefile.include | 18 +++++++------
>>   util/Makefile.objs     | 59 +++++++++++++++++++++++++++---------------
>>   12 files changed, 108 insertions(+), 65 deletions(-)
>>
> 
> Reviewed-by: Laurent Vivier <laurent@vivier.eu>
> Tested-by: Laurent Vivier <laurent@vivier.eu>

Thanks!

Paolo, since it is a bit of everything, do you mind taking this series?
For your convenience, you can use this link with all the patches and the 
tags already applied at once! :p
https://patchew.org/QEMU/20200504152922.21365-1-philmd@redhat.com/mbox

Regards,

Phil.



^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 00/12] user-mode: Prune build dependencies (part 1)
@ 2020-05-08 16:24     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 40+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-08 16:24 UTC (permalink / raw)
  To: Laurent Vivier, qemu-devel, Paolo Bonzini
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck, qemu-s390x,
	Palmer Dabbelt, Richard Henderson

On 5/5/20 10:33 AM, Laurent Vivier wrote:
> Le 04/05/2020 à 17:29, Philippe Mathieu-Daudé a écrit :
>> 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()
>>
>> This series is fully reviewed.
>>
>> 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 v1 -r v2
>> 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/12:[----] [--] 'Makefile: Only build virtiofsd if system-mode is enabled'
>> 002/12:[----] [--] 'configure: Avoid building TCG when not needed'
>> 003/12:[----] [--] 'tests/Makefile: Only display TCG-related tests when TCG is available'
>> 004/12:[----] [--] 'tests/Makefile: Restrict some softmmu-only tests'
>> 005/12:[----] [-C] 'util/Makefile: Reduce the user-mode object list'
>> 006/12:[----] [--] 'stubs/Makefile: Reduce the user-mode object list'
>> 007/12:[----] [--] 'target/riscv/cpu: Restrict CPU migration to system-mode'
>> 008/12:[----] [--] 'exec: Assert CPU migration is not used on user-only build'
>> 009/12:[----] [--] 'arch_init: Remove unused 'qapi-commands-misc.h' include'
>> 010/12:[----] [--] 'target/i386: Restrict CpuClass::get_crash_info() to system-mode'
>> 011/12:[----] [--] 'target/s390x: Restrict CpuClass::get_crash_info() to system-mode'
>> 012/12:[----] [--] 'hw/core: Restrict CpuClass::get_crash_info() to system-mode'
>>
>> Philippe Mathieu-Daudé (12):
>>    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
>>
>>   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    | 52 +++++++++++++++++++++----------------
>>   tests/Makefile.include | 18 +++++++------
>>   util/Makefile.objs     | 59 +++++++++++++++++++++++++++---------------
>>   12 files changed, 108 insertions(+), 65 deletions(-)
>>
> 
> Reviewed-by: Laurent Vivier <laurent@vivier.eu>
> Tested-by: Laurent Vivier <laurent@vivier.eu>

Thanks!

Paolo, since it is a bit of everything, do you mind taking this series?
For your convenience, you can use this link with all the patches and the 
tags already applied at once! :p
https://patchew.org/QEMU/20200504152922.21365-1-philmd@redhat.com/mbox

Regards,

Phil.



^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 01/12] Makefile: Only build virtiofsd if system-mode is enabled
  2020-05-04 15:29   ` Philippe Mathieu-Daudé
@ 2020-05-18 12:14     ` Dr. David Alan Gilbert
  -1 siblings, 0 replies; 40+ messages in thread
From: Dr. David Alan Gilbert @ 2020-05-18 12:14 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Alistair Francis, qemu-riscv, Eduardo Habkost, Sagar Karandikar,
	David Hildenbrand, Bastian Koppelmann, Cornelia Huck,
	Richard Henderson, qemu-devel, qemu-s390x, Palmer Dabbelt,
	Paolo Bonzini, Richard Henderson

* Philippe Mathieu-Daudé (philmd@redhat.com) wrote:
> Do not build the virtiofsd helper when configured with
> --disable-system.
> 
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Yeh that seems reasonable; although virtiofsd is self-contained enough
that perhaps it should be unrelated to whether you're building that.



Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> ---
>  Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Makefile b/Makefile
> index 34275f57c9..e46b6ef5d4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -345,7 +345,7 @@ HELPERS-y += vhost-user-gpu$(EXESUF)
>  vhost-user-json-y += contrib/vhost-user-gpu/50-qemu-gpu.json
>  endif
>  
> -ifeq ($(CONFIG_LINUX)$(CONFIG_SECCOMP)$(CONFIG_LIBCAP_NG),yyy)
> +ifeq ($(CONFIG_SOFTMMU)$(CONFIG_LINUX)$(CONFIG_SECCOMP)$(CONFIG_LIBCAP_NG),yyyy)
>  HELPERS-y += virtiofsd$(EXESUF)
>  vhost-user-json-y += tools/virtiofsd/50-qemu-virtiofsd.json
>  endif
> -- 
> 2.21.3
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK



^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [PATCH v3 01/12] Makefile: Only build virtiofsd if system-mode is enabled
@ 2020-05-18 12:14     ` Dr. David Alan Gilbert
  0 siblings, 0 replies; 40+ messages in thread
From: Dr. David Alan Gilbert @ 2020-05-18 12:14 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Palmer Dabbelt, Cornelia Huck, Bastian Koppelmann,
	qemu-riscv, qemu-s390x, Richard Henderson, Paolo Bonzini,
	Alistair Francis, Sagar Karandikar, Eduardo Habkost,
	Marcel Apfelbaum, David Hildenbrand, Richard Henderson

* Philippe Mathieu-Daudé (philmd@redhat.com) wrote:
> Do not build the virtiofsd helper when configured with
> --disable-system.
> 
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Yeh that seems reasonable; although virtiofsd is self-contained enough
that perhaps it should be unrelated to whether you're building that.



Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> ---
>  Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Makefile b/Makefile
> index 34275f57c9..e46b6ef5d4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -345,7 +345,7 @@ HELPERS-y += vhost-user-gpu$(EXESUF)
>  vhost-user-json-y += contrib/vhost-user-gpu/50-qemu-gpu.json
>  endif
>  
> -ifeq ($(CONFIG_LINUX)$(CONFIG_SECCOMP)$(CONFIG_LIBCAP_NG),yyy)
> +ifeq ($(CONFIG_SOFTMMU)$(CONFIG_LINUX)$(CONFIG_SECCOMP)$(CONFIG_LIBCAP_NG),yyyy)
>  HELPERS-y += virtiofsd$(EXESUF)
>  vhost-user-json-y += tools/virtiofsd/50-qemu-virtiofsd.json
>  endif
> -- 
> 2.21.3
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK



^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2020-05-18 12:16 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-04 15:29 [PATCH v3 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
2020-05-04 15:29 ` Philippe Mathieu-Daudé
2020-05-04 15:29 ` [PATCH v3 01/12] Makefile: Only build virtiofsd if system-mode is enabled Philippe Mathieu-Daudé
2020-05-04 15:29   ` Philippe Mathieu-Daudé
2020-05-18 12:14   ` Dr. David Alan Gilbert
2020-05-18 12:14     ` Dr. David Alan Gilbert
2020-05-04 15:29 ` [PATCH v3 02/12] configure: Avoid building TCG when not needed Philippe Mathieu-Daudé
2020-05-04 15:29   ` Philippe Mathieu-Daudé
2020-05-04 15:40   ` Alistair Francis
2020-05-04 15:40     ` Alistair Francis
2020-05-04 15:29 ` [PATCH v3 03/12] tests/Makefile: Only display TCG-related tests when TCG is available Philippe Mathieu-Daudé
2020-05-04 15:29   ` Philippe Mathieu-Daudé
2020-05-04 15:29 ` [PATCH v3 04/12] tests/Makefile: Restrict some softmmu-only tests Philippe Mathieu-Daudé
2020-05-04 15:29   ` Philippe Mathieu-Daudé
2020-05-04 15:29 ` [PATCH v3 05/12] util/Makefile: Reduce the user-mode object list Philippe Mathieu-Daudé
2020-05-04 15:29   ` Philippe Mathieu-Daudé
2020-05-04 15:29 ` [PATCH v3 06/12] stubs/Makefile: " Philippe Mathieu-Daudé
2020-05-04 15:29   ` Philippe Mathieu-Daudé
2020-05-04 15:29 ` [PATCH v3 07/12] target/riscv/cpu: Restrict CPU migration to system-mode Philippe Mathieu-Daudé
2020-05-04 15:29   ` Philippe Mathieu-Daudé
2020-05-04 15:29 ` [PATCH v3 08/12] exec: Assert CPU migration is not used on user-only build Philippe Mathieu-Daudé
2020-05-04 15:29   ` Philippe Mathieu-Daudé
2020-05-04 15:41   ` Alistair Francis
2020-05-04 15:41     ` Alistair Francis
2020-05-04 15:29 ` [PATCH v3 09/12] arch_init: Remove unused 'qapi-commands-misc.h' include Philippe Mathieu-Daudé
2020-05-04 15:29   ` Philippe Mathieu-Daudé
2020-05-04 15:29 ` [PATCH v3 10/12] target/i386: Restrict CpuClass::get_crash_info() to system-mode Philippe Mathieu-Daudé
2020-05-04 15:29   ` Philippe Mathieu-Daudé
2020-05-04 15:29 ` [PATCH v3 11/12] target/s390x: " Philippe Mathieu-Daudé
2020-05-04 15:29   ` Philippe Mathieu-Daudé
2020-05-05 12:05   ` Cornelia Huck
2020-05-05 12:05     ` Cornelia Huck
2020-05-04 15:29 ` [PATCH v3 12/12] hw/core: " Philippe Mathieu-Daudé
2020-05-04 15:29   ` Philippe Mathieu-Daudé
2020-05-05  8:32 ` [PATCH v3 00/12] user-mode: Prune build dependencies (part 1) no-reply
2020-05-05  8:32   ` no-reply
2020-05-05  8:33 ` Laurent Vivier
2020-05-05  8:33   ` Laurent Vivier
2020-05-08 16:24   ` Philippe Mathieu-Daudé
2020-05-08 16:24     ` Philippe Mathieu-Daudé

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.