All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/11] accel: Allow targets to use Kconfig
@ 2020-06-05  7:39 Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 01/11] MAINTAINERS: Fix KVM path expansion glob Philippe Mathieu-Daudé
                   ` (10 more replies)
  0 siblings, 11 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  7:39 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Philippe Mathieu-Daudé, Richard Henderson

Missing review:
- 4/11 rules.mak: Add strequal() and startwith() and rules
- 5/11 rules.mak: Add base-arch() rule

This series include generic patches I took of the KVM/ARM
specific series which will follow.

- List orphan accelerators in MAINTAINERS
- Add accel/Kconfig
- Allow targets to use their how Kconfig

Since v4:
- Addressed rth review comments in rules.mak

Since v3:
- Fixed base-arch() rule (rth)
- Dropped 'semihosting: Make the feature depend of TCG'

Since v2:
- Addressed Thomas review comments
- Fixed problem when including TARGET instead of BASE_TARGET

Since v1:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg689024.html
- Drop HVF MAINTAINERS patch (merged elsewhere)
- Kconfig-select SEMIHOSTING (bonzini)
- Drop user-mode selection patches
- consider m68k/nios2/xtensa/riscv (pm215)
- reword Kconfig SEMIHOSTING description (pm215)
- reset some of rth R-b tags

Previous RFC for semihosting posted earlier:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg631218.html

Philippe Mathieu-Daudé (11):
  MAINTAINERS: Fix KVM path expansion glob
  MAINTAINERS: Add an 'overall' entry for accelerators
  MAINTAINERS: Add an entry for the HAX accelerator
  rules.mak: Add strequal() and startwith() and rules
  rules.mak: Add base-arch() rule
  Makefile: Remove dangerous EOL trailing backslash
  Makefile: Write MINIKCONF variables as one entry per line
  accel/Kconfig: Extract accel selectors into their own config
  accel/Kconfig: Add the TCG selector
  Makefile: Allow target-specific optional Kconfig
  accel/tcg: Add stub for probe_access()

 Makefile               | 15 +++++++++----
 rules.mak              | 49 ++++++++++++++++++++++++++++++++++++++++++
 accel/stubs/tcg-stub.c |  7 ++++++
 Kconfig.host           |  7 ------
 MAINTAINERS            | 19 +++++++++++++++-
 accel/Kconfig          |  9 ++++++++
 6 files changed, 94 insertions(+), 12 deletions(-)
 create mode 100644 accel/Kconfig

-- 
2.21.3



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

* [PATCH v5 01/11] MAINTAINERS: Fix KVM path expansion glob
  2020-06-05  7:39 [PATCH v5 00/11] accel: Allow targets to use Kconfig Philippe Mathieu-Daudé
@ 2020-06-05  7:39 ` Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 02/11] MAINTAINERS: Add an 'overall' entry for accelerators Philippe Mathieu-Daudé
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  7:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Thomas Huth, Richard Henderson,
	Philippe Mathieu-Daudé,
	Richard Henderson

The KVM files has been moved from target-ARCH to the target/ARCH/
folder in commit fcf5ef2a. Fix the pathname expansion.

Fixes: fcf5ef2a ("Move target-* CPU file into a target/ folder")
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 3e7d9cb0a5..948790b433 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -361,7 +361,7 @@ Overall KVM CPUs
 M: Paolo Bonzini <pbonzini@redhat.com>
 L: kvm@vger.kernel.org
 S: Supported
