All of lore.kernel.org
 help / color / mirror / Atom feed
From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv2 2/2] ARM: debug: Move DEBUG_ICEDCC into the DEBUG_LL choice
Date: Thu, 29 Sep 2011 10:22:42 -0700	[thread overview]
Message-ID: <4E84A962.9030806@codeaurora.org> (raw)
In-Reply-To: <20110929103939.GD25061@e102144-lin.cambridge.arm.com>

On 09/29/11 03:39, Will Deacon wrote:
> Hi Russell,
>
> On Thu, Sep 29, 2011 at 10:46:02AM +0100, Russell King - ARM Linux wrote:
>> On Thu, Sep 29, 2011 at 10:42:43AM +0100, Will Deacon wrote:
>>> Bah, just took this for a spin on my Realview-PBX (Cortex-A9) platform and
>>> the board won't boot unless I have a hardware debugger enabled that can
>>> service the comms channel. This contradicts the Kconfig text which says:
>>>
>>> 	  It does include a timeout to ensure that the system does not
>>> 	  totally freeze when there is nothing connected to read.
>>>
>>> so we certainly need to fix something!
>> One of the problems you'll encounter is that there's places where we
>> don't have any timer infrastructure (eg, decompressor) and software
>> timing loops won't work (they'll be too slow for the lower-end CPUs
>> and too fast for the upper-end CPUs.)
> Agreed, software timing loops are the only option and it's impossible to get
> them right everywhere. I think the Kconfig help text should be updated so
> that the timeout paragraph is removed.

Yes if you wait a long time the timeout for each character will expire
and the execution will continue.

>
>> The best fix is probably to leave that as-is, but introduce a 'default'
>> output entry instead - so platforms which don't have any listed will
>> get that instead of the ICEDDC stuff.
[...]
> ----8<----
>
> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
> index 32b1be4..bfdf86b 100644
> --- a/arch/arm/Kconfig.debug
> +++ b/arch/arm/Kconfig.debug
> @@ -81,6 +81,14 @@ choice
>         prompt "Kernel low-level debugging port"
>         depends on DEBUG_LL
>  
> +       config DEBUG_LL_UART_NONE
> +               bool "No low-level debugging UART"

Should this grow a long list of platforms that are in this choice menu?
For example:

    depends on !FOOTBRIDGE && !ARCH_CLPS711X && ...

> +               help
> +                 Say Y here if your platform doesn't provide a UART option
> +                 below. This relies on your platform choosing the right UART
> +                 definition internally in order for low-level debugging to
> +                 work.
> +
>         config DEBUG_ICEDCC
>                 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
>                 help
> @@ -89,8 +97,8 @@ choice
>                   co-processor 14. This is known to work on the ARM9 style ICE
>                   channel and on the XScale with the PEEDI.
>  
> -                 It does include a timeout to ensure that the system does not
> -                 totally freeze when there is nothing connected to read.
> +                 Note that this may cause the system to hang during boot if
> +                 there is nothing to read from the DCC.
>  
>         config DEBUG_FOOTBRIDGE_COM1
>                 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
>

Otherwise

Acked-by: Stephen Boyd <sboyd@codeaurora.org>

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Boyd <sboyd@codeaurora.org>
To: Will Deacon <will.deacon@arm.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	David Brown <davidb@codeaurora.org>
Subject: Re: [PATCHv2 2/2] ARM: debug: Move DEBUG_ICEDCC into the DEBUG_LL choice
Date: Thu, 29 Sep 2011 10:22:42 -0700	[thread overview]
Message-ID: <4E84A962.9030806@codeaurora.org> (raw)
In-Reply-To: <20110929103939.GD25061@e102144-lin.cambridge.arm.com>

