arch: rework MMU option handling and move to "Target architecture" menu

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>
This commit is contained in:
Thomas Petazzoni 2022-07-26 18:39:51 +02:00 committed by Yann E. MORIN
parent 9f81decf46
commit 874916567a
17 changed files with 59 additions and 57 deletions

View File

@ -9,10 +9,7 @@ config BR2_KERNEL_64_USERLAND_32
config BR2_SOFT_FLOAT config BR2_SOFT_FLOAT
bool bool
config BR2_ARCH_HAS_MMU_MANDATORY config BR2_USE_MMU
bool
config BR2_ARCH_HAS_MMU_OPTIONAL
bool bool
choice choice
@ -23,7 +20,7 @@ choice
config BR2_arcle config BR2_arcle
bool "ARC (little endian)" bool "ARC (little endian)"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
Synopsys' DesignWare ARC Processor Cores are a family of Synopsys' DesignWare ARC Processor Cores are a family of
32-bit CPUs that can be used from deeply embedded to high 32-bit CPUs that can be used from deeply embedded to high
@ -31,7 +28,7 @@ config BR2_arcle
config BR2_arceb config BR2_arceb
bool "ARC (big endian)" bool "ARC (big endian)"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
Synopsys' DesignWare ARC Processor Cores are a family of Synopsys' DesignWare ARC Processor Cores are a family of
32-bit CPUs that can be used from deeply embedded to high 32-bit CPUs that can be used from deeply embedded to high
@ -49,7 +46,7 @@ config BR2_arm
config BR2_armeb config BR2_armeb
bool "ARM (big endian)" bool "ARM (big endian)"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
ARM is a 32-bit reduced instruction set computer (RISC) ARM is a 32-bit reduced instruction set computer (RISC)
instruction set architecture (ISA) developed by ARM Holdings. instruction set architecture (ISA) developed by ARM Holdings.
@ -76,7 +73,7 @@ config BR2_aarch64_be
config BR2_csky config BR2_csky
bool "csky" bool "csky"
select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
help help
csky is processor IP from china. csky is processor IP from china.
@ -85,7 +82,7 @@ config BR2_csky
config BR2_i386 config BR2_i386
bool "i386" bool "i386"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
Intel i386 architecture compatible microprocessor Intel i386 architecture compatible microprocessor
http://en.wikipedia.org/wiki/I386 http://en.wikipedia.org/wiki/I386
@ -99,7 +96,7 @@ config BR2_m68k
config BR2_microblazeel config BR2_microblazeel
bool "Microblaze AXI (little endian)" bool "Microblaze AXI (little endian)"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
Soft processor core designed for Xilinx FPGAs from Xilinx. AXI Soft processor core designed for Xilinx FPGAs from Xilinx. AXI
bus based architecture (little endian) bus based architecture (little endian)
@ -108,7 +105,7 @@ config BR2_microblazeel
config BR2_microblazebe config BR2_microblazebe
bool "Microblaze non-AXI (big endian)" bool "Microblaze non-AXI (big endian)"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
Soft processor core designed for Xilinx FPGAs from Xilinx. PLB Soft processor core designed for Xilinx FPGAs from Xilinx. PLB
bus based architecture (non-AXI, big endian) bus based architecture (non-AXI, big endian)
@ -117,7 +114,7 @@ config BR2_microblazebe
config BR2_mips config BR2_mips
bool "MIPS (big endian)" bool "MIPS (big endian)"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
MIPS is a RISC microprocessor from MIPS Technologies. Big MIPS is a RISC microprocessor from MIPS Technologies. Big
endian. endian.
@ -126,7 +123,7 @@ config BR2_mips
config BR2_mipsel config BR2_mipsel
bool "MIPS (little endian)" bool "MIPS (little endian)"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
MIPS is a RISC microprocessor from MIPS Technologies. Little MIPS is a RISC microprocessor from MIPS Technologies. Little
endian. endian.
@ -136,7 +133,7 @@ config BR2_mipsel
config BR2_mips64 config BR2_mips64
bool "MIPS64 (big endian)" bool "MIPS64 (big endian)"
select BR2_ARCH_IS_64 select BR2_ARCH_IS_64
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
MIPS is a RISC microprocessor from MIPS Technologies. Big MIPS is a RISC microprocessor from MIPS Technologies. Big
endian. endian.
@ -146,7 +143,7 @@ config BR2_mips64
config BR2_mips64el config BR2_mips64el
bool "MIPS64 (little endian)" bool "MIPS64 (little endian)"
select BR2_ARCH_IS_64 select BR2_ARCH_IS_64
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
MIPS is a RISC microprocessor from MIPS Technologies. Little MIPS is a RISC microprocessor from MIPS Technologies. Little
endian. endian.
@ -155,7 +152,7 @@ config BR2_mips64el
config BR2_nios2 config BR2_nios2
bool "Nios II" bool "Nios II"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
Nios II is a soft core processor from Altera Corporation. Nios II is a soft core processor from Altera Corporation.
http://www.altera.com/ http://www.altera.com/
@ -163,14 +160,14 @@ config BR2_nios2
config BR2_or1k config BR2_or1k
bool "OpenRISC" bool "OpenRISC"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
OpenRISC is a free and open processor for embedded system. OpenRISC is a free and open processor for embedded system.
http://openrisc.io http://openrisc.io
config BR2_powerpc config BR2_powerpc
bool "PowerPC" bool "PowerPC"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
PowerPC is a RISC architecture created by Apple-IBM-Motorola PowerPC is a RISC architecture created by Apple-IBM-Motorola
alliance. Big endian. alliance. Big endian.
@ -180,7 +177,7 @@ config BR2_powerpc
config BR2_powerpc64 config BR2_powerpc64
bool "PowerPC64 (big endian)" bool "PowerPC64 (big endian)"
select BR2_ARCH_IS_64 select BR2_ARCH_IS_64
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
PowerPC is a RISC architecture created by Apple-IBM-Motorola PowerPC is a RISC architecture created by Apple-IBM-Motorola
alliance. Big endian. alliance. Big endian.
@ -190,7 +187,7 @@ config BR2_powerpc64
config BR2_powerpc64le config BR2_powerpc64le
bool "PowerPC64 (little endian)" bool "PowerPC64 (little endian)"
select BR2_ARCH_IS_64 select BR2_ARCH_IS_64
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
PowerPC is a RISC architecture created by Apple-IBM-Motorola PowerPC is a RISC architecture created by Apple-IBM-Motorola
alliance. Little endian. alliance. Little endian.
@ -210,7 +207,7 @@ config BR2_riscv
config BR2_s390x config BR2_s390x
bool "s390x" bool "s390x"
select BR2_ARCH_IS_64 select BR2_ARCH_IS_64
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
s390x is a big-endian architecture made by IBM. s390x is a big-endian architecture made by IBM.
http://www.ibm.com/ http://www.ibm.com/
@ -218,7 +215,7 @@ config BR2_s390x
config BR2_sh config BR2_sh
bool "SuperH" bool "SuperH"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
SuperH (or SH) is a 32-bit reduced instruction set computer SuperH (or SH) is a 32-bit reduced instruction set computer
(RISC) instruction set architecture (ISA) developed by (RISC) instruction set architecture (ISA) developed by
@ -228,7 +225,7 @@ config BR2_sh
config BR2_sparc config BR2_sparc
bool "SPARC" bool "SPARC"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
SPARC (from Scalable Processor Architecture) is a RISC SPARC (from Scalable Processor Architecture) is a RISC
instruction set architecture (ISA) developed by Sun instruction set architecture (ISA) developed by Sun
@ -239,7 +236,7 @@ config BR2_sparc
config BR2_sparc64 config BR2_sparc64
bool "SPARC64" bool "SPARC64"
select BR2_ARCH_IS_64 select BR2_ARCH_IS_64
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
SPARC (from Scalable Processor Architecture) is a RISC SPARC (from Scalable Processor Architecture) is a RISC
instruction set architecture (ISA) developed by Sun instruction set architecture (ISA) developed by Sun
@ -250,7 +247,7 @@ config BR2_sparc64
config BR2_x86_64 config BR2_x86_64
bool "x86_64" bool "x86_64"
select BR2_ARCH_IS_64 select BR2_ARCH_IS_64
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
help help
x86-64 is an extension of the x86 instruction set (Intel i386 x86-64 is an extension of the x86 instruction set (Intel i386
architecture compatible microprocessor). architecture compatible microprocessor).

