lkml.org 
[lkml]   [2014]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v7 0/4] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X)
    On 12/07/14 12:10, Russell King - ARM Linux wrote:
    > On Sat, Jul 12, 2014 at 11:16:02AM +0100, Russell King - ARM Linux wrote:
    >> On Mon, Jun 30, 2014 at 12:30:51PM +0100, Daniel Thompson wrote:
    >>> This patchset removes some single-platform compatibility tricks related
    >>> to DEBUG_LL and, as a result, allows multi_v7_defconfig derived builds
    >>> to enable DEBUG_LL. Currently the user selected kbuild setting is
    >>> ignored and the PL01X's DEBUG_LL stub is silently selected instead. This
    >>> is a pain if your hardware doesn't have this cell, not least because it
    >>> takes a little time to figure out that kbuild built the wrong code.
    >>
    >> I don't think this is quite right, because I'm now seeing randconfig
    >> finding build errors with this. We can end up with this configuration:
    >>
    >> CONFIG_DEBUG_LL=y
    >> CONFIG_DEBUG_LL_UART_NONE=y
    >> # CONFIG_DEBUG_ICEDCC is not set
    >> # CONFIG_DEBUG_SEMIHOSTING is not set
    >> # CONFIG_DEBUG_LL_UART_8250 is not set
    >> # CONFIG_DEBUG_LL_UART_PL01X is not set
    >> CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
    >> # CONFIG_DEBUG_UART_8250 is not set
    >>
    >> which results in:
    >>
    >> arch/arm/kernel/debug.S:24:33: fatal error: mach/debug-macro.S: No such file or directory
    >> make[2]: *** [arch/arm/kernel/debug.o] Error 1
    >> arch/arm/kernel/head.S:27:33: fatal error: mach/debug-macro.S: No such file or directory
    >> make[2]: *** [arch/arm/kernel/head.o] Error 1
    >> Full config file:
    >> http://www.arm.linux.org.uk/developer/build/file.php?lid=11023

    Thanks. I will look at this.

    Problem is that by making the build system honour the user choice we end
    up breaking the build when the user makes a bad choice (albeit a bad
    choice that they should not have been given in the first place).

    I guess the best fix is to get rid of CONFIG_DEBUG_LL_UART_NONE altogether.


    > Note that this also breaks building versatile as an oldconfig. I'll drop
    > the patch series from my tree for the time being.

    There is a difficult problem with oldconfig.

    Today DEBUG_LL only works on versatile defconfigs (and oldconfig
    upgrades from there) because although CONFIG_DEBUG_LL_UART_NONE is
    selected the build system does not honour this and behaves as though the
    use selected CONFIG_DEBUG_LL_UART_PL01X instead.

    Unfortunately if we fix this and remove CONFIG_DEBUG_LL_UART_NONE as
    proposed above then the oldconfig will silently select
    CONFIG_DEBUG_SEMIHOSTING.

    In other words I will be able to offer a patch so that oldconfig
    *compiles* but I don't know how to get it to preserve behaviour (or
    whether this matters).

    Hints about what to do would be very welcome.


    Daniel.



    \
     
     \ /
      Last update: 2014-07-14 11:41    [W:2.741 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site