lkml.org 
[lkml]   [2016]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] MIPS: Allow R6 compact branch policy to be left unspecified
On Fri, 22 Apr 2016, Paul Burton wrote:

> It turns out that some toolchains which support MIPS R6 don't support
> the -mcompact-branches flag to specify compact branch behaviour. Default
> to not providing the -mcompact-branch option to the compiler such that
> we can build with such toolchains.

Good idea overall, one further suggestion below.

> diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug
> index f0e314c..e91b3d1 100644
> --- a/arch/mips/Kconfig.debug
> +++ b/arch/mips/Kconfig.debug
> @@ -117,7 +117,15 @@ if CPU_MIPSR6
>
> choice
> prompt "Compact branch policy"
> - default MIPS_COMPACT_BRANCHES_OPTIMAL
> + default MIPS_COMPACT_BRANCHES_DEFAULT
> +
> +config MIPS_COMPACT_BRANCHES_DEFAULT
> + bool "Toolchain Default (don't specify)"
> + help
> + Don't pass the -mcompact-branches flag to the compiler, allowing it
> + to use its default (generally "optimal"). This is particularly
> + useful for early R6-supporting toolchains which don't support the
> + -mcompact-branches flag.
>
> config MIPS_COMPACT_BRANCHES_NEVER
> bool "Never (force delay slot branches)"

How about making the option depend on DEBUG_KERNEL and maybe making it an
umbrella setting to hide details from users who do not want to be
bothered, i.e. something like:

config MIPS_COMPACT_BRANCHES_OVERRIDE
bool "Override the toolchain default for compact branch policy"
depends on DEBUG_KERNEL
default n
[...]
if MIPS_COMPACT_BRANCHES_OVERRIDE
choice
prompt "Compact branch policy"
default MIPS_COMPACT_BRANCHES_OPTIMAL
[...]
endif # MIPS_COMPACT_BRANCHES_OVERRIDE

?

Maciej

\
 
 \ /
  Last update: 2016-04-22 18:21    [W:0.061 / U:2.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site