View File

@ -73,26 +73,26 @@ config BR2_ARM_CPU_HAS_THUMB2
config BR2_ARM_CPU_ARMV4 config BR2_ARM_CPU_ARMV4
bool bool
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
config BR2_ARM_CPU_ARMV5 config BR2_ARM_CPU_ARMV5
bool bool
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
config BR2_ARM_CPU_ARMV6 config BR2_ARM_CPU_ARMV6
bool bool
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
config BR2_ARM_CPU_ARMV7A config BR2_ARM_CPU_ARMV7A
bool bool
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
config BR2_ARM_CPU_ARMV7M config BR2_ARM_CPU_ARMV7M
bool bool
config BR2_ARM_CPU_ARMV8A config BR2_ARM_CPU_ARMV8A
bool bool
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
choice choice
prompt "Target Architecture Variant" prompt "Target Architecture Variant"

View File

@ -26,7 +26,7 @@ choice
config BR2_m68k_68040 config BR2_m68k_68040
bool "68040" bool "68040"
select BR2_m68k_m68k select BR2_m68k_m68k
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
config BR2_m68k_cf5208 config BR2_m68k_cf5208
bool "5208" bool "5208"

View File

@ -71,15 +71,23 @@ choice
config BR2_RISCV_32 config BR2_RISCV_32
bool "32-bit" bool "32-bit"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
config BR2_RISCV_64 config BR2_RISCV_64
bool "64-bit" bool "64-bit"
select BR2_ARCH_IS_64 select BR2_ARCH_IS_64
select BR2_ARCH_HAS_MMU_OPTIONAL
endchoice endchoice
config BR2_RISCV_USE_MMU
bool "MMU support"
default y
depends on BR2_RISCV_64
select BR2_USE_MMU
help
Enable this option if your RISC-V core has a MMU (Memory
Management Unit).
choice choice
prompt "Target ABI" prompt "Target ABI"
default BR2_RISCV_ABI_ILP32D if !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD default BR2_RISCV_ABI_ILP32D if !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD

View File

@ -5,11 +5,10 @@ choice
config BR2_XTENSA_CUSTOM config BR2_XTENSA_CUSTOM
bool "Custom Xtensa processor configuration" bool "Custom Xtensa processor configuration"
select BR2_ARCH_HAS_MMU_OPTIONAL
config BR2_xtensa_fsf config BR2_xtensa_fsf
bool "fsf - Default configuration" bool "fsf - Default configuration"
select BR2_ARCH_HAS_MMU_MANDATORY select BR2_USE_MMU
endchoice endchoice
@ -41,6 +40,15 @@ config BR2_XTENSA_BIG_ENDIAN
endchoice endchoice
config BR2_XTENSA_USE_MMU
bool "MMU support"
default y
depends on BR2_XTENSA_CUSTOM
select BR2_USE_MMU
help
Enable this option if your Xtensa core has a MMU (Memory
Management Unit).
config BR2_ENDIAN config BR2_ENDIAN
default "LITTLE" if BR2_XTENSA_LITTLE_ENDIAN default "LITTLE" if BR2_XTENSA_LITTLE_ENDIAN
default "BIG" if BR2_xtensa_fsf || BR2_XTENSA_BIG_ENDIAN default "BIG" if BR2_xtensa_fsf || BR2_XTENSA_BIG_ENDIAN

View File

@ -7,13 +7,13 @@ BR2_RISCV_ISA_CUSTOM_RVA=y
BR2_RISCV_ISA_CUSTOM_RVF=y BR2_RISCV_ISA_CUSTOM_RVF=y
BR2_RISCV_ISA_CUSTOM_RVD=y BR2_RISCV_ISA_CUSTOM_RVD=y
BR2_RISCV_ISA_CUSTOM_RVC=y BR2_RISCV_ISA_CUSTOM_RVC=y
# BR2_RISCV_USE_MMU is not set
BR2_RISCV_ABI_LP64D=y BR2_RISCV_ABI_LP64D=y
# Patches # Patches
BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches" BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches"
# Binary format # Binary format
# BR2_USE_MMU is not set
BR2_BINFMT_FLAT=y BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set # BR2_TARGET_ENABLE_ROOT_LOGIN is not set

View File

@ -1,13 +1,11 @@
# Architecture # Architecture
BR2_riscv=y BR2_riscv=y
BR2_RISCV_64=y BR2_RISCV_64=y
# BR2_RISCV_USE_MMU is not set
# Patches # Patches
BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches" BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches"
# Toolchain
# BR2_USE_MMU is not set
# Busybox with hush # Busybox with hush
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"

