mirror of
https://git.busybox.net/buildroot.git
synced 2024-12-15 00:03:39 +08:00
874916567a
The MMU option is currently located in the "Toolchain" menu, but it doesn't make sense as it's really architecture related. In addition, the selection of MMU has an impact on the choice of binary format available, which is visible in the architecture menu. Therefore, this commit moves the MMU option into the architecture menu. However, if we simply move it in arch/Config.in, it means that we would have the following order of options: Target architecture Target architecture variant ABI MMU Binary format But really, the MMU option should be right below the Target architecture variant, and the available ABIs derived from that. The variant and ABI are arch-specfic, and defined in the per-arch Config.in fragments; a Kconfig option can have only one prompt defined, even under conditions, and appears at the place in the menu where its prompt was defined. So, there is no (easy) possibility to have a generic option appear where we want it. Since in fact only 2 architectures show a visible prompt for the MMU option (RISC-V and Xtensa), we move this option in arch/Config.in.riscv and arch/Config.in.xtensa. Some walkthrough the commit: - BR2_ARCH_HAS_MMU_MANDATORY and BR2_ARCH_HAS_MMU_OPTIONAL are removed as they are no longer needed - BR2_USE_MMU becomes a hidden boolean - All the places where we used to select BR2_ARCH_HAS_MMU_MANDATORY now select BR2_USE_MMU directly. - Introduce BR2_RISCV_USE_MMU and BR2_XTENSA_USE_MMU. - All defconfigs that used "# BR2_USE_MMU is not set" are switched to using the new option. All in all, this simplifies things quite a bit, and allows to have a good option ordering in the Target architecture menu. This commit might raise a concern in terms of backward compatibility with existing configurations. The only configurations that will be broken by this change are RISC-V noMMU (which was very recently introduced) and Xtensa noMMU (which we can probably agree is not such a widely popular configuration). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> [yann.morin.1998@free.fr: - expand further why we need per-arch MMU options ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
47 lines
764 B
Plaintext
47 lines
764 B
Plaintext
config BR2_ARCH
|
|
default "m68k" if BR2_m68k
|
|
|
|
config BR2_NORMALIZED_ARCH
|
|
default "m68k"
|
|
|
|
config BR2_ENDIAN
|
|
default "BIG"
|
|
|
|
# symbols used to distinguish between m68k and coldfire
|
|
# for gcc multilib
|
|
config BR2_m68k_m68k
|
|
bool
|
|
|
|
config BR2_m68k_cf
|
|
bool
|
|
|
|
# coldfire variants will be added later
|
|
choice
|
|
prompt "Target CPU"
|
|
default BR2_m68k_68040
|
|
depends on BR2_m68k
|
|
help
|
|
Specific CPU variant to use
|
|
|
|
config BR2_m68k_68040
|
|
bool "68040"
|
|
select BR2_m68k_m68k
|
|
select BR2_USE_MMU
|
|
|
|
config BR2_m68k_cf5208
|
|
bool "5208"
|
|
select BR2_m68k_cf
|
|
select BR2_SOFT_FLOAT
|
|
|
|
endchoice
|
|
|
|
config BR2_GCC_TARGET_CPU
|
|
default "68040" if BR2_m68k_68040
|
|
default "5208" if BR2_m68k_cf5208
|
|
|
|
config BR2_READELF_ARCH_NAME
|
|
default "MC68000"
|
|
|
|
# vim: ft=kconfig
|
|
# -*- mode:kconfig; -*-
|