[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 05/10] meson: Introduce target-specific Kconfig
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH 05/10] meson: Introduce target-specific Kconfig |
Date: |
Sun, 31 Jan 2021 13:36:30 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
On 1/31/21 12:13 PM, Philippe Mathieu-Daudé wrote:
> Add a target-specific Kconfig.
>
> Target foo now has CONFIG_FOO defined.
>
> Two architecture have a particularity, ARM and MIPS:
> their 64-bit version include the 32-bit subset.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
...
> diff --git a/meson.build b/meson.build
> index f00b7754fd4..a2dda0ce95e 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1322,7 +1322,8 @@
> command: [minikconf,
> get_option('default_devices') ? '--defconfig' :
> '--allnoconfig',
> config_devices_mak, '@DEPFILE@', '@INPUT@',
> - host_kconfig, accel_kconfig])
> + host_kconfig, accel_kconfig,
> + 'CONFIG_' + config_target['TARGET_ARCH'].to_upper() + '=y'])
>
> config_devices_data = configuration_data()
> config_devices = keyval.load(config_devices_mak)
> diff --git a/Kconfig b/Kconfig
> index bf694c42afe..c01e261e4e9 100644
> --- a/Kconfig
> +++ b/Kconfig
> @@ -1,4 +1,5 @@
> source Kconfig.host
> source backends/Kconfig
> source accel/Kconfig
> +source target/Kconfig
> source hw/Kconfig
> diff --git a/target/Kconfig b/target/Kconfig
> new file mode 100644
> index 00000000000..a6f719f223a
> --- /dev/null
> +++ b/target/Kconfig
> @@ -0,0 +1,23 @@
> +source alpha/Kconfig
> +source arm/Kconfig
> +source avr/Kconfig
> +source cris/Kconfig
> +source hppa/Kconfig
> +source i386/Kconfig
> +source lm32/Kconfig
> +source m68k/Kconfig
> +source microblaze/Kconfig
> +source mips/Kconfig
> +source moxie/Kconfig
> +source nios2/Kconfig
> +source openrisc/Kconfig
> +source ppc/Kconfig
> +source riscv/Kconfig
> +source rx/Kconfig
> +source s390x/Kconfig
> +source sh4/Kconfig
> +source sparc/Kconfig
> +source tilegx/Kconfig
> +source tricore/Kconfig
> +source unicore32/Kconfig
> +source xtensa/Kconfig
> diff --git a/target/arm/Kconfig b/target/arm/Kconfig
> new file mode 100644
> index 00000000000..3f3394a22b2
> --- /dev/null
> +++ b/target/arm/Kconfig
> @@ -0,0 +1,6 @@
> +config ARM
> + bool
> +
> +config AARCH64
> + bool
> + select ARM
This isn't correct yet, as Kconfig is primarly designed for devices,
and per docs/devel/kconfig.rst:
"devices are usually ``default y`` if and only if they have at
least one ``depends on``;"
So having one machine "depends on AARCH64" selects AARCH64 on ARM :/
I'll see if explicit each arch as 'default n' helps...
- [PATCH 00/10] target: Provide target-specific Kconfig, Philippe Mathieu-Daudé, 2021/01/31
- [PATCH 01/10] hw/sh4/Kconfig: Rename CONFIG_SH4 -> CONFIG_SH4_PERIPHERALS, Philippe Mathieu-Daudé, 2021/01/31
- [PATCH 02/10] hw/lm32/Kconfig: Introduce CONFIG_LM32_EVR for lm32-evr/uclinux boards, Philippe Mathieu-Daudé, 2021/01/31
- [PATCH 03/10] hw/sh4/Kconfig: Rename CONFIG_LM32 -> CONFIG_LM32_PERIPHERALS, Philippe Mathieu-Daudé, 2021/01/31
- [PATCH 04/10] hw/lm32/Kconfig: Have MILKYMIST select LM32_PERIPHERALS, Philippe Mathieu-Daudé, 2021/01/31
- [PATCH 05/10] meson: Introduce target-specific Kconfig, Philippe Mathieu-Daudé, 2021/01/31
- [PATCH 06/10] target/i386: Move SEV feature to target Kconfig, Philippe Mathieu-Daudé, 2021/01/31
- [PATCH 07/10] target/arm: Move V7M feature to target Kconfig, Philippe Mathieu-Daudé, 2021/01/31
- [PATCH 08/10] default-configs: Remove unnecessary SEMIHOSTING selection, Philippe Mathieu-Daudé, 2021/01/31
- [PATCH 09/10] target: Move ARM_COMPATIBLE_SEMIHOSTING feature to target Kconfig, Philippe Mathieu-Daudé, 2021/01/31
- [PATCH 10/10] target: Move SEMIHOSTING feature to target Kconfig, Philippe Mathieu-Daudé, 2021/01/31