On 09/29/11 03:39, Will Deacon wrote:
> Hi Russell,
>
> On Thu, Sep 29, 2011 at 10:46:02AM +0100, Russell King - ARM Linux wrote:
>> On Thu, Sep 29, 2011 at 10:42:43AM +0100, Will Deacon wrote:
>>> Bah, just took this for a spin on my Realview-PBX (Cortex-A9) platform and
>>> the board won't boot unless I have a hardware debugger enabled that can
>>> service the comms channel. This contradicts the Kconfig text which says:
>>>
>>> 	  It does include a timeout to ensure that the system does not
>>> 	  totally freeze when there is nothing connected to read.
>>>
>>> so we certainly need to fix something!
>> One of the problems you'll encounter is that there's places where we
>> don't have any timer infrastructure (eg, decompressor) and software
>> timing loops won't work (they'll be too slow for the lower-end CPUs
>> and too fast for the upper-end CPUs.)
> Agreed, software timing loops are the only option and it's impossible to get
> them right everywhere. I think the Kconfig help text should be updated so
> that the timeout paragraph is removed.

Yes if you wait a long time the timeout for each character will expire
and the execution will continue.

>
>> The best fix is probably to leave that as-is, but introduce a 'default'
>> output entry instead - so platforms which don't have any listed will
>> get that instead of the ICEDDC stuff.
[...]
> ----8<----
>
> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
> index 32b1be4..bfdf86b 100644
> --- a/arch/arm/Kconfig.debug
> +++ b/arch/arm/Kconfig.debug
> @@ -81,6 +81,14 @@ choice
>         prompt "Kernel low-level debugging port"
>         depends on DEBUG_LL
>  
> +       config DEBUG_LL_UART_NONE
> +               bool "No low-level debugging UART"

Should this grow a long list of platforms that are in this choice menu?
For example:

    depends on !FOOTBRIDGE && !ARCH_CLPS711X && ...

> +               help
> +                 Say Y here if your platform doesn't provide a UART option
> +                 below. This relies on your platform choosing the right UART
> +                 definition internally in order for low-level debugging to
> +                 work.
> +
>         config DEBUG_ICEDCC
>                 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
>                 help
> @@ -89,8 +97,8 @@ choice
>                   co-processor 14. This is known to work on the ARM9 style ICE
>                   channel and on the XScale with the PEEDI.
>  
> -                 It does include a timeout to ensure that the system does not
> -                 totally freeze when there is nothing connected to read.
> +                 Note that this may cause the system to hang during boot if
> +                 there is nothing to read from the DCC.
>  
>         config DEBUG_FOOTBRIDGE_COM1
>                 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
>

Otherwise

Acked-by: Stephen Boyd <sboyd@codeaurora.org>

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


  parent reply	other threads:[~2011-09-29 17:22 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-21  1:23 [PATCHv2 1/2] ARM: debug: Add UART1 config choices Stephen Boyd
2011-09-21  1:23 ` Stephen Boyd
2011-09-21  1:23 ` [PATCHv2 2/2] ARM: debug: Move DEBUG_ICEDCC into the DEBUG_LL choice Stephen Boyd
2011-09-21  1:23   ` Stephen Boyd
2011-09-21  7:56   ` Stephen Boyd
2011-09-21  7:56     ` Stephen Boyd
2011-09-29  2:05   ` Stephen Boyd
2011-09-29  2:05     ` Stephen Boyd
2011-09-29  9:21     ` Will Deacon
2011-09-29  9:21       ` Will Deacon
2011-09-29  9:42       ` Will Deacon
2011-09-29  9:42         ` Will Deacon
2011-09-29  9:46         ` Russell King - ARM Linux
2011-09-29  9:46           ` Russell King - ARM Linux
2011-09-29 10:39           ` Will Deacon
2011-09-29 10:39             ` Will Deacon
2011-09-29 10:49             ` Russell King - ARM Linux
2011-09-29 10:49               ` Russell King - ARM Linux
2011-09-29 17:22             ` Stephen Boyd [this message]
2011-09-29 17:22               ` Stephen Boyd
2011-09-29 17:30               ` Will Deacon
2011-09-29 17:30                 ` Will Deacon
2011-09-29 18:04               ` David Brown
2011-09-29 18:04                 ` David Brown

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=4E84A962.9030806@codeaurora.org \
    --to=sboyd@codeaurora.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.