[PATCH 12/26] deprecation: don't enable TCG plugins by default with TCI

Alex Bennée posted 26 patches 2 months, 2 weeks ago
[PATCH 12/26] deprecation: don't enable TCG plugins by default with TCI
Posted by Alex Bennée 2 months, 2 weeks ago
The softmmu memory instrumentation test sees so many more accesses
than a normal translated host and its really not worth fixing up. Lets
deprecate this odd configuration and save on the CI cycles.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 docs/about/deprecated.rst |  8 ++++++++
 configure                 | 11 +++++++++--
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index f7c7c33d39..5aa2e35314 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -196,6 +196,14 @@ benefits from having plenty of host memory it seems reasonable to
 encourage users to use 64 bit builds of QEMU for analysis work
 whatever targets they are instrumenting.
 
+TCG Plugin support not enabled by default with TCI (since 9.2)
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+While the TCG interpreter can interpret the TCG ops used by plugins it
+is going to be so much slower it wouldn't make sense for any serious
+instrumentation. Due to implementation differences there will also be
+anomalies in things like memory instrumentation.
+
 System emulator CPUs
 --------------------
 
diff --git a/configure b/configure
index 14581c1b9a..1bda6b3a3b 100755
--- a/configure
+++ b/configure
@@ -629,6 +629,9 @@ meson_option_parse() {
     exit 1
   fi
 }
+has_meson_option() {
+    test "${meson_options#*"$1"}" != "$meson_options"
+}
 
 meson_add_machine_file() {
   if test "$cross_compile" = "yes"; then
@@ -1048,8 +1051,12 @@ if test "$static" = "yes" ; then
   plugins="no"
 fi
 if test "$plugins" != "no" && test $host_bits -eq 64; then
-  plugins=yes
-  subdirs="$subdirs contrib/plugins"
+    if has_meson_option "-Dtcg_interpreter=true"; then
+        plugins="no"
+    else
+        plugins=yes
+        subdirs="$subdirs contrib/plugins"
+    fi
 fi
 
 cat > $TMPC << EOF
-- 
2.39.2


Re: [PATCH 12/26] deprecation: don't enable TCG plugins by default with TCI
Posted by Pierrick Bouvier 2 months, 2 weeks ago
On 9/10/24 07:07, Alex Bennée wrote:
> The softmmu memory instrumentation test sees so many more accesses
> than a normal translated host and its really not worth fixing up. Lets
> deprecate this odd configuration and save on the CI cycles.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   docs/about/deprecated.rst |  8 ++++++++
>   configure                 | 11 +++++++++--
>   2 files changed, 17 insertions(+), 2 deletions(-)
> 
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index f7c7c33d39..5aa2e35314 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -196,6 +196,14 @@ benefits from having plenty of host memory it seems reasonable to
>   encourage users to use 64 bit builds of QEMU for analysis work
>   whatever targets they are instrumenting.
>   
> +TCG Plugin support not enabled by default with TCI (since 9.2)
> +''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
> +
> +While the TCG interpreter can interpret the TCG ops used by plugins it
> +is going to be so much slower it wouldn't make sense for any serious
> +instrumentation. Due to implementation differences there will also be
> +anomalies in things like memory instrumentation.
> +
>   System emulator CPUs
>   --------------------
>   
> diff --git a/configure b/configure
> index 14581c1b9a..1bda6b3a3b 100755
> --- a/configure
> +++ b/configure
> @@ -629,6 +629,9 @@ meson_option_parse() {
>       exit 1
>     fi
>   }
> +has_meson_option() {
> +    test "${meson_options#*"$1"}" != "$meson_options"
> +}
>   
>   meson_add_machine_file() {
>     if test "$cross_compile" = "yes"; then
> @@ -1048,8 +1051,12 @@ if test "$static" = "yes" ; then
>     plugins="no"
>   fi
>   if test "$plugins" != "no" && test $host_bits -eq 64; then
> -  plugins=yes
> -  subdirs="$subdirs contrib/plugins"
> +    if has_meson_option "-Dtcg_interpreter=true"; then
> +        plugins="no"
> +    else
> +        plugins=yes
> +        subdirs="$subdirs contrib/plugins"
> +    fi
>   fi
>   
>   cat > $TMPC << EOF

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>