All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: XIP_KERNEL and !ARCH_MULTIPLATFORM
Date: Sun, 22 Mar 2015 19:48:47 +0000	[thread overview]
Message-ID: <201503222048.47779.arnd@arndb.de> (raw)
In-Reply-To: <20150322165710.GO8656@n2100.arm.linux.org.uk>

On Sunday 22 March 2015, Russell King - ARM Linux wrote:
> > You are correct...maybe my wording was confusing. This is what I meant:
> > 
> > config ARCH_MULTIPLATFORM
> >       bool "Allow multiple platforms to be selected"
> >       depends on MMU
> >       select ARCH_WANT_OPTIONAL_GPIOLIB
> >       select ARM_HAS_SG_CHAIN
> > -     select ARM_PATCH_PHYS_VIRT
> > +     select ARM_PATCH_PHYS_VIRT if !XIP_KERNEL
> 
> Yes, that makes sense if we agree that we want to have multi-platform
> XIP kernels.

I'd rather see this possibility enabled than have separate multiplatform
and non-multiplatform Kconfig entries for each machine that may
want XIP_KERNEL. The same thing applies to no-MMU support: we now
have platforms (i.MX for now, other likely to follow) that are already
multiplatform and that are gaining support for no-MMU implementations.

For those too, we need to set the physical address, which means
we can not run on othe rmachines that may be configured at the
same time.

> The problem is going to be expressing what a set of valid configurations
> are - soo many of them just won't boot.  For example, if any of the
> multiplatforms select SMP, but you want a non-SMP XIP kernel, you have
> to devine which platforms are forcibly selecting SMP and turn them off.
> In some of the kernel configurators, that's almost impossible to find
> out.

For a XIP kernel, I'd normally expect the user to turn off all machines
other than the one that the kernel is meant to run on, except for build
testing.

> I guess the other problem is going to be that people will want to add a
> set of reasonable defaults for CONFIG_PHYS_OFFSET based upon the
> platform selected - and we know that we have problems with that kind of
> thing when it comes to the DEBUG_LL stuff interacting with a multiplatform
> kernel.

I think a number of people have expressed that they'd rather get rid of the
DEBUG_LL list in the long run, now that we have earlycon working. If we
can treat XIP_KERNEL as a special case that would only be used for special
embedded systems, I don't think we need a preconfigured list of defaults,
but rather hide XIP_KERNEL under CONFIG_EXPERT and expect the few users
that need it to know the address or start with a working defconfig file
that has it configured.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: XIP_KERNEL and !ARCH_MULTIPLATFORM
Date: Sun, 22 Mar 2015 20:48:47 +0100	[thread overview]
Message-ID: <201503222048.47779.arnd@arndb.de> (raw)
In-Reply-To: <20150322165710.GO8656@n2100.arm.linux.org.uk>

On Sunday 22 March 2015, Russell King - ARM Linux wrote:
> > You are correct...maybe my wording was confusing. This is what I meant:
> > 
> > config ARCH_MULTIPLATFORM
> >       bool "Allow multiple platforms to be selected"
> >       depends on MMU
> >       select ARCH_WANT_OPTIONAL_GPIOLIB
> >       select ARM_HAS_SG_CHAIN
> > -     select ARM_PATCH_PHYS_VIRT
> > +     select ARM_PATCH_PHYS_VIRT if !XIP_KERNEL
> 
> Yes, that makes sense if we agree that we want to have multi-platform
> XIP kernels.

I'd rather see this possibility enabled than have separate multiplatform
and non-multiplatform Kconfig entries for each machine that may
want XIP_KERNEL. The same thing applies to no-MMU support: we now
have platforms (i.MX for now, other likely to follow) that are already
multiplatform and that are gaining support for no-MMU implementations.

For those too, we need to set the physical address, which means
we can not run on othe rmachines that may be configured at the
same time.

> The problem is going to be expressing what a set of valid configurations
> are - soo many of them just won't boot.  For example, if any of the
> multiplatforms select SMP, but you want a non-SMP XIP kernel, you have
> to devine which platforms are forcibly selecting SMP and turn them off.
> In some of the kernel configurators, that's almost impossible to find
> out.

For a XIP kernel, I'd normally expect the user to turn off all machines
other than the one that the kernel is meant to run on, except for build
testing.