View File

@ -2,9 +2,7 @@
BR2_xtensa=y BR2_xtensa=y
BR2_XTENSA_CUSTOM=y BR2_XTENSA_CUSTOM=y
BR2_XTENSA_OVERLAY_FILE="https://github.com/jcmvbkbc/xtensa-toolchain-build/raw/95291b7c39e6f790d0b2f062c945a630290f2c81/overlays/xtensa_dc233c.tar.gz" BR2_XTENSA_OVERLAY_FILE="https://github.com/jcmvbkbc/xtensa-toolchain-build/raw/95291b7c39e6f790d0b2f062c945a630290f2c81/overlays/xtensa_dc233c.tar.gz"
# BR2_XTENSA_USE_MMU is not set
# Toolchain
# BR2_USE_MMU is not set
# Use minimal busybox with hush and networking tools # Use minimal busybox with hush and networking tools
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"

View File

@ -7,13 +7,13 @@ BR2_RISCV_ISA_CUSTOM_RVA=y
BR2_RISCV_ISA_CUSTOM_RVF=y BR2_RISCV_ISA_CUSTOM_RVF=y
BR2_RISCV_ISA_CUSTOM_RVD=y BR2_RISCV_ISA_CUSTOM_RVD=y
BR2_RISCV_ISA_CUSTOM_RVC=y BR2_RISCV_ISA_CUSTOM_RVC=y
# BR2_RISCV_USE_MMU is not set
BR2_RISCV_ABI_LP64D=y BR2_RISCV_ABI_LP64D=y
# Patches # Patches
BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches" BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches"
# Binary format # Binary format
# BR2_USE_MMU is not set
BR2_BINFMT_FLAT=y BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set # BR2_TARGET_ENABLE_ROOT_LOGIN is not set

View File

@ -7,13 +7,13 @@ BR2_RISCV_ISA_CUSTOM_RVA=y
BR2_RISCV_ISA_CUSTOM_RVF=y BR2_RISCV_ISA_CUSTOM_RVF=y
BR2_RISCV_ISA_CUSTOM_RVD=y BR2_RISCV_ISA_CUSTOM_RVD=y
BR2_RISCV_ISA_CUSTOM_RVC=y BR2_RISCV_ISA_CUSTOM_RVC=y
# BR2_RISCV_USE_MMU is not set
BR2_RISCV_ABI_LP64D=y BR2_RISCV_ABI_LP64D=y
# Patches # Patches
BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches" BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches"
# System # System
# BR2_USE_MMU is not set
BR2_BINFMT_FLAT=y BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set # BR2_TARGET_ENABLE_ROOT_LOGIN is not set

View File

@ -7,13 +7,13 @@ BR2_RISCV_ISA_CUSTOM_RVA=y
BR2_RISCV_ISA_CUSTOM_RVF=y BR2_RISCV_ISA_CUSTOM_RVF=y
BR2_RISCV_ISA_CUSTOM_RVD=y BR2_RISCV_ISA_CUSTOM_RVD=y
BR2_RISCV_ISA_CUSTOM_RVC=y BR2_RISCV_ISA_CUSTOM_RVC=y
# BR2_RISCV_USE_MMU is not set
BR2_RISCV_ABI_LP64D=y BR2_RISCV_ABI_LP64D=y
# Patches # Patches
BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches" BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches"
# Binary format # Binary format
# BR2_USE_MMU is not set
BR2_BINFMT_FLAT=y BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set # BR2_TARGET_ENABLE_ROOT_LOGIN is not set

View File

@ -7,13 +7,13 @@ BR2_RISCV_ISA_CUSTOM_RVA=y
BR2_RISCV_ISA_CUSTOM_RVF=y BR2_RISCV_ISA_CUSTOM_RVF=y
BR2_RISCV_ISA_CUSTOM_RVD=y BR2_RISCV_ISA_CUSTOM_RVD=y
BR2_RISCV_ISA_CUSTOM_RVC=y BR2_RISCV_ISA_CUSTOM_RVC=y
# BR2_RISCV_USE_MMU is not set
BR2_RISCV_ABI_LP64D=y BR2_RISCV_ABI_LP64D=y
# Patches # Patches
BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches" BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches"
# System # System
# BR2_USE_MMU is not set
BR2_BINFMT_FLAT=y BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set # BR2_TARGET_ENABLE_ROOT_LOGIN is not set

