From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v1 6/8] ARM: hisi: add hip04 SoC support
Date: Sun, 06 Apr 2014 20:27:37 +0200 [thread overview]
Message-ID: <5010360.d9VTMQPr6c@wuerfel> (raw)
In-Reply-To: <CAOesGMiKeSvHL8ccjQuANggkA5yg+XyQppQEN0qS=XB=1O+e6w@mail.gmail.com>
On Saturday 05 April 2014 19:01:16 Olof Johansson wrote:
> On Fri, Apr 4, 2014 at 8:43 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> > I think we should actually extend the CPU selection phase for multiplatform,
> > so we have separate symbols for ARCH_MULTI_V7 (non-LPAE) and
> > ARCH_MULTI_V7_LPAE. These would still be selectable at the same time,
> > but you should only be able to turn on CONFIG_LPAE if ARCH_MULTI_V7
> > is disabled.
> >
> > A platform that cannot run without LPAE conversely would have to depend
> > on (ARCH_MULTI_V7_LPAE && !ARCH_MULTI_V7 && !ARCH_MULTI_V6). Once it
> > does this, it can 'select LPAE' without breaking other platforms.
>
> Why not just have it depend on ARCH_MULTI_V7 && LPAE? LPAE shouldn't
> be possible to enable if MULTI_V6 is enabled.
>
> So, you'd have:
>
> MULTI_V6
> MULTI_V6 + V7
> MULTI_V7 + LPAE
>
> as valid options.
>
> We'd need to annotate existing non-LPAE platforms with depends on
> !LPAE, but that shouldn't be a big deal.
That would work, too. It really depends on how we treat global
options like MMU, SMP, LPAE, SPARSEMEM, etc in combination with
multiplatform kernels. At the moment we are rather inconsistent,
and so far I have always thought we should have them ordered in
the Kconfig menu in the same way as the dependency flow:
1. Pick a platform type (normally ARCH_MULTIPLATFORM)
2. (if ARCH_MULTIPLATFORM), pick architecture level(s): V4, V4T, V5, V6,
V6K, V6K+SMP, V7, V7+LPAE, V7-M. We may decide to skip some of these.
3. Pick global features that are allowed based on 1. and 2.:
MMU, SMP, LPAE, SPARSEMEM
4. (again, if MULTIPLATFORM) Pick SoC families, based on 1. and 2.
5. (if necessary) Pick boards.
I'd like to keep steps 3 and 4 independent of one another, possibly
doing them in the opposite order.
An idea I just had was to essentially always imply compatibility
to later architectures where possible, e.g. selecting v4 would always
enable v4t and v5, and selecting v6k would always enable support for
v6+smp, v7 and v7+lpae, but not to v6. If we do this, the matrix
of possible combinations becomes much simpler, and for all I can tell
we only lose the ones that are not interesting anyway. The cost
of enabling support for a later architecture level is usually much
lower than the cost for enabling an earlier level.
The architecture level selection at that point becomes a simple
'choice' statement, rather than the complex logic I introduced
for multiplatform initially. It would also simplify adding new
levels for v7-m and v7-r.
> And, we should probably change the multi defconfigs to be:
>
> multi_v6_v7_defconfig which contains what v7_defconfig does today,
> plus the v6 platforms
> multi_lpae_defconfig which contains only v7+lpae platforms (and would
> enable kvm, etc).
I like this part.
Arnd
next prev parent reply other threads:[~2014-04-06 18:27 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-01 8:03 [PATCH v1 0/8] support Hisilicon HiP04 Haojian Zhuang
2014-04-01 8:03 ` [PATCH v1 1/8] ARM: debug: add HiP04 debug uart Haojian Zhuang
2014-04-01 8:03 ` [PATCH v1 2/8] ARM: hisi: add ARCH_HISI Haojian Zhuang
2014-04-01 8:03 ` [PATCH v1 3/8] irq: gic: use mask field in GICC_IAR Haojian Zhuang
2014-04-01 8:03 ` [PATCH v1 4/8] irq: gic: extends the cpu interface to 16 Haojian Zhuang
2014-04-01 8:03 ` [PATCH v1 5/8] ARM: mcpm: change max clusters to 4 Haojian Zhuang
2014-04-01 8:03 ` [PATCH v1 6/8] ARM: hisi: add hip04 SoC support Haojian Zhuang
2014-04-04 14:57 ` Kevin Hilman
2014-04-04 15:43 ` Arnd Bergmann
2014-04-06 2:01 ` Olof Johansson
2014-04-06 18:27 ` Arnd Bergmann [this message]
2014-04-01 8:03 ` [PATCH v1 7/8] ARM: dts: add hip04-d01 dts file Haojian Zhuang
2014-04-01 8:03 ` [PATCH v1 8/8] ARM: config: append hip04_defconfig Haojian Zhuang
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=5010360.d9VTMQPr6c@wuerfel \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox