[PATCH v2 01/14] meson: Drop tcg as a module

Richard Henderson posted 14 patches 2 months ago
There is a newer version of this series
[PATCH v2 01/14] meson: Drop tcg as a module
Posted by Richard Henderson 2 months ago
The fact that this is only enabled for x86 probably means it
was done incorrectly.  Certainly the set of files selected to
go into the module is woefully incomplete.  Drop it for now.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 accel/tcg/meson.build | 11 ++++-------
 meson.build           | 18 +-----------------
 2 files changed, 5 insertions(+), 24 deletions(-)

diff --git a/accel/tcg/meson.build b/accel/tcg/meson.build
index aef80de967..69f4808ac4 100644
--- a/accel/tcg/meson.build
+++ b/accel/tcg/meson.build
@@ -21,16 +21,13 @@ specific_ss.add_all(when: 'CONFIG_TCG', if_true: tcg_specific_ss)
 specific_ss.add(when: ['CONFIG_SYSTEM_ONLY', 'CONFIG_TCG'], if_true: files(
   'cputlb.c',
   'watchpoint.c',
+  'tcg-accel-ops.c',
+  'tcg-accel-ops-mttcg.c',
+  'tcg-accel-ops-icount.c',
+  'tcg-accel-ops-rr.c',
 ))
 
 system_ss.add(when: ['CONFIG_TCG'], if_true: files(
   'icount-common.c',
   'monitor.c',
 ))
-
-tcg_module_ss.add(when: ['CONFIG_SYSTEM_ONLY', 'CONFIG_TCG'], if_true: files(
-  'tcg-accel-ops.c',
-  'tcg-accel-ops-mttcg.c',
-  'tcg-accel-ops-icount.c',
-  'tcg-accel-ops-rr.c',
-))
diff --git a/meson.build b/meson.build
index 2c9ac9cfe1..b72114819b 100644
--- a/meson.build
+++ b/meson.build
@@ -322,12 +322,6 @@ if cpu in ['x86', 'x86_64']
   }
 endif
 
-modular_tcg = []
-# Darwin does not support references to thread-local variables in modules
-if host_os != 'darwin'
-  modular_tcg = ['i386-softmmu', 'x86_64-softmmu']
-endif
-
 ##################
 # Compiler flags #
 ##################
@@ -3279,11 +3273,6 @@ foreach target : target_dirs
     if sym == 'CONFIG_TCG' or target in accelerator_targets.get(sym, [])
       config_target += { sym: 'y' }
       config_all_accel += { sym: 'y' }
-      if target in modular_tcg
-        config_target += { 'CONFIG_TCG_MODULAR': 'y' }
-      else
-        config_target += { 'CONFIG_TCG_BUILTIN': 'y' }
-      endif
       target_kconfig += [ sym + '=y' ]
     endif
   endforeach
@@ -3642,7 +3631,6 @@ util_ss = ss.source_set()
 
 # accel modules
 qtest_module_ss = ss.source_set()
-tcg_module_ss = ss.source_set()
 
 modules = {}
 target_modules = {}
@@ -3803,11 +3791,7 @@ subdir('tests/qtest/libqos')
 subdir('tests/qtest/fuzz')
 
 # accel modules
-tcg_real_module_ss = ss.source_set()
-tcg_real_module_ss.add_all(when: 'CONFIG_TCG_MODULAR', if_true: tcg_module_ss)
-specific_ss.add_all(when: 'CONFIG_TCG_BUILTIN', if_true: tcg_module_ss)
-target_modules += { 'accel' : { 'qtest': qtest_module_ss,
-                                'tcg': tcg_real_module_ss }}
+target_modules += { 'accel' : { 'qtest': qtest_module_ss }}
 
 ##############################################
 # Internal static_libraries and dependencies #
-- 
2.43.0
Re: [PATCH v2 01/14] meson: Drop tcg as a module
Posted by Philippe Mathieu-Daudé 2 months ago
On 3/2/25 04:18, Richard Henderson wrote:
> The fact that this is only enabled for x86 probably means it
> was done incorrectly.  Certainly the set of files selected to
> go into the module is woefully incomplete.  Drop it for now.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   accel/tcg/meson.build | 11 ++++-------
>   meson.build           | 18 +-----------------
>   2 files changed, 5 insertions(+), 24 deletions(-)

💗

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


Re: [PATCH v2 01/14] meson: Drop tcg as a module
Posted by Alex Bennée 2 months ago
Richard Henderson <richard.henderson@linaro.org> writes:

> The fact that this is only enabled for x86 probably means it
> was done incorrectly.  Certainly the set of files selected to
> go into the module is woefully incomplete.  Drop it for now.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro
Re: [PATCH v2 01/14] meson: Drop tcg as a module
Posted by Thomas Huth 2 months ago
On 03/02/2025 04.18, Richard Henderson wrote:
> The fact that this is only enabled for x86 probably means it
> was done incorrectly.  Certainly the set of files selected to
> go into the module is woefully incomplete.  Drop it for now.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   accel/tcg/meson.build | 11 ++++-------
>   meson.build           | 18 +-----------------
>   2 files changed, 5 insertions(+), 24 deletions(-)

Looking at the cover letter 
https://lore.kernel.org/qemu-devel/20210624103836.2382472-1-kraxel@redhat.com/ 
it indeed only mentions "a small fraction of tcg (x86 only)", and since 
there were no follow up patches, it sounds like an incomplete conversion to 
me. So reverting it three and a half years later sounds reasonable.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Re: [PATCH v2 01/14] meson: Drop tcg as a module
Posted by Philippe Mathieu-Daudé 2 months ago
On 3/2/25 10:58, Thomas Huth wrote:
> On 03/02/2025 04.18, Richard Henderson wrote:
>> The fact that this is only enabled for x86 probably means it
>> was done incorrectly.  Certainly the set of files selected to
>> go into the module is woefully incomplete.  Drop it for now.

Maybe add:

This mostly revert commit dae0ec159f9 ("accel: build tcg modular").

>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>> ---
>>   accel/tcg/meson.build | 11 ++++-------
>>   meson.build           | 18 +-----------------
>>   2 files changed, 5 insertions(+), 24 deletions(-)
> 
> Looking at the cover letter https://lore.kernel.org/qemu- 
> devel/20210624103836.2382472-1-kraxel@redhat.com/ it indeed only 
> mentions "a small fraction of tcg (x86 only)", and since there were no 
> follow up patches, it sounds like an incomplete conversion to me. So 
> reverting it three and a half years later sounds reasonable.
> 
> Reviewed-by: Thomas Huth <thuth@redhat.com>
>