All of lore.kernel.org
 help / color / mirror / Atom feed
From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/6] ARM: move ARCH config definitions into mach dirs
Date: Thu, 30 Aug 2012 20:28:31 +0100	[thread overview]
Message-ID: <20120830192831.GD18957@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <503FB9E6.7020102@gmail.com>

On Thu, Aug 30, 2012 at 02:07:18PM -0500, Rob Herring wrote:
> On 08/30/2012 11:45 AM, Russell King - ARM Linux wrote:
> > That also means we can start to think about moving the mach/debug-macros.S
> > header elsewhere, remembering that this facility is shared between the
> > decompressor for debugging and the kernel.
> 
> I was thinking we could convert the phys and virt addresses to config
> values and then the DEBUG_LL choices could just be "Use PL01x uart" and
> "Use 8250 uart". This would cut down the number of debug-macro.S files
> and choices.
> 
> Using a fixed virtual address for all platforms might also help simplify
> DEBUG_LL.

No it won't, that comment says you totally don't understand the feature
you're playing with to me.

It's not only about virtual addresses, it's about physical addresses too,
and we can't dictate that all hardware exposes a UART at any particular
physical address.

Remember that the code provided by DEBUG_LL is used in the early kernel
bring up to set up the phys:virt mapping for the UART, it's also used by
the early kernel code to access the UART at the physical address, and by
the decompressor to also access the UART at the physical address.

So playing around with fixing it at a specific virtual address is total
poppycock, and is completely worthless.

I think what we need is arch/arm/include/debug, move the platform specific
debug-macros headers into there, named using platform specific file names.
Then we have the config system define a string-based config:

config DEBUG_LL_INCLUDE
	string
	default "<debug/icedcc.S>" if DEBUG_ICEDCC
	default "<debug/msm.S>" if DEBUG_MSM_UART1 || DEBUG_MSM_UART2 || DEBUG_MSM_UART3
... etc ...
	default "mach/debug-macros.S"

And then we can have the various assembly codes do:

#include CONFIG_DEBUG_LL_INCLUDE

Not only does this give a migration path, but it also gives folk a reason
to move to the 'new way' if they want to be part of a multi-platform
kernel - and it's a trivial thing to do.  Just move the include file,
add an entry to the DEBUG_LL_INCLUDE entry and the "Kernel low-level
debugging port" choice statement, and job done for both non-multi-platform
and multi-platform kernels.

What's even nicer about this approach is it doesn't require everyone to
change simultaneously - it can be done progressively as required.

  reply	other threads:[~2012-08-30 19:28 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-29 22:49 [PATCH 0/6] Initial multi-platform support Rob Herring
2012-08-29 22:49 ` [PATCH 1/6] ARM: move ARCH config definitions into mach dirs Rob Herring
2012-08-29 23:14   ` H Hartley Sweeten
2012-08-29 23:31   ` Russell King - ARM Linux
2012-08-30 15:18     ` Rob Herring
2012-08-30 16:45       ` Russell King - ARM Linux
2012-08-30 19:07         ` Rob Herring
2012-08-30 19:28           ` Russell King - ARM Linux [this message]
2012-08-31 11:05             ` Domenico Andreoli
2012-08-31 11:11               ` Russell King - ARM Linux
2012-08-31 11:46                 ` Domenico Andreoli
2012-09-01  0:48             ` Rob Herring
2012-09-02  8:49               ` Russell King - ARM Linux
2012-09-04 17:50                 ` Tony Lindgren
2012-08-29 22:49 ` [PATCH 2/6] ARM: introduce Kconfig.mach Rob Herring
2012-08-29 23:18   ` H Hartley Sweeten
2012-08-29 22:49 ` [PATCH 3/6] ARM: picoxcell: header fixes for multi-platform Rob Herring
2012-08-29 22:49 ` [PATCH 4/6] ARM: vexpress: remove dependency on mach/* headers Rob Herring
2012-08-29 22:49 ` [PATCH 5/6] ARM: initial multiplatform support Rob Herring
2012-08-29 22:50 ` [PATCH 6/6] ARM: update defconfigs Rob Herring
2012-08-31 18:12 ` [PATCH v2] ARM: initial multiplatform support Rob Herring
2012-09-03 16:34   ` Arnd Bergmann
2012-09-03 21:58     ` Rob Herring
2012-09-04  6:56       ` Arnd Bergmann
2012-09-04 22:40         ` Rob Herring
2012-09-05 10:36           ` Arnd Bergmann
2012-09-05 13:25             ` Rob Herring
2012-09-05 13:33               ` Arnd Bergmann

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=20120830192831.GD18957@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --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.