Re: [PATCH v2 25/35] nds32: Build infrastructure

From: Arnd Bergmann
Date: Mon Nov 27 2017 - 09:21:27 EST


On Mon, Nov 27, 2017 at 1:28 PM, Greentime Hu <green.hu@xxxxxxxxx> wrote:

> diff --git a/arch/nds32/Kconfig.cpu b/arch/nds32/Kconfig.cpu
> new file mode 100644
> index 0000000..6b4013f
> --- /dev/null
> +++ b/arch/nds32/Kconfig.cpu
> @@ -0,0 +1,131 @@
> +comment "Processor Features"
> +
> +config CPU_BIG_ENDIAN
> + bool "Big endian"
> + def_bool n
> +
> +config CPU_LITTLE_ENDIAN
> + bool "Little endian"
> + def_bool y

These must be mutually exclusive, you surely get some build error if you try to
set both here.

You can either make it a 'choice' statement to pick between the two, or you
can make CPU_LITTLE_ENDIAN a silent option like

config CPU_BIG_ENDIAN
bool "Big endian"

config CPU_LITTLE_ENDIAN
def_bool !CPU_BIG_ENDIAN

> +config CPU_CACHE_NONALIASING
> + bool "Non-aliasing cache"
> + help
> + If this CPU is using VIPT data cache and its cache way size is larger
> + than page size, say N. If it is using PIPT data cache, say Y.
> +
> + If unsure, say Y.

Can you determine this from the CPU type?

> +choice
> + prompt "Memory split"
> + depends on MMU
> + default VMSPLIT_3G
> + help
> + Select the desired split between kernel and user memory.
> +
> + If you are not absolutely sure what you are doing, leave this
> + option alone!
> +
> + config VMSPLIT_3G
> + bool "3G/1G user/kernel split"
> + config VMSPLIT_3G_OPT
> + bool "3G/1G user/kernel split (for full 1G low memory)"
> + config VMSPLIT_2G
> + bool "2G/2G user/kernel split"
> + config VMSPLIT_1G
> + bool "1G/3G user/kernel split"
> +endchoice

I think you mentioned that the 1GB configuration is quite common, how
about making VMSPLIT_3G_OPT the default here?

Arnd