* [PATCH v2 01/12] Makefile: Only build virtiofsd if system-mode is enabled
2020-03-15 23:57 [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
@ 2020-03-15 23:57 ` Philippe Mathieu-Daudé
2020-03-16 18:57 ` Richard Henderson
2020-03-19 11:13 ` Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 02/12] configure: Avoid building TCG when not needed Philippe Mathieu-Daudé
` (11 subsequent siblings)
12 siblings, 2 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-15 23:57 UTC (permalink / raw)
To: qemu-devel
Cc: Eduardo Habkost, Cornelia Huck, Laurent Vivier, qemu-s390x,
Alistair Francis, Paolo Bonzini, Philippe Mathieu-Daudé,
Richard Henderson
Do not build the virtiofsd helper when configured with
--disable-system.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v2: Use single line with ifeq='yyyy' (lvivier, rth)
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 7df22fcc5d..7d27941803 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.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v2 01/12] Makefile: Only build virtiofsd if system-mode is enabled
2020-03-15 23:57 ` [PATCH v2 01/12] Makefile: Only build virtiofsd if system-mode is enabled Philippe Mathieu-Daudé
@ 2020-03-16 18:57 ` Richard Henderson
2020-03-19 11:13 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 18+ messages in thread
From: Richard Henderson @ 2020-03-16 18:57 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Eduardo Habkost, Cornelia Huck, Laurent Vivier, qemu-s390x,
Alistair Francis, Paolo Bonzini, Richard Henderson
On 3/15/20 4:57 PM, Philippe Mathieu-Daudé wrote:
> Do not build the virtiofsd helper when configured with
> --disable-system.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v2: Use single line with ifeq='yyyy' (lvivier, rth)
> ---
> Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 01/12] Makefile: Only build virtiofsd if system-mode is enabled
2020-03-15 23:57 ` [PATCH v2 01/12] Makefile: Only build virtiofsd if system-mode is enabled Philippe Mathieu-Daudé
2020-03-16 18:57 ` Richard Henderson
@ 2020-03-19 11:13 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-19 11:13 UTC (permalink / raw)
To: qemu-devel
Cc: Eduardo Habkost, Cornelia Huck, Laurent Vivier, qemu-s390x,
Alistair Francis, Paolo Bonzini, Richard Henderson
This patch is reviewed, can it get in 5.0 as build fix?
On 3/16/20 12:57 AM, Philippe Mathieu-Daudé wrote:
> Do not build the virtiofsd helper when configured with
> --disable-system.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v2: Use single line with ifeq='yyyy' (lvivier, rth)
> ---
> Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 7df22fcc5d..7d27941803 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
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 02/12] configure: Avoid building TCG when not needed
2020-03-15 23:57 [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 01/12] Makefile: Only build virtiofsd if system-mode is enabled Philippe Mathieu-Daudé
@ 2020-03-15 23:57 ` Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 03/12] tests/Makefile: Only display TCG-related tests when TCG is available Philippe Mathieu-Daudé
` (10 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-15 23:57 UTC (permalink / raw)
To: qemu-devel
Cc: Eduardo Habkost, Cornelia Huck, Richard Henderson, Laurent Vivier,
qemu-s390x, Alistair Francis, 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 eb49bb6680..c2ffcb0431 100755
--- a/configure
+++ b/configure
@@ -1650,6 +1650,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.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 03/12] tests/Makefile: Only display TCG-related tests when TCG is available
2020-03-15 23:57 [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 01/12] Makefile: Only build virtiofsd if system-mode is enabled Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 02/12] configure: Avoid building TCG when not needed Philippe Mathieu-Daudé
@ 2020-03-15 23:57 ` Philippe Mathieu-Daudé
2020-03-19 11:15 ` Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 04/12] tests/Makefile: Restrict some softmmu-only tests Philippe Mathieu-Daudé
` (9 subsequent siblings)
12 siblings, 1 reply; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-15 23:57 UTC (permalink / raw)
To: qemu-devel
Cc: Eduardo Habkost, Cornelia Huck, Richard Henderson, Laurent Vivier,
qemu-s390x, Alistair Francis, 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 67e8fcddda..99db5eb3e0 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.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v2 03/12] tests/Makefile: Only display TCG-related tests when TCG is available
2020-03-15 23:57 ` [PATCH v2 03/12] tests/Makefile: Only display TCG-related tests when TCG is available Philippe Mathieu-Daudé
@ 2020-03-19 11:15 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-19 11:15 UTC (permalink / raw)
To: qemu-devel
Cc: Eduardo Habkost, Cornelia Huck, Richard Henderson, Laurent Vivier,
qemu-s390x, Alistair Francis, Paolo Bonzini, Richard Henderson
This patch might be worth for 5.0 too.
On 3/16/20 12:57 AM, Philippe Mathieu-Daudé wrote:
> 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 67e8fcddda..99db5eb3e0 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"
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 04/12] tests/Makefile: Restrict some softmmu-only tests
2020-03-15 23:57 [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
` (2 preceding siblings ...)
2020-03-15 23:57 ` [PATCH v2 03/12] tests/Makefile: Only display TCG-related tests when TCG is available Philippe Mathieu-Daudé
@ 2020-03-15 23:57 ` Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 05/12] util/Makefile: Reduce the user-mode object list Philippe Mathieu-Daudé
` (8 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-15 23:57 UTC (permalink / raw)
To: qemu-devel
Cc: Eduardo Habkost, Cornelia Huck, Richard Henderson, Laurent Vivier,
qemu-s390x, Alistair Francis, 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 99db5eb3e0..bf11f765c3 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -64,14 +64,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)
@@ -106,7 +106,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)
@@ -124,9 +124,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)
@@ -137,7 +137,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)
@@ -145,7 +145,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.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 05/12] util/Makefile: Reduce the user-mode object list
2020-03-15 23:57 [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
` (3 preceding siblings ...)
2020-03-15 23:57 ` [PATCH v2 04/12] tests/Makefile: Restrict some softmmu-only tests Philippe Mathieu-Daudé
@ 2020-03-15 23:57 ` Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 06/12] stubs/Makefile: " Philippe Mathieu-Daudé
` (7 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-15 23:57 UTC (permalink / raw)
To: qemu-devel
Cc: Eduardo Habkost, Cornelia Huck, Richard Henderson, Laurent Vivier,
qemu-s390x, Alistair Francis, 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 6718a38b61..24ae2e4dfa 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,12 +39,44 @@ 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)
+
+#######################################################################
+# 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.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 06/12] stubs/Makefile: Reduce the user-mode object list
2020-03-15 23:57 [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
` (4 preceding siblings ...)
2020-03-15 23:57 ` [PATCH v2 05/12] util/Makefile: Reduce the user-mode object list Philippe Mathieu-Daudé
@ 2020-03-15 23:57 ` Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 07/12] target/riscv/cpu: Restrict CPU migration to system-mode Philippe Mathieu-Daudé
` (6 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-15 23:57 UTC (permalink / raw)
To: qemu-devel
Cc: Eduardo Habkost, Cornelia Huck, Richard Henderson, Laurent Vivier,
qemu-s390x, Alistair Francis, 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.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 07/12] target/riscv/cpu: Restrict CPU migration to system-mode
2020-03-15 23:57 [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
` (5 preceding siblings ...)
2020-03-15 23:57 ` [PATCH v2 06/12] stubs/Makefile: " Philippe Mathieu-Daudé
@ 2020-03-15 23:57 ` Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 08/12] exec: Assert CPU migration is not used on user-only build Philippe Mathieu-Daudé
` (5 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-15 23:57 UTC (permalink / raw)
To: qemu-devel
Cc: open list:RISC-V TCG CPUs, Eduardo Habkost, Sagar Karandikar,
Bastian Koppelmann, Cornelia Huck, Richard Henderson,
Laurent Vivier, qemu-s390x, Alistair Francis, Paolo Bonzini,
Philippe Mathieu-Daudé, Palmer Dabbelt, 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 c0b7023100..b59e09209e 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -475,10 +475,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),
@@ -534,13 +536,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.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 08/12] exec: Assert CPU migration is not used on user-only build
2020-03-15 23:57 [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
` (6 preceding siblings ...)
2020-03-15 23:57 ` [PATCH v2 07/12] target/riscv/cpu: Restrict CPU migration to system-mode Philippe Mathieu-Daudé
@ 2020-03-15 23:57 ` Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 09/12] arch_init: Remove unused 'qapi-commands-misc.h' include Philippe Mathieu-Daudé
` (4 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-15 23:57 UTC (permalink / raw)
To: qemu-devel
Cc: Eduardo Habkost, Cornelia Huck, Richard Henderson, Laurent Vivier,
qemu-s390x, Alistair Francis, 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 0cc500d53a..7bc9828c5b 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.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 09/12] arch_init: Remove unused 'qapi-commands-misc.h' include
2020-03-15 23:57 [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
` (7 preceding siblings ...)
2020-03-15 23:57 ` [PATCH v2 08/12] exec: Assert CPU migration is not used on user-only build Philippe Mathieu-Daudé
@ 2020-03-15 23:57 ` Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 10/12] target/i386: Restrict CpuClass::get_crash_info() to system-mode Philippe Mathieu-Daudé
` (3 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-15 23:57 UTC (permalink / raw)
To: qemu-devel
Cc: Eduardo Habkost, Cornelia Huck, Richard Henderson, Laurent Vivier,
qemu-s390x, Alistair Francis, 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 705d0b94ad..074fa621b6 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.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 10/12] target/i386: Restrict CpuClass::get_crash_info() to system-mode
2020-03-15 23:57 [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
` (8 preceding siblings ...)
2020-03-15 23:57 ` [PATCH v2 09/12] arch_init: Remove unused 'qapi-commands-misc.h' include Philippe Mathieu-Daudé
@ 2020-03-15 23:57 ` Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 11/12] target/s390x: " Philippe Mathieu-Daudé
` (2 subsequent siblings)
12 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-15 23:57 UTC (permalink / raw)
To: qemu-devel
Cc: Eduardo Habkost, Cornelia Huck, Richard Henderson, Laurent Vivier,
qemu-s390x, Alistair Francis, 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 92fafa2659..a84553e50c 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -6778,6 +6778,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);
@@ -6821,6 +6822,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)
{
@@ -6866,8 +6868,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;
@@ -7180,7 +7184,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;
@@ -7191,6 +7194,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.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 11/12] target/s390x: Restrict CpuClass::get_crash_info() to system-mode
2020-03-15 23:57 [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
` (9 preceding siblings ...)
2020-03-15 23:57 ` [PATCH v2 10/12] target/i386: Restrict CpuClass::get_crash_info() to system-mode Philippe Mathieu-Daudé
@ 2020-03-15 23:57 ` Philippe Mathieu-Daudé
2020-03-15 23:57 ` [PATCH v2 12/12] hw/core: " Philippe Mathieu-Daudé
2020-03-16 0:16 ` [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Aleksandar Markovic
12 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-15 23:57 UTC (permalink / raw)
To: qemu-devel
Cc: Eduardo Habkost, David Hildenbrand, Cornelia Huck,
Richard Henderson, Laurent Vivier, qemu-s390x, Alistair Francis,
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 3dd396e870..3b1377c20a 100644
--- a/target/s390x/cpu.c
+++ b/target/s390x/cpu.c
@@ -237,6 +237,7 @@ out:
error_propagate(errp, err);
}
+#if !defined(CONFIG_USER_ONLY)
static GuestPanicInformation *s390_cpu_get_crash_info(CPUState *cs)
{
GuestPanicInformation *panic_info;
@@ -246,11 +247,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;
@@ -276,6 +273,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)
{
@@ -285,16 +283,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)
@@ -477,13 +475,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.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 12/12] hw/core: Restrict CpuClass::get_crash_info() to system-mode
2020-03-15 23:57 [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
` (10 preceding siblings ...)
2020-03-15 23:57 ` [PATCH v2 11/12] target/s390x: " Philippe Mathieu-Daudé
@ 2020-03-15 23:57 ` Philippe Mathieu-Daudé
2020-03-16 0:16 ` [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Aleksandar Markovic
12 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-15 23:57 UTC (permalink / raw)
To: qemu-devel
Cc: Eduardo Habkost, Cornelia Huck, Richard Henderson, Laurent Vivier,
qemu-s390x, Alistair Francis, 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 73e9a869a4..48ab5ec3ed 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -492,6 +492,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
@@ -541,6 +543,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:
@@ -634,7 +638,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 fe65ca62ac..debdd7e670 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.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v2 00/12] user-mode: Prune build dependencies (part 1)
2020-03-15 23:57 [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Philippe Mathieu-Daudé
` (11 preceding siblings ...)
2020-03-15 23:57 ` [PATCH v2 12/12] hw/core: " Philippe Mathieu-Daudé
@ 2020-03-16 0:16 ` Aleksandar Markovic
2020-03-16 7:45 ` Philippe Mathieu-Daudé
12 siblings, 1 reply; 18+ messages in thread
From: Aleksandar Markovic @ 2020-03-16 0:16 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Eduardo Habkost, Cornelia Huck, Laurent Vivier,
qemu-devel@nongnu.org, qemu-s390x@nongnu.org, Alistair Francis,
Paolo Bonzini, Richard Henderson
[-- Attachment #1: Type: text/plain, Size: 2383 bytes --]
On Monday, March 16, 2020, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> This is the first part of a series reducing user-mode
> dependencies. By stripping out unused code, the build
> and testing time is reduced (as is space used by objects).
>
> Part 1:
> - reduce user-mode object list
> - remove some migration code from user-mode
> - remove cpu_get_crash_info()
>
>
What is the purpose of dividing into parts? What is the content of other
parts, and when do you plan to submit those? A series is usually a
stand-alone and a complete logical unit - why did you decide to submit
"parts" separately (just curious)?
Does this series affect executables' size, or cut build times only?
Thanks,
Aleksandar
> Since v1:
> - Addressed Laurent/Richard review comments
> - Removed 'exec: Drop redundant #ifdeffery'
> - Removed 'target: Restrict write_elfXX_note() handlers to system-mode'
>
> v1: https://www.mail-archive.com/qemu-devel@nongnu.org/msg688456.html
>
> 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.1
>
>
>
[-- Attachment #2: Type: text/html, Size: 3100 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 00/12] user-mode: Prune build dependencies (part 1)
2020-03-16 0:16 ` [PATCH v2 00/12] user-mode: Prune build dependencies (part 1) Aleksandar Markovic
@ 2020-03-16 7:45 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-03-16 7:45 UTC (permalink / raw)
To: Aleksandar Markovic
Cc: Eduardo Habkost, Cornelia Huck, Laurent Vivier,
qemu-devel@nongnu.org, qemu-s390x@nongnu.org, Alistair Francis,
Paolo Bonzini, Richard Henderson
On 3/16/20 1:16 AM, Aleksandar Markovic wrote:
>
>
> On Monday, March 16, 2020, Philippe Mathieu-Daudé <philmd@redhat.com
> <mailto:philmd@redhat.com>> wrote:
>
> This is the first part of a series reducing user-mode
> dependencies. By stripping out unused code, the build
> and testing time is reduced (as is space used by objects).
>
> Part 1:
> - reduce user-mode object list
> - remove some migration code from user-mode
> - remove cpu_get_crash_info()
>
>
> What is the purpose of dividing into parts? What is the content of other
> parts, and when do you plan to submit those? A series is usually a
> stand-alone and a complete logical unit - why did you decide to submit
> "parts" separately (just curious)?
Big series are hard to digest and scare reviewers. Peter told me twice
his rule of thumb is to split a series if it gets bigger than 20 patches
(and a patch if it modify more than 200 lines). He also recently said he
skipped review of a ~32 patches series of mine which was too big. I
don't want other reviewers to do that neither, so I try to split <=20.
Each series could be applied apart, except the last patch from the 3rd
part (qapi: Restrict code generated for user-mode) which is the one
really cutting down user-mode code by avoiding pulling in system-mode
symbols.
First part is generic, second part is QAPI-related, and third part
concerns hw/core/qdev-properties.c. Each part is covered by different
maintainers.
>
> Does this series affect executables' size, or cut build times only?
Both. It will saves us CI testing time, save time to distributions
packaging linux-user-only builds, produce smaller binaries.
>
> Thanks,
> Aleksandar
>
> Since v1:
> - Addressed Laurent/Richard review comments
> - Removed 'exec: Drop redundant #ifdeffery'
> - Removed 'target: Restrict write_elfXX_note() handlers to system-mode'
>
> v1:
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg688456.html
> <https://www.mail-archive.com/qemu-devel@nongnu.org/msg688456.html>
>
> 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.1
>
>
^ permalink raw reply [flat|nested] 18+ messages in thread