Re: [PATCH 11/22] meson: make target endianneess available to Kconfig

2024-04-23 Thread Fabiano Rosas
Paolo Bonzini  writes:

> Some targets use "default y" for boards to filter out those that require
> TCG.  For consistency we are switching all other targets to do the same.
> MIPS boards may only be available for big-endian or only for
> little-endian emulators, add a symbol so that this can be described
> with a "depends on" clause.
>
> Signed-off-by: Paolo Bonzini 

Reviewed-by: Fabiano Rosas 



[PATCH 11/22] meson: make target endianneess available to Kconfig

2024-04-23 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require
TCG.  For consistency we are switching all other targets to do the same.
MIPS boards may only be available for big-endian or only for
little-endian emulators, add a symbol so that this can be described
with a "depends on" clause.

Signed-off-by: Paolo Bonzini 
---
 meson.build| 12 +++-
 target/Kconfig |  3 +++
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/meson.build b/meson.build
index 9af60550753..9c4fb027853 100644
--- a/meson.build
+++ b/meson.build
@@ -3037,7 +3037,7 @@ foreach target : target_dirs
 }
   endif
 
-  accel_kconfig = []
+  target_kconfig = []
   foreach sym: accelerators
 if sym == 'CONFIG_TCG' or target in accelerator_targets.get(sym, [])
   config_target += { sym: 'y' }
@@ -3047,10 +3047,10 @@ foreach target : target_dirs
   else
 config_target += { 'CONFIG_TCG_BUILTIN': 'y' }
   endif
-  accel_kconfig += [ sym + '=y' ]
+  target_kconfig += [ sym + '=y' ]
 endif
   endforeach
-  if accel_kconfig.length() == 0
+  if target_kconfig.length() == 0
 if default_targets
   continue
 endif
@@ -3110,6 +3110,9 @@ foreach target : target_dirs
configuration: 
config_target_data)}
 
   if target.endswith('-softmmu')
+target_kconfig += 'CONFIG_' + config_target['TARGET_ARCH'].to_upper() + 
'=y'
+target_kconfig += 'CONFIG_TARGET_BIG_ENDIAN=' + 
config_target['TARGET_BIG_ENDIAN']
+
 config_input = meson.get_external_property(target, 'default')
 config_devices_mak = target + '-config-devices.mak'
 config_devices_mak = configure_file(
@@ -3120,8 +3123,7 @@ foreach target : target_dirs
   command: [minikconf,
 get_option('default_devices') ? '--defconfig' : 
'--allnoconfig',
 config_devices_mak, '@DEPFILE@', '@INPUT@',
-host_kconfig, accel_kconfig,
-'CONFIG_' + config_target['TARGET_ARCH'].to_upper() + '=y'])
+host_kconfig, target_kconfig])
 
 config_devices_data = configuration_data()
 config_devices = keyval.load(config_devices_mak)
diff --git a/target/Kconfig b/target/Kconfig
index 83da0bd2938..afc00dea30c 100644
--- a/target/Kconfig
+++ b/target/Kconfig
@@ -18,3 +18,6 @@ source sh4/Kconfig
 source sparc/Kconfig
 source tricore/Kconfig
 source xtensa/Kconfig
+
+config TARGET_BIG_ENDIAN
+bool
-- 
2.44.0