[PATCH] arm: choose debug/uncompress.h include when uncompress debug is disabled

Stefano Stabellini stefano.stabellini at eu.citrix.com
Wed Jul 17 12:48:48 EDT 2013


On Wed, 17 Jul 2013, Russell King - ARM Linux wrote:
> On Wed, Jul 17, 2013 at 04:11:48PM +0100, Russell King - ARM Linux wrote:
> > On Wed, Jul 17, 2013 at 02:25:38PM +0100, Stefano Stabellini wrote:
> > > On Mon, 15 Jul 2013, Julien Grall wrote:
> > > > Even if uncompress debug is disabled, some board will continue to print
> > > > information during uncompress step.
> > > 
> > > Are you talking about DEBUG_UNCOMPRESS?
> > > Should I read the sentence as "even if DEBUG_UNCOMPRESS is not selected,
> > > some board will continue to print information during the uncompress step"?
> > > 
> > > Isn't this a bug in the platform specific code that should be fixed anyway?
> > 
> > Hang on, let's be clear what's going on here.
> > 
> > 1. The normal output from the decompressor is *not* debugging.  By that
> >    I mean the "Uncompressing kernel... done" message.  That is part of
> >    user output.
> > 
> > 2. In non-multiplatform environments, the decompressor will normally use
> >    the putc/flush functions found in arch/arm/mach-*/include/mach/uncompress.h
> >    to implement its output, irrespective of the DEBUG_UNCOMPRESS setting.
> >    (An interesting point is that DEBUG_UNCOMPRESS really should depend on
> >    MULTIPLATFORM so that this point is explicit - the option requires
> >    MULTIPLATFORM to be set.)
> > 
> > 3. DEBUG_UNCOMPRESS allows the functions which we've implemented for LL
> >    debug to be re-used for decompressor output.
> > 
> > 4. When DEBUG_UNCOMPRESS is not set in a multiplatform kernel, the
> >    decompressors putc() and flush() functions are stubbed out.
> > 
> > So, it's quite right that you get output from the decompressor even when
> > DEBUG_UNCOMPRESS is not set.  There's no problem with that.
> 
> Does this patch help to explain this?

Yes it does, thanks.


>  arch/arm/Kconfig.debug |   14 ++++++++++++--
>  1 files changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
> index e401a76..583f4a0 100644
> --- a/arch/arm/Kconfig.debug
> +++ b/arch/arm/Kconfig.debug
> @@ -804,9 +804,19 @@ config DEBUG_LL_INCLUDE
>  
>  config DEBUG_UNCOMPRESS
>  	bool
> -	default y if ARCH_MULTIPLATFORM && DEBUG_LL && \
> -		     !DEBUG_OMAP2PLUS_UART && \
> +	depends on ARCH_MULTIPLATFORM
> +	default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
>  		     !DEBUG_TEGRA_UART
> +	help
> +	  This option influences the normal decompressor output only for
> +	  multiplatform kernels.  Normally, multiplatform kernels disable
> +	  decompressor output because it is not possible to know where to
> +	  send the decompressor output.
> +
> +	  When this option is set, the selected DEBUG_LL output method
> +	  will be re-used for normal decompressor output on multiplatform
> +	  kernels.
> +	  
>  
>  config UNCOMPRESS_INCLUDE
>  	string
> 



More information about the linux-arm-kernel mailing list