[RFC PATCH 0/3] ARM: uncompress.h multi-platform enablement
From: Stephen Warren <hidden>
Date: 2012-09-26 15:34:46
Also in:
linux-tegra
On 09/26/2012 09:10 AM, Russell King - ARM Linux wrote:
On Wed, Sep 26, 2012 at 02:49:48PM +0000, Arnd Bergmann wrote:quoted
Right now, a multiplatform kernel has no way of debugging the decompressor using console output, so it's actually /smaller/ than a single-platform kernel, but also less capable.Err, are you sure about all your details above? You do realise when debugging is disabled there is no debug code included anywhere in the decompressor? I think what you're referring to is not the debug output, but the normal decompressor output. (The "Decompressing Linux..." message is not debug output.) Let's be a little more clear about what "less capable" means - it will be unable to report any errors that occur during the decompression. What that means is that you'll end up with mere silence should an error occur.
In the Tegra case, by omitting uncompress.h, we lose more than just the "Decompressing Linux..." message; uncompress.h contains code to parse extract the platform's debug UART ID from data set up by the boot ROM (since we have 5 UARTs), and pass this on to debug-macro.S. Without uncompress.h running, debug-macro.S would either have to hard-code a single UART ID (and different boards uses different UARTs, which would make running a single kernel image across all Tegra devices with earlyprintk enabled impossible) *or* we'd have to port the UART ID extraction code to debug-macro.S too, which I don't fancy very much since that's assembly whereas uncompress.h is C.