All of lore.kernel.org
 help / color / mirror / Atom feed
From: daniel.thompson@linaro.org (Daniel Thompson)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 0/4] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X)
Date: Mon, 14 Jul 2014 10:05:35 +0100	[thread overview]
Message-ID: <53C39D5F.6050901@linaro.org> (raw)
In-Reply-To: <20140712111004.GI21766@n2100.arm.linux.org.uk>

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.

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Thompson <daniel.thompson@linaro.org>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Paul Bolle <pebolle@tiscali.nl>,
	linaro-kernel@lists.linaro.org, Arnd Bergmann <arnd@arndb.de>,
	patches@linaro.org, spear-devel@list.st.com,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v7 0/4] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X)
Date: Mon, 14 Jul 2014 10:05:35 +0100	[thread overview]
Message-ID: <53C39D5F.6050901@linaro.org> (raw)
In-Reply-To: <20140712111004.GI21766@n2100.arm.linux.org.uk>

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.


  reply	other threads:[~2014-07-14  9:05 UTC|newest]

Thread overview: 156+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-04 11:17 [PATCH] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
2014-04-04 11:17 ` Daniel Thompson
2014-04-04 11:39 ` Arnd Bergmann
2014-04-04 11:39   ` Arnd Bergmann
2014-04-04 14:02   ` Daniel Thompson
2014-04-04 14:02     ` Daniel Thompson
2014-04-04 14:14   ` Paul Bolle
2014-04-04 14:14     ` Paul Bolle
2014-04-04 14:52     ` Paul Bolle
2014-04-04 14:52       ` Paul Bolle
2014-04-04 14:41 ` Russell King - ARM Linux
2014-04-04 14:41   ` Russell King - ARM Linux
2014-04-04 15:18   ` Daniel Thompson
2014-04-04 15:18     ` Daniel Thompson
2014-04-04 14:47 ` [PATCH v2] " Daniel Thompson
2014-04-04 14:47   ` Daniel Thompson
2014-04-04 15:41   ` [PATCH v3] " Daniel Thompson
2014-04-04 15:41     ` Daniel Thompson
2014-04-07 12:48     ` Daniel Thompson
2014-04-07 12:48       ` Daniel Thompson
2014-04-07 15:54     ` [PATCH v4 0/5] " Daniel Thompson
2014-04-07 15:54       ` Daniel Thompson
2014-04-07 15:54       ` [PATCH v4 1/5] ARM: versatile: Enable DEBUG_LL_UART_PL01X Daniel Thompson
2014-04-07 15:54         ` Daniel Thompson
2014-04-07 15:54       ` [PATCH v4 2/5] ARM: ep93xx: " Daniel Thompson
2014-04-07 15:54         ` Daniel Thompson
2014-04-07 15:54       ` [PATCH v4 3/5] ARM: Conceal DEBUG_LL_UART_NONE from unsupported platforms Daniel Thompson
2014-04-07 15:54         ` Daniel Thompson
2014-04-07 15:54       ` [PATCH v4 4/5] arm: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX Daniel Thompson
2014-04-07 15:54         ` Daniel Thompson
2014-04-07 15:54       ` [PATCH v4 5/5] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
2014-04-07 15:54         ` Daniel Thompson
2014-04-24 16:00       ` [RESEND PATCH v5 0/5] " Daniel Thompson
2014-04-24 16:00         ` Daniel Thompson
2014-04-24 16:00         ` [RESEND PATCH v5 1/5] ARM: versatile: Enable DEBUG_LL_UART_PL01X Daniel Thompson
2014-04-24 16:00           ` Daniel Thompson
2014-04-24 16:00         ` [RESEND PATCH v5 2/5] ARM: ep93xx: " Daniel Thompson
2014-04-24 16:00           ` Daniel Thompson
2014-04-24 16:00         ` [RESEND PATCH v5 3/5] ARM: Conceal DEBUG_LL_UART_NONE from unsupported platforms Daniel Thompson
2014-04-24 16:00           ` Daniel Thompson
2014-04-24 16:00         ` [RESEND PATCH v5 4/5] arm: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX Daniel Thompson
2014-04-24 16:00           ` Daniel Thompson
2014-04-24 16:00         ` [RESEND PATCH v5 5/5] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
2014-04-24 16:00           ` Daniel Thompson
2014-05-23 15:10         ` [RESEND PATCH v5 0/5] " Daniel Thompson
2014-05-23 15:10           ` Daniel Thompson
2014-05-23 15:10           ` [RESEND PATCH v5 1/5] ARM: versatile: Enable DEBUG_LL_UART_PL01X Daniel Thompson
2014-05-23 15:10             ` Daniel Thompson
2014-05-23 15:10           ` [RESEND PATCH v5 2/5] ARM: ep93xx: " Daniel Thompson
2014-05-23 15:10             ` Daniel Thompson
2014-05-23 15:10           ` [RESEND PATCH v5 3/5] ARM: Conceal DEBUG_LL_UART_NONE from unsupported platforms Daniel Thompson
2014-05-23 15:10             ` Daniel Thompson
2014-05-23 15:35             ` Arnd Bergmann
2014-05-23 15:35               ` Arnd Bergmann
2014-05-26 13:39               ` Arnd Bergmann
2014-05-26 13:39                 ` Arnd Bergmann
2014-05-27 13:13                 ` Daniel Thompson
2014-05-27 13:13                   ` Daniel Thompson
2014-05-27 13:37                   ` Arnd Bergmann
2014-05-27 13:37                     ` Arnd Bergmann
2014-05-27 13:52                     ` Daniel Thompson
2014-05-27 13:52                       ` Daniel Thompson
2014-05-23 15:10           ` [RESEND PATCH v5 4/5] arm: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX Daniel Thompson
2014-05-23 15:10             ` Daniel Thompson
2014-05-23 15:10           ` [RESEND PATCH v5 5/5] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
2014-05-23 15:10             ` Daniel Thompson
2014-05-27 16:00           ` [PATCH v6 0/5] " Daniel Thompson
2014-05-27 16:00             ` Daniel Thompson
2014-05-27 16:00             ` [PATCH v6 1/5] ARM: versatile: Enable DEBUG_LL_UART_PL01X Daniel Thompson
2014-05-27 16:00               ` Daniel Thompson
2014-05-27 16:00             ` [PATCH v6 2/5] ARM: ep93xx: " Daniel Thompson
2014-05-27 16:00               ` Daniel Thompson
2014-05-27 16:00             ` [PATCH v6 3/5] ARM: Hide DEBUG_LL_UART_NONE from unsupported platforms Daniel Thompson
2014-05-27 16:00               ` Daniel Thompson
2014-05-27 16:00             ` [PATCH v6 4/5] arm: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX Daniel Thompson
2014-05-27 16:00               ` Daniel Thompson
2014-05-27 16:00             ` [PATCH v6 5/5] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
2014-05-27 16:00               ` Daniel Thompson
2014-06-30 11:30             ` [PATCH v7 0/4] " Daniel Thompson
2014-06-30 11:30               ` Daniel Thompson
2014-06-30 11:30               ` [PATCH v7 1/4] ARM: versatile: Enable DEBUG_LL_UART_PL01X Daniel Thompson
2014-06-30 11:30                 ` Daniel Thompson
2014-06-30 11:30               ` [PATCH v7 2/4] ARM: ep93xx: " Daniel Thompson
2014-06-30 11:30                 ` Daniel Thompson
2014-06-30 11:30               ` [PATCH v7 3/4] arm: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX Daniel Thompson
2014-06-30 11:30                 ` Daniel Thompson
2014-06-30 11:30               ` [PATCH v7 4/4] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
2014-06-30 11:30                 ` Daniel Thompson
2014-06-30 13:20               ` [PATCH v7 0/4] " Arnd Bergmann
2014-06-30 13:20                 ` Arnd Bergmann
2014-07-12 10:16               ` Russell King - ARM Linux
2014-07-12 10:16                 ` Russell King - ARM Linux
2014-07-12 11:10                 ` Russell King - ARM Linux
2014-07-12 11:10                   ` Russell King - ARM Linux
2014-07-14  9:05                   ` Daniel Thompson [this message]
2014-07-14  9:05                     ` Daniel Thompson
2014-07-14 10:39                     ` Daniel Thompson
2014-07-14 10:39                       ` Daniel Thompson
2014-07-14 15:27                     ` Arnd Bergmann
2014-07-14 15:27                       ` Arnd Bergmann
2014-07-15 10:32                       ` Arnd Bergmann
2014-07-15 10:32                         ` Arnd Bergmann
2014-07-15 10:54                         ` Daniel Thompson
2014-07-15 10:54                           ` Daniel Thompson
2014-08-19 14:48               ` [PATCH v8 0/9] " Daniel Thompson
2014-08-19 14:48                 ` Daniel Thompson
2014-08-19 14:48                 ` [PATCH v8 1/9] arm: versatile: Enable DEBUG_LL_UART_PL01X Daniel Thompson
2014-08-19 14:48                   ` Daniel Thompson
2014-08-19 14:48                 ` [PATCH v8 2/9] arm: ep93xx: " Daniel Thompson
2014-08-19 14:48                   ` Daniel Thompson
2014-08-19 14:48                 ` [PATCH v8 3/9] arm: Remove DEBUG_LL_UART_NONE Daniel Thompson
2014-08-19 14:48                   ` Daniel Thompson
2014-08-19 14:48                 ` [PATCH v8 4/9] arm: ks8695: Migrate debug_ll macros to shared directory Daniel Thompson
2014-08-19 14:48                   ` Daniel Thompson
2014-08-19 14:48                 ` [PATCH v8 5/9] arm: omap1: Migrate debug_ll macros to use 8250.S Daniel Thompson
2014-08-19 14:48                   ` Daniel Thompson
2014-08-19 14:48                 ` [PATCH v8 6/9] arm: netx: Migrate DEBUG_LL macros to shared directory Daniel Thompson
2014-08-19 14:48                   ` Daniel Thompson
2014-09-15 16:34                   ` Paul Bolle
2014-09-15 16:34                     ` Paul Bolle
2014-09-15 21:47                     ` Daniel Thompson
2014-09-15 21:47                       ` Daniel Thompson
2014-09-16 22:37                       ` Daniel Thompson
2014-09-16 22:37                         ` Daniel Thompson
2014-08-19 14:48                 ` [PATCH v8 7/9] arm: sa1100: " Daniel Thompson
2014-08-19 14:48                   ` Daniel Thompson
2014-08-19 14:48                 ` [PATCH v8 8/9] arm: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX Daniel Thompson
2014-08-19 14:48                   ` Daniel Thompson
2014-08-19 14:48                 ` [PATCH v8 9/9] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
2014-08-19 14:48                   ` Daniel Thompson
2014-08-19 15:16                 ` [PATCH v9 0/9] " Daniel Thompson
2014-08-19 15:16                   ` Daniel Thompson
2014-08-19 15:16                   ` [PATCH v9 1/9] arm: versatile: Enable DEBUG_LL_UART_PL01X Daniel Thompson
2014-08-19 15:16                     ` Daniel Thompson
2014-08-19 15:16                   ` [PATCH v9 2/9] arm: ep93xx: " Daniel Thompson
2014-08-19 15:16                     ` Daniel Thompson
2014-08-19 15:16                   ` [PATCH v9 3/9] arm: Remove DEBUG_LL_UART_NONE Daniel Thompson
2014-08-19 15:16                     ` Daniel Thompson
2014-08-19 15:16                   ` [PATCH v9 4/9] arm: ks8695: Migrate debug_ll macros to shared directory Daniel Thompson
2014-08-19 15:16                     ` Daniel Thompson
2014-08-21 11:46                     ` Greg Ungerer
2014-08-21 11:46                       ` Greg Ungerer
2014-09-01  9:04                       ` Daniel Thompson
2014-09-01  9:04                         ` Daniel Thompson
2014-08-19 15:16                   ` [PATCH v9 5/9] arm: omap1: Migrate debug_ll macros to use 8250.S Daniel Thompson
2014-08-19 15:16                     ` Daniel Thompson
2014-09-08 23:04                     ` Tony Lindgren
2014-09-08 23:04                       ` Tony Lindgren
2014-08-19 15:16                   ` [PATCH v9 6/9] arm: netx: Migrate DEBUG_LL macros to shared directory Daniel Thompson
2014-08-19 15:16                     ` Daniel Thompson
2014-08-19 15:16                   ` [PATCH v9 7/9] arm: sa1100: " Daniel Thompson
2014-08-19 15:16                     ` Daniel Thompson
2014-08-19 15:16                   ` [PATCH v9 8/9] arm: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX Daniel Thompson
2014-08-19 15:16                     ` Daniel Thompson
2014-08-19 15:16                   ` [PATCH v9 9/9] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
2014-08-19 15:16                     ` Daniel Thompson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53C39D5F.6050901@linaro.org \
    --to=daniel.thompson@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.