View File

@ -7,13 +7,13 @@ BR2_RISCV_ISA_CUSTOM_RVA=y
BR2_RISCV_ISA_CUSTOM_RVF=y BR2_RISCV_ISA_CUSTOM_RVF=y
BR2_RISCV_ISA_CUSTOM_RVD=y BR2_RISCV_ISA_CUSTOM_RVD=y
BR2_RISCV_ISA_CUSTOM_RVC=y BR2_RISCV_ISA_CUSTOM_RVC=y
# BR2_RISCV_USE_MMU is not set
BR2_RISCV_ABI_LP64D=y BR2_RISCV_ABI_LP64D=y
# Patches # Patches
BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches" BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches"
# Binary format # Binary format
# BR2_USE_MMU is not set
BR2_BINFMT_FLAT=y BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set # BR2_TARGET_ENABLE_ROOT_LOGIN is not set

View File

@ -7,13 +7,13 @@ BR2_RISCV_ISA_CUSTOM_RVA=y
BR2_RISCV_ISA_CUSTOM_RVF=y BR2_RISCV_ISA_CUSTOM_RVF=y
BR2_RISCV_ISA_CUSTOM_RVD=y BR2_RISCV_ISA_CUSTOM_RVD=y
BR2_RISCV_ISA_CUSTOM_RVC=y BR2_RISCV_ISA_CUSTOM_RVC=y
# BR2_RISCV_USE_MMU is not set
BR2_RISCV_ABI_LP64D=y BR2_RISCV_ABI_LP64D=y
# Patches # Patches
BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches" BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches"
# System # System
# BR2_USE_MMU is not set
BR2_BINFMT_FLAT=y BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set # BR2_TARGET_ENABLE_ROOT_LOGIN is not set

View File

@ -7,13 +7,13 @@ BR2_RISCV_ISA_CUSTOM_RVA=y
BR2_RISCV_ISA_CUSTOM_RVF=y BR2_RISCV_ISA_CUSTOM_RVF=y
BR2_RISCV_ISA_CUSTOM_RVD=y BR2_RISCV_ISA_CUSTOM_RVD=y
BR2_RISCV_ISA_CUSTOM_RVC=y BR2_RISCV_ISA_CUSTOM_RVC=y
# BR2_RISCV_USE_MMU is not set
BR2_RISCV_ABI_LP64D=y BR2_RISCV_ABI_LP64D=y
# Patches # Patches
BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches" BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches"
# Binary format # Binary format
# BR2_USE_MMU is not set
BR2_BINFMT_FLAT=y BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set # BR2_TARGET_ENABLE_ROOT_LOGIN is not set

View File

@ -7,13 +7,13 @@ BR2_RISCV_ISA_CUSTOM_RVA=y
BR2_RISCV_ISA_CUSTOM_RVF=y BR2_RISCV_ISA_CUSTOM_RVF=y
BR2_RISCV_ISA_CUSTOM_RVD=y BR2_RISCV_ISA_CUSTOM_RVD=y
BR2_RISCV_ISA_CUSTOM_RVC=y BR2_RISCV_ISA_CUSTOM_RVC=y
# BR2_RISCV_USE_MMU is not set
BR2_RISCV_ABI_LP64D=y BR2_RISCV_ABI_LP64D=y
# Patches # Patches
BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches" BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches"
# System # System
# BR2_USE_MMU is not set
BR2_BINFMT_FLAT=y BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set # BR2_TARGET_ENABLE_ROOT_LOGIN is not set

View File

@ -315,13 +315,6 @@ config BR2_TOOLCHAIN_EXTRA_LIBS
config BR2_TOOLCHAIN_HAS_FULL_GETTEXT config BR2_TOOLCHAIN_HAS_FULL_GETTEXT
bool bool
config BR2_USE_MMU
bool "Enable MMU support" if BR2_ARCH_HAS_MMU_OPTIONAL
default y if BR2_ARCH_HAS_MMU_OPTIONAL || BR2_ARCH_HAS_MMU_MANDATORY
help
If your target has a MMU, you should say Y here. If you
are unsure, just say Y.
config BR2_TARGET_OPTIMIZATION config BR2_TARGET_OPTIMIZATION
string "Target Optimizations" string "Target Optimizations"
default "" default ""