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

From: Russell King - ARM Linux
Date: Wed Jul 17 2013 - 11:18:35 EST


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?

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/