> I guess the other problem is going to be that people will want to add a
> set of reasonable defaults for CONFIG_PHYS_OFFSET based upon the
> platform selected - and we know that we have problems with that kind of
> thing when it comes to the DEBUG_LL stuff interacting with a multiplatform
> kernel.

I think a number of people have expressed that they'd rather get rid of the
DEBUG_LL list in the long run, now that we have earlycon working. If we
can treat XIP_KERNEL as a special case that would only be used for special
embedded systems, I don't think we need a preconfigured list of defaults,
but rather hide XIP_KERNEL under CONFIG_EXPERT and expect the few users
that need it to know the address or start with a working defconfig file
that has it configured.

	Arnd

  reply	other threads:[~2015-03-22 19:48 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-17  3:48 XIP_KERNEL and !ARCH_MULTIPLATFORM Chris Brandt
2015-03-17  3:48 ` Chris Brandt
2015-03-17 10:26 ` Russell King - ARM Linux
2015-03-17 10:26   ` Russell King - ARM Linux
2015-03-17 13:29   ` Chris Brandt
2015-03-17 13:29     ` Chris Brandt
2015-03-17 10:50 ` Geert Uytterhoeven
2015-03-17 10:50   ` Geert Uytterhoeven
2015-03-17 13:46   ` Chris Brandt
2015-03-17 13:46     ` Chris Brandt
2015-03-17 13:57     ` Geert Uytterhoeven
2015-03-17 13:57       ` Geert Uytterhoeven
2015-03-17 16:08       ` Chris Brandt
2015-03-17 16:08         ` Chris Brandt
2015-03-17 16:20         ` Geert Uytterhoeven
2015-03-17 16:20           ` Geert Uytterhoeven
2015-03-17 16:28           ` Russell King - ARM Linux
2015-03-17 16:28             ` Russell King - ARM Linux
2015-03-17 16:37             ` Chris Brandt
2015-03-17 16:37               ` Chris Brandt
2015-03-17 16:34           ` Chris Brandt
2015-03-17 16:34             ` Chris Brandt
2015-03-19 20:57           ` Chris Brandt
2015-03-19 20:57             ` Chris Brandt
2015-03-20  8:19             ` Uwe Kleine-König
2015-03-20  8:19               ` Uwe Kleine-König
2015-03-20 20:18               ` Chris Brandt
2015-03-20 20:18                 ` Chris Brandt
2015-03-22  9:13                 ` Uwe Kleine-König
2015-03-22  9:13                   ` Uwe Kleine-König
2015-03-20 22:23             ` Russell King - ARM Linux
2015-03-20 22:23               ` Russell King - ARM Linux
2015-03-21 15:39               ` Chris Brandt
2015-03-21 15:39                 ` Chris Brandt
2015-03-22 16:57                 ` Russell King - ARM Linux
2015-03-22 16:57                   ` Russell King - ARM Linux
2015-03-22 19:48                   ` Arnd Bergmann [this message]
2015-03-22 19:48                     ` Arnd Bergmann
2015-03-23  1:41                     ` Chris Brandt
2015-03-23  1:41                       ` Chris Brandt
2015-03-23  1:24                   ` Chris Brandt
2015-03-23  1:24                     ` Chris Brandt
2015-03-23  5:54                     ` Arnd Bergmann
2015-03-23  5:54                       ` Arnd Bergmann
2015-03-23 13:54                       ` Chris Brandt
2015-03-23 13:54                         ` Chris Brandt
2015-03-22 19:40                 ` Arnd Bergmann
2015-03-22 19:40                   ` Arnd Bergmann
2015-03-23  1:37                 ` Geert Uytterhoeven
2015-03-23  1:37                   ` Geert Uytterhoeven
2015-03-23  1:49                   ` Chris Brandt
2015-03-23  1:49                     ` Chris Brandt
2015-03-17 16:36 ` Uwe Kleine-König
2015-03-17 16:36   ` Uwe Kleine-König
2015-04-05 16:02 ` Russell King - ARM Linux
2015-04-05 16:02   ` Russell King - ARM Linux
2015-04-07  3:31   ` Chris Brandt
2015-04-07  3:31     ` Chris Brandt

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=201503222048.47779.arnd@arndb.de \
    --to=arnd@arndb.de \
    --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.