-F: */kvm.*
+F: */*/kvm*
 F: accel/kvm/
 F: accel/stubs/kvm-stub.c
 F: include/hw/kvm/
-- 
2.21.3



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

* [PATCH v5 02/11] MAINTAINERS: Add an 'overall' entry for accelerators
  2020-06-05  7:39 [PATCH v5 00/11] accel: Allow targets to use Kconfig Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 01/11] MAINTAINERS: Fix KVM path expansion glob Philippe Mathieu-Daudé
@ 2020-06-05  7:39 ` Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 03/11] MAINTAINERS: Add an entry for the HAX accelerator Philippe Mathieu-Daudé
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  7:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Richard Henderson, Philippe Mathieu-Daudé,
	Richard Henderson

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Cc: Paolo Bonzini <pbonzini@redhat.com>

v2: Cover accel/accel.c & accel/Makefile.objs (thuth)
---
 MAINTAINERS | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 948790b433..f725c12161 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -415,6 +415,17 @@ S: Supported
 F: target/i386/kvm.c
 F: scripts/kvm/vmxcap
 
+Guest CPU Cores (other accelerators)
+------------------------------------
+Overall
+M: Richard Henderson <rth@twiddle.net>
+R: Paolo Bonzini <pbonzini@redhat.com>
+S: Maintained
+F: include/sysemu/accel.h
+F: accel/accel.c
+F: accel/Makefile.objs
+F: accel/stubs/Makefile.objs
+
 X86 HVF CPUs
 M: Roman Bolshakov <r.bolshakov@yadro.com>
 S: Maintained
-- 
2.21.3



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

* [PATCH v5 03/11] MAINTAINERS: Add an entry for the HAX accelerator
  2020-06-05  7:39 [PATCH v5 00/11] accel: Allow targets to use Kconfig Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 01/11] MAINTAINERS: Fix KVM path expansion glob Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 02/11] MAINTAINERS: Add an 'overall' entry for accelerators Philippe Mathieu-Daudé
@ 2020-06-05  7:39 ` Philippe Mathieu-Daudé
  2020-06-05  8:35   ` Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 04/11] rules.mak: Add strequal() and startwith() and rules Philippe Mathieu-Daudé
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  7:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: Vincent Palatin, Sergio Andres Gomez Del Real, Wenchao Wang,
	haxm-team, Colin Xu, Yu Ning, Paolo Bonzini, Tao Wu,
	Philippe Mathieu-Daudé,
	Richard Henderson

Nobody replied since the first time [*] that patch was
posted, so mark HAX as orphan.

[*] https://mid.mail-archive.com/20200316120049.11225-4-philmd@redhat.com

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
This patch has been posted 5 times, first time more than 2 months ago:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg689009.html

Cc: Sergio Andres Gomez Del Real <sergio.g.delreal@gmail.com>
Cc: Vincent Palatin <vpalatin@chromium.org>
Cc: Yu Ning <yu.ning@intel.com>
Cc: Tao Wu <lepton@google.com>
Cc: haxm-team@intel.com
Cc: Colin Xu <colin.xu@intel.com>
Cc: Wenchao Wang <wenchao.wang@intel.com>
Invalid: Hang Yuan <hang.yuan@intel.com>
Invalid: David Chou <david.j.chou@intel.com>
---
 MAINTAINERS | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index f725c12161..05d7210204 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -426,6 +426,12 @@ F: accel/accel.c
 F: accel/Makefile.objs
 F: accel/stubs/Makefile.objs
 
+HAX Accelerator
+S: Orphan
+F: accel/stubs/hax-stub.c
+F: target/i386/hax-all.c
+F: include/sysemu/hax.h
+
 X86 HVF CPUs
 M: Roman Bolshakov <r.bolshakov@yadro.com>
 S: Maintained
-- 
2.21.3



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

* [PATCH v5 04/11] rules.mak: Add strequal() and startwith() and rules
  2020-06-05  7:39 [PATCH v5 00/11] accel: Allow targets to use Kconfig Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2020-06-05  7:39 ` [PATCH v5 03/11] MAINTAINERS: Add an entry for the HAX accelerator Philippe Mathieu-Daudé
@ 2020-06-05  7:39 ` Philippe Mathieu-Daudé
  2020-06-05  7:42   ` Philippe Mathieu-Daudé
  2020-06-05 12:48   ` Markus Armbruster
  2020-06-05  7:39 ` [PATCH v5 05/11] rules.mak: Add base-arch() rule Philippe Mathieu-Daudé
                   ` (6 subsequent siblings)
  10 siblings, 2 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  7:39 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Philippe Mathieu-Daudé, Richard Henderson

Add a rule to test if two strings are equal,
and another to test if a string starts with a substring,

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 rules.mak | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/rules.mak b/rules.mak
index 694865b63e..ccc1c49604 100644
--- a/rules.mak
+++ b/rules.mak
@@ -191,6 +191,20 @@ ne = $(if $(subst $2,,$1)$(subst $1,,$2),y,n)
 isempty = $(if $1,n,y)
 notempty = $(if $1,y,n)
 
+# strequal
+# Usage: $(call strequal, str1, str2)
+#
+# This macro returns a string (TRUE) when @str1 and @str2
+# are equal, else returns the empty string (FALSE)
+strequal = $(if $(subst $2,,$1)$(subst $1,,$2),,$1)
+
+# startwith
+# Usage: $(call startwith, startstr, fullstr)
+#
+# This macro returns a string (TRUE) when @fullstr starts with
+# @startstr, else returns the empty string (FALSE)
+startwith = $(findstring :$1,:$2)
+
 # Generate files with tracetool
 TRACETOOL=$(PYTHON) $(SRC_PATH)/scripts/tracetool.py
 
-- 
2.21.3



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

* [PATCH v5 05/11] rules.mak: Add base-arch() rule
  2020-06-05  7:39 [PATCH v5 00/11] accel: Allow targets to use Kconfig Philippe Mathieu-Daudé
                   ` (3 preceding siblings ...)
  2020-06-05  7:39 ` [PATCH v5 04/11] rules.mak: Add strequal() and startwith() and rules Philippe Mathieu-Daudé
@ 2020-06-05  7:39 ` Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 06/11] Makefile: Remove dangerous EOL trailing backslash Philippe Mathieu-Daudé
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  7:39 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Philippe Mathieu-Daudé, Richard Henderson

Add a rule to return the base architecture for a QEMU target.

The current list of TARGET_BASE_ARCH is:

  $ git grep  TARGET_BASE_ARCH configure
  configure:7785:TARGET_BASE_ARCH=""
  configure:7795:    TARGET_BASE_ARCH=i386
  configure:7813:    TARGET_BASE_ARCH=arm
  configure:7846:    TARGET_BASE_ARCH=mips
  configure:7854:    TARGET_BASE_ARCH=mips
  configure:7864:    TARGET_BASE_ARCH=openrisc
  configure:7871:    TARGET_BASE_ARCH=ppc
  configure:7879:    TARGET_BASE_ARCH=ppc
  configure:7887:    TARGET_BASE_ARCH=ppc
  configure:7894:    TARGET_BASE_ARCH=riscv
  configure:7900:    TARGET_BASE_ARCH=riscv
  configure:7920:    TARGET_BASE_ARCH=sparc
  configure:7925:    TARGET_BASE_ARCH=sparc

The rule can be tested calling 'print-base-arch-$TARGET':

  $ make \
      print-base-arch-openrisc \
      print-base-arch-aarch64_be \
      print-base-arch-x86_64 \
      print-base-arch-mips64el \
      print-base-arch-ppc64 \
      print-base-arch-riscv64
  openrisc=openrisc
  aarch64_be=arm
  x86_64=i386
  mips64el=mips
  ppc64=ppc
  riscv64=riscv

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v5:
- risc -> riscv (rth)
- use strequal (rth)
- add microblaze/sh4/xtensa
v4:
- use startwith()
- fix openrisc (rth)
---
 rules.mak | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/rules.mak b/rules.mak
index ccc1c49604..907f9aca91 100644
--- a/rules.mak
+++ b/rules.mak
@@ -452,3 +452,38 @@ atomic = $(eval $1: $(call sentinel,$1) ; @:) \
 
 print-%:
 	@echo '$*=$($*)'
+
+# base-arch
+# Usage: $(call base-arch, target)
+#
+# @target: the target architecture.
+#
+# This macro will return the base architecture for a target.
+#
+# As example, $(call base-arch, aarch64) returns 'arm'.
+base-arch = $(strip \
+		$(if $(call startwith,aarch64,$1),arm,\
+		  $(if $(call startwith,arm,$1),arm,\
+		    $(if $(call startwith,microblaze,$1),microblaze,\
+		      $(if $(call startwith,mips,$1),mips,\
+		        $(if $(call startwith,ppc,$1),ppc,\
+		          $(if $(call startwith,riscv,$1),riscv,\
+		            $(if $(call startwith,sh4,$1),sh4,\
+		              $(if $(call startwith,sparc,$1),sparc,\
+		                $(if $(call startwith,xtensa,$1),xtensa,\
+		                  $(if $(call strequal,x86_64,$1),i386,\
+		                    $1\
+		                   )\
+		                 )\
+		               )\
+		             )\
+		           )\
+		         )\
+		       )\
+		     )\
+		   )\
+		 )\
+		)
+
+print-base-arch-%:
+	@echo '$*=$(call base-arch,$*)'
-- 
2.21.3



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

* [PATCH v5 06/11] Makefile: Remove dangerous EOL trailing backslash
  2020-06-05  7:39 [PATCH v5 00/11] accel: Allow targets to use Kconfig Philippe Mathieu-Daudé
                   ` (4 preceding siblings ...)
  2020-06-05  7:39 ` [PATCH v5 05/11] rules.mak: Add base-arch() rule Philippe Mathieu-Daudé
@ 2020-06-05  7:39 ` Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 07/11] Makefile: Write MINIKCONF variables as one entry per line Philippe Mathieu-Daudé
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  7:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Thomas Huth, Philippe Mathieu-Daudé,
	Alistair Francis, Richard Henderson

One might get caught trying to understand unexpected Makefile
behavior. Trailing backslash can help to split very long lines,
but are rather dangerous when nothing follow. Preserve other
developers debugging time by removing this one.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
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 40e4f7677b..6c9d718b2c 100644
--- a/Makefile
+++ b/Makefile
@@ -420,7 +420,7 @@ MINIKCONF_ARGS = \
 
 MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host $(SRC_PATH)/hw/Kconfig
 MINIKCONF_DEPS = $(MINIKCONF_INPUTS) $(wildcard $(SRC_PATH)/hw/*/Kconfig)
-MINIKCONF = $(PYTHON) $(SRC_PATH)/scripts/minikconf.py \
+MINIKCONF = $(PYTHON) $(SRC_PATH)/scripts/minikconf.py
 
 $(SUBDIR_DEVICES_MAK): %/config-devices.mak: default-configs/%.mak $(MINIKCONF_DEPS) $(BUILD_DIR)/config-host.mak
 	$(call quiet-command, $(MINIKCONF) $(MINIKCONF_ARGS) > $@.tmp, "GEN", "$@.tmp")
-- 
2.21.3



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

* [PATCH v5 07/11] Makefile: Write MINIKCONF variables as one entry per line
  2020-06-05  7:39 [PATCH v5 00/11] accel: Allow targets to use Kconfig Philippe Mathieu-Daudé
                   ` (5 preceding siblings ...)
  2020-06-05  7:39 ` [PATCH v5 06/11] Makefile: Remove dangerous EOL trailing backslash Philippe Mathieu-Daudé
@ 2020-06-05  7:39 ` Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 08/11] accel/Kconfig: Extract accel selectors into their own config Philippe Mathieu-Daudé
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  7:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Richard Henderson, Philippe Mathieu-Daudé,
	Richard Henderson

Having one entry per line helps reviews/refactors. As we are
going to modify the MINIKCONF variables, split them now to
ease further review.

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

diff --git a/Makefile b/Makefile
index 6c9d718b2c..7666f81e8a 100644
--- a/Makefile
+++ b/Makefile
@@ -418,12 +418,15 @@ MINIKCONF_ARGS = \
     CONFIG_LINUX=$(CONFIG_LINUX) \
     CONFIG_PVRDMA=$(CONFIG_PVRDMA)
 
-MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host $(SRC_PATH)/hw/Kconfig
-MINIKCONF_DEPS = $(MINIKCONF_INPUTS) $(wildcard $(SRC_PATH)/hw/*/Kconfig)
+MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host \
+                   $(SRC_PATH)/hw/Kconfig
+MINIKCONF_DEPS = $(MINIKCONF_INPUTS) \
+                 $(wildcard $(SRC_PATH)/hw/*/Kconfig)
 MINIKCONF = $(PYTHON) $(SRC_PATH)/scripts/minikconf.py
 
 $(SUBDIR_DEVICES_MAK): %/config-devices.mak: default-configs/%.mak $(MINIKCONF_DEPS) $(BUILD_DIR)/config-host.mak
-	$(call quiet-command, $(MINIKCONF) $(MINIKCONF_ARGS) > $@.tmp, "GEN", "$@.tmp")
+	$(call quiet-command, $(MINIKCONF) $(MINIKCONF_ARGS) \
+		> $@.tmp, "GEN", "$@.tmp")
 	$(call quiet-command, if test -f $@; then \
 	  if cmp -s $@.old $@; then \
 	    mv $@.tmp $@; \
-- 
2.21.3



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

* [PATCH v5 08/11] accel/Kconfig: Extract accel selectors into their own config
  2020-06-05  7:39 [PATCH v5 00/11] accel: Allow targets to use Kconfig Philippe Mathieu-Daudé
                   ` (6 preceding siblings ...)
  2020-06-05  7:39 ` [PATCH v5 07/11] Makefile: Write MINIKCONF variables as one entry per line Philippe Mathieu-Daudé
@ 2020-06-05  7:39 ` Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 09/11] accel/Kconfig: Add the TCG selector Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  7:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Richard Henderson, Philippe Mathieu-Daudé,
	Richard Henderson

Move the accel selectors from the global Kconfig.host to their
own Kconfig file.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 Makefile      | 1 +
 Kconfig.host  | 7 -------
 accel/Kconfig | 6 ++++++
 3 files changed, 7 insertions(+), 7 deletions(-)
 create mode 100644 accel/Kconfig

diff --git a/Makefile b/Makefile
index 7666f81e8a..648757f79a 100644
--- a/Makefile
+++ b/Makefile
@@ -419,6 +419,7 @@ MINIKCONF_ARGS = \
     CONFIG_PVRDMA=$(CONFIG_PVRDMA)
 
 MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host \
+                   $(SRC_PATH)/accel/Kconfig \
                    $(SRC_PATH)/hw/Kconfig
 MINIKCONF_DEPS = $(MINIKCONF_INPUTS) \
                  $(wildcard $(SRC_PATH)/hw/*/Kconfig)
diff --git a/Kconfig.host b/Kconfig.host
index 55136e037d..a6d871c399 100644
--- a/Kconfig.host
+++ b/Kconfig.host
@@ -2,9 +2,6 @@
 # down to Kconfig.  See also MINIKCONF_ARGS in the Makefile:
 # these two need to be kept in sync.
 
-config KVM
-    bool
-
 config LINUX
     bool
 
@@ -31,10 +28,6 @@ config VHOST_KERNEL
     bool
     select VHOST
 
-config XEN
-    bool
-    select FSDEV_9P if VIRTFS
-
 config VIRTFS
     bool
 
diff --git a/accel/Kconfig b/accel/Kconfig
new file mode 100644
index 0000000000..c21802bb49
--- /dev/null
+++ b/accel/Kconfig
@@ -0,0 +1,6 @@
+config KVM
+    bool
+
+config XEN
+    bool
+    select FSDEV_9P if VIRTFS
-- 
2.21.3



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

* [PATCH v5 09/11] accel/Kconfig: Add the TCG selector
  2020-06-05  7:39 [PATCH v5 00/11] accel: Allow targets to use Kconfig Philippe Mathieu-Daudé
                   ` (7 preceding siblings ...)
  2020-06-05  7:39 ` [PATCH v5 08/11] accel/Kconfig: Extract accel selectors into their own config Philippe Mathieu-Daudé
@ 2020-06-05  7:39 ` Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 10/11] Makefile: Allow target-specific optional Kconfig Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 11/11] accel/tcg: Add stub for probe_access() Philippe Mathieu-Daudé
  10 siblings, 0 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  7:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Richard Henderson, Philippe Mathieu-Daudé,
	Richard Henderson

Expose the CONFIG_TCG selector to let minikconf.py uses it.

When building with --disable-tcg build, this helps to deselect
devices that are TCG-dependent.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 Makefile      | 1 +
 accel/Kconfig | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/Makefile b/Makefile
index 648757f79a..f8a45e1379 100644
--- a/Makefile
+++ b/Makefile
@@ -405,6 +405,7 @@ endif
 MINIKCONF_ARGS = \
     $(CONFIG_MINIKCONF_MODE) \
     $@ $*/config-devices.mak.d $< $(MINIKCONF_INPUTS) \
+    CONFIG_TCG=$(CONFIG_TCG) \
     CONFIG_KVM=$(CONFIG_KVM) \
     CONFIG_SPICE=$(CONFIG_SPICE) \
     CONFIG_IVSHMEM=$(CONFIG_IVSHMEM) \
diff --git a/accel/Kconfig b/accel/Kconfig
index c21802bb49..2ad94a3839 100644
--- a/accel/Kconfig
+++ b/accel/Kconfig
@@ -1,3 +1,6 @@
+config TCG
+    bool
+
 config KVM
     bool
 
-- 
2.21.3



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

* [PATCH v5 10/11] Makefile: Allow target-specific optional Kconfig
  2020-06-05  7:39 [PATCH v5 00/11] accel: Allow targets to use Kconfig Philippe Mathieu-Daudé
                   ` (8 preceding siblings ...)
  2020-06-05  7:39 ` [PATCH v5 09/11] accel/Kconfig: Add the TCG selector Philippe Mathieu-Daudé
@ 2020-06-05  7:39 ` Philippe Mathieu-Daudé
  2020-06-05  7:39 ` [PATCH v5 11/11] accel/tcg: Add stub for probe_access() Philippe Mathieu-Daudé
  10 siblings, 0 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  7:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Richard Henderson, Philippe Mathieu-Daudé,
	Richard Henderson

Allow use of target-specific Kconfig file.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v3: Use base-arch() to include TARGET_BASE_ARCH/Kconfig
---
 Makefile | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index f8a45e1379..d5009cd304 100644
--- a/Makefile
+++ b/Makefile
@@ -423,11 +423,13 @@ MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host \
                    $(SRC_PATH)/accel/Kconfig \
                    $(SRC_PATH)/hw/Kconfig
 MINIKCONF_DEPS = $(MINIKCONF_INPUTS) \
-                 $(wildcard $(SRC_PATH)/hw/*/Kconfig)
+                 $(wildcard $(SRC_PATH)/hw/*/Kconfig) \
+                 $(wildcard $(SRC_PATH)/target/*/Kconfig)
 MINIKCONF = $(PYTHON) $(SRC_PATH)/scripts/minikconf.py
 
 $(SUBDIR_DEVICES_MAK): %/config-devices.mak: default-configs/%.mak $(MINIKCONF_DEPS) $(BUILD_DIR)/config-host.mak
 	$(call quiet-command, $(MINIKCONF) $(MINIKCONF_ARGS) \
+		$(wildcard $(SRC_PATH)/target/$(call base-arch, $(firstword $(subst -, ,$@)))/Kconfig) \
 		> $@.tmp, "GEN", "$@.tmp")
 	$(call quiet-command, if test -f $@; then \
 	  if cmp -s $@.old $@; then \
-- 
2.21.3



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

* [PATCH v5 11/11] accel/tcg: Add stub for probe_access()
  2020-06-05  7:39 [PATCH v5 00/11] accel: Allow targets to use Kconfig Philippe Mathieu-Daudé
                   ` (9 preceding siblings ...)
  2020-06-05  7:39 ` [PATCH v5 10/11] Makefile: Allow target-specific optional Kconfig Philippe Mathieu-Daudé
@ 2020-06-05  7:39 ` Philippe Mathieu-Daudé
  2020-06-05  7:45   ` David Hildenbrand
  10 siblings, 1 reply; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  7:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: David Hildenbrand, Richard Henderson, Philippe Mathieu-Daudé,
	Emilio G . Cota, Paolo Bonzini, Alex Bennée,
	Richard Henderson

From: Philippe Mathieu-Daudé <f4bug@amsat.org>

The TCG helpers where added in b92e5a22ec3 in softmmu_template.h.
probe_write() was added in there in 3b4afc9e75a to be moved out
to accel/tcg/cputlb.c in 3b08f0a9254, and was later refactored
as probe_access() in c25c283df0f.
Since it is a TCG specific helper, add a stub to avoid failures
when building without TCG, such:

  target/arm/helper.o: In function `probe_read':
  include/exec/exec-all.h:362: undefined reference to `probe_access'

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
Cc: Richard Henderson <rth@twiddle.net>
Cc: Emilio G. Cota <cota@braap.org>
Cc: Alex Bennée <alex.bennee@linaro.org>
Cc: David Hildenbrand <david@redhat.com>
---
 accel/stubs/tcg-stub.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/accel/stubs/tcg-stub.c b/accel/stubs/tcg-stub.c
index 677191a69c..e4bbf997aa 100644
--- a/accel/stubs/tcg-stub.c
+++ b/accel/stubs/tcg-stub.c
@@ -22,3 +22,10 @@ void tb_flush(CPUState *cpu)
 void tlb_set_dirty(CPUState *cpu, target_ulong vaddr)
 {
 }
+
+void *probe_access(CPUArchState *env, target_ulong addr, int size,
+                   MMUAccessType access_type, int mmu_idx, uintptr_t retaddr)
+{
+     /* Handled by hardware accelerator. */
+     g_assert_not_reached();
+}
-- 
2.21.3



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

* Re: [PATCH v5 04/11] rules.mak: Add strequal() and startwith() and rules
  2020-06-05  7:39 ` [PATCH v5 04/11] rules.mak: Add strequal() and startwith() and rules Philippe Mathieu-Daudé
@ 2020-06-05  7:42   ` Philippe Mathieu-Daudé
  2020-06-05 12:48   ` Markus Armbruster
  1 sibling, 0 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  7:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Richard Henderson

Err extra 'and' in patch subject, should be:
"rules.mak: Add strequal() and startwith() rules"

I can respin the whole if it is easier for the maintainer.

On 6/5/20 9:39 AM, Philippe Mathieu-Daudé wrote:
> Add a rule to test if two strings are equal,
> and another to test if a string starts with a substring,
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  rules.mak | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/rules.mak b/rules.mak
> index 694865b63e..ccc1c49604 100644
> --- a/rules.mak
> +++ b/rules.mak
> @@ -191,6 +191,20 @@ ne = $(if $(subst $2,,$1)$(subst $1,,$2),y,n)
>  isempty = $(if $1,n,y)
>  notempty = $(if $1,y,n)
>  
> +# strequal
> +# Usage: $(call strequal, str1, str2)
> +#
> +# This macro returns a string (TRUE) when @str1 and @str2
> +# are equal, else returns the empty string (FALSE)
> +strequal = $(if $(subst $2,,$1)$(subst $1,,$2),,$1)
> +
> +# startwith
> +# Usage: $(call startwith, startstr, fullstr)
> +#
> +# This macro returns a string (TRUE) when @fullstr starts with
> +# @startstr, else returns the empty string (FALSE)
> +startwith = $(findstring :$1,:$2)
> +
>  # Generate files with tracetool
>  TRACETOOL=$(PYTHON) $(SRC_PATH)/scripts/tracetool.py
>  
> 



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

* Re: [PATCH v5 11/11] accel/tcg: Add stub for probe_access()
  2020-06-05  7:39 ` [PATCH v5 11/11] accel/tcg: Add stub for probe_access() Philippe Mathieu-Daudé
@ 2020-06-05  7:45   ` David Hildenbrand
  0 siblings, 0 replies; 17+ messages in thread
From: David Hildenbrand @ 2020-06-05  7:45 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Richard Henderson, Philippe Mathieu-Daudé,
	Emilio G . Cota, Paolo Bonzini, Alex Bennée,
	Richard Henderson

On 05.06.20 09:39, Philippe Mathieu-Daudé wrote:
> From: Philippe Mathieu-Daudé <f4bug@amsat.org>
> 
> The TCG helpers where added in b92e5a22ec3 in softmmu_template.h.
> probe_write() was added in there in 3b4afc9e75a to be moved out
> to accel/tcg/cputlb.c in 3b08f0a9254, and was later refactored
> as probe_access() in c25c283df0f.
> Since it is a TCG specific helper, add a stub to avoid failures
> when building without TCG, such:
> 
>   target/arm/helper.o: In function `probe_read':
>   include/exec/exec-all.h:362: undefined reference to `probe_access'
> 
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> Cc: Richard Henderson <rth@twiddle.net>
> Cc: Emilio G. Cota <cota@braap.org>
> Cc: Alex Bennée <alex.bennee@linaro.org>
> Cc: David Hildenbrand <david@redhat.com>
> ---
>  accel/stubs/tcg-stub.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/accel/stubs/tcg-stub.c b/accel/stubs/tcg-stub.c
> index 677191a69c..e4bbf997aa 100644
> --- a/accel/stubs/tcg-stub.c
> +++ b/accel/stubs/tcg-stub.c
> @@ -22,3 +22,10 @@ void tb_flush(CPUState *cpu)
>  void tlb_set_dirty(CPUState *cpu, target_ulong vaddr)
>  {
>  }
> +
> +void *probe_access(CPUArchState *env, target_ulong addr, int size,
> +                   MMUAccessType access_type, int mmu_idx, uintptr_t retaddr)
> +{
> +     /* Handled by hardware accelerator. */
> +     g_assert_not_reached();
> +}
> 

Reviewed-by: David Hildenbrand <david@redhat.com>

-- 
Thanks,

David / dhildenb



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

* Re: [PATCH v5 03/11] MAINTAINERS: Add an entry for the HAX accelerator
  2020-06-05  7:39 ` [PATCH v5 03/11] MAINTAINERS: Add an entry for the HAX accelerator Philippe Mathieu-Daudé
@ 2020-06-05  8:35   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05  8:35 UTC (permalink / raw)
  To: qemu-devel
  Cc: Vincent Palatin, Sergio Andres Gomez Del Real, Wenchao Wang,
	haxm-team, Colin Xu, Yu Ning, Paolo Bonzini, Richard Henderson,
	Tao Wu

On 6/5/20 9:39 AM, Philippe Mathieu-Daudé wrote:
> Nobody replied since the first time [*] that patch was
> posted, so mark HAX as orphan.
> 
> [*] https://mid.mail-archive.com/20200316120049.11225-4-philmd@redhat.com
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> This patch has been posted 5 times, first time more than 2 months ago:
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg689009.html
> 
> Cc: Sergio Andres Gomez Del Real <sergio.g.delreal@gmail.com>
> Cc: Vincent Palatin <vpalatin@chromium.org>
> Cc: Yu Ning <yu.ning@intel.com>

FYI Yu Ning email is also invalid.

> Cc: Tao Wu <lepton@google.com>
> Cc: haxm-team@intel.com
> Cc: Colin Xu <colin.xu@intel.com>
> Cc: Wenchao Wang <wenchao.wang@intel.com>
> Invalid: Hang Yuan <hang.yuan@intel.com>
> Invalid: David Chou <david.j.chou@intel.com>
> ---
>  MAINTAINERS | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index f725c12161..05d7210204 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -426,6 +426,12 @@ F: accel/accel.c
>  F: accel/Makefile.objs
>  F: accel/stubs/Makefile.objs
>  
> +HAX Accelerator
> +S: Orphan
> +F: accel/stubs/hax-stub.c
> +F: target/i386/hax-all.c
> +F: include/sysemu/hax.h
> +
>  X86 HVF CPUs
>  M: Roman Bolshakov <r.bolshakov@yadro.com>
>  S: Maintained
> 



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

* Re: [PATCH v5 04/11] rules.mak: Add strequal() and startwith() and rules
  2020-06-05  7:39 ` [PATCH v5 04/11] rules.mak: Add strequal() and startwith() and rules Philippe Mathieu-Daudé
  2020-06-05  7:42   ` Philippe Mathieu-Daudé
@ 2020-06-05 12:48   ` Markus Armbruster
  2020-06-05 12:53     ` Philippe Mathieu-Daudé
  1 sibling, 1 reply; 17+ messages in thread
From: Markus Armbruster @ 2020-06-05 12:48 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé; +Cc: Paolo Bonzini, qemu-devel, Richard Henderson

Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> Add a rule to test if two strings are equal,
> and another to test if a string starts with a substring,
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  rules.mak | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>
> diff --git a/rules.mak b/rules.mak
> index 694865b63e..ccc1c49604 100644
> --- a/rules.mak
> +++ b/rules.mak
> @@ -191,6 +191,20 @@ ne = $(if $(subst $2,,$1)$(subst $1,,$2),y,n)
>  isempty = $(if $1,n,y)
>  notempty = $(if $1,y,n)
>  
> +# strequal
> +# Usage: $(call strequal, str1, str2)
> +#
> +# This macro returns a string (TRUE) when @str1 and @str2
> +# are equal, else returns the empty string (FALSE)
> +strequal = $(if $(subst $2,,$1)$(subst $1,,$2),,$1)
> +
> +# startwith
> +# Usage: $(call startwith, startstr, fullstr)
> +#
> +# This macro returns a string (TRUE) when @fullstr starts with
> +# @startstr, else returns the empty string (FALSE)
> +startwith = $(findstring :$1,:$2)
> +
>  # Generate files with tracetool
>  TRACETOOL=$(PYTHON) $(SRC_PATH)/scripts/tracetool.py

Should this be spelled startswith?



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

* Re: [PATCH v5 04/11] rules.mak: Add strequal() and startwith() and rules
  2020-06-05 12:48   ` Markus Armbruster
@ 2020-06-05 12:53     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-05 12:53 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: Paolo Bonzini, qemu-devel, Richard Henderson

On 6/5/20 2:48 PM, Markus Armbruster wrote:
> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> 
>> Add a rule to test if two strings are equal,
>> and another to test if a string starts with a substring,
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>>  rules.mak | 14 ++++++++++++++
>>  1 file changed, 14 insertions(+)
>>
>> diff --git a/rules.mak b/rules.mak
>> index 694865b63e..ccc1c49604 100644
>> --- a/rules.mak
>> +++ b/rules.mak
>> @@ -191,6 +191,20 @@ ne = $(if $(subst $2,,$1)$(subst $1,,$2),y,n)
>>  isempty = $(if $1,n,y)
>>  notempty = $(if $1,y,n)
>>  
>> +# strequal
>> +# Usage: $(call strequal, str1, str2)
>> +#
>> +# This macro returns a string (TRUE) when @str1 and @str2
>> +# are equal, else returns the empty string (FALSE)
>> +strequal = $(if $(subst $2,,$1)$(subst $1,,$2),,$1)
>> +
>> +# startwith
>> +# Usage: $(call startwith, startstr, fullstr)
>> +#
>> +# This macro returns a string (TRUE) when @fullstr starts with
>> +# @startstr, else returns the empty string (FALSE)
>> +startwith = $(findstring :$1,:$2)
>> +
>>  # Generate files with tracetool
>>  TRACETOOL=$(PYTHON) $(SRC_PATH)/scripts/tracetool.py
> 
> Should this be spelled startswith?

Indeed... Does that mean I can respin with your R-b here and in the next
patch? :P



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

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

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-05  7:39 [PATCH v5 00/11] accel: Allow targets to use Kconfig Philippe Mathieu-Daudé
2020-06-05  7:39 ` [PATCH v5 01/11] MAINTAINERS: Fix KVM path expansion glob Philippe Mathieu-Daudé
2020-06-05  7:39 ` [PATCH v5 02/11] MAINTAINERS: Add an 'overall' entry for accelerators Philippe Mathieu-Daudé
2020-06-05  7:39 ` [PATCH v5 03/11] MAINTAINERS: Add an entry for the HAX accelerator Philippe Mathieu-Daudé
2020-06-05  8:35   ` Philippe Mathieu-Daudé
2020-06-05  7:39 ` [PATCH v5 04/11] rules.mak: Add strequal() and startwith() and rules Philippe Mathieu-Daudé
2020-06-05  7:42   ` Philippe Mathieu-Daudé
2020-06-05 12:48   ` Markus Armbruster
2020-06-05 12:53     ` Philippe Mathieu-Daudé
2020-06-05  7:39 ` [PATCH v5 05/11] rules.mak: Add base-arch() rule Philippe Mathieu-Daudé
2020-06-05  7:39 ` [PATCH v5 06/11] Makefile: Remove dangerous EOL trailing backslash Philippe Mathieu-Daudé
2020-06-05  7:39 ` [PATCH v5 07/11] Makefile: Write MINIKCONF variables as one entry per line Philippe Mathieu-Daudé
2020-06-05  7:39 ` [PATCH v5 08/11] accel/Kconfig: Extract accel selectors into their own config Philippe Mathieu-Daudé
2020-06-05  7:39 ` [PATCH v5 09/11] accel/Kconfig: Add the TCG selector Philippe Mathieu-Daudé
2020-06-05  7:39 ` [PATCH v5 10/11] Makefile: Allow target-specific optional Kconfig Philippe Mathieu-Daudé
2020-06-05  7:39 ` [PATCH v5 11/11] accel/tcg: Add stub for probe_access() Philippe Mathieu-Daudé
2020-06-05  7:45   ` David Hildenbrand

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.