From: robert.jarzmik@free.fr (Robert Jarzmik)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/8] ARM: make xscale iwmmxt code multiplatform aware
Date: Wed, 04 Mar 2015 15:12:02 +0100 [thread overview]
Message-ID: <87pp8ozwb1.fsf@free.fr> (raw)
In-Reply-To: <1425043775-3106827-4-git-send-email-arnd@arndb.de> (Arnd Bergmann's message of "Fri, 27 Feb 2015 14:29:30 +0100")
Arnd Bergmann <arnd@arndb.de> writes:
> In a multiplatform configuration, we may end up building a kernel
> for both Marvell PJ1 and an ARMv4 CPU implementation. In that
> case, the xscale-cp0 code is built with gcc -march=armv4{,t},
> which results in a build error from the coprocessor instructions.
>
> Since we know this code will only have to run on an actual xscale
> processor, we can simply build the entire file for ARMv5TE.
>
> Related to this, we need to handle the iWMMXT initialization sequence
> differently during boot, to ensure we don't try to touch xscale
> specific registers on other CPUs from the xscale_cp0_init initcall.
> cpu_is_xscale() used to be hardcoded to '1' in any configuration
> that enables any XScale-compatible core, but this breaks once
> we can have a combined kernel with MMP1 and something else.
>
> In this patch, I introduce two new macros, cpu_is_xscale()
> and cpu_is_mohawk, so we can test for all three of them in
> the iwmmxt initialization. The two existing users of
> cpu_is_xscale() are modified accordingly, but slightly
> change behavior for kernels that enable CPU_MOHAWK in combination
> with CPU_XSCALE or CPU_XSC3. Previously, these would leave
> clear PMD_BIT4 in the page tables, now they leave it untouched,
> just like we always do for kernels that enable only CPU_MOHAWK.
> Since the previous behavior was inconsistent, I assume it was
> unintentional.
Hi Arnd,
I'm not sure I understand this patch fully, so take with caution my comment.
If I'm not mistaken, the former behavior was for pxa3xx:
- cpu_is_xscale() -> false
- cpu_is_xsc3() -> true
=> this implied PMD_BIT4 was set
With your patch :
- cpu_is_xscale() -> true
- cpu_is_xsc3() -> true
=> this implied PMD_BIT4 is not set
I like the new meaning for cpu_is_*(), but is the change of PMD_BIT4 the goal of
this patch (the piece in [1]) ?
Cheers.
--
Robert
[1]
> - if (cpu_architecture() <= CPU_ARCH_ARMv5TEJ && !cpu_is_xscale())
> + if (cpu_architecture() <= CPU_ARCH_ARMv5TEJ &&
> + !cpu_is_xscale() && !cpu_is_xsc3())
> prot |= PMD_BIT4;
>
> pgd += pgd_index(addr);
--
Robert
next prev parent reply other threads:[~2015-03-04 14:12 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-27 13:29 [PATCH 0/8] ARM: MMP multiplatform support Arnd Bergmann
2015-02-27 13:29 ` [PATCH 1/8] mtd: nand: pxa3xx: disable DMA support on MMP Arnd Bergmann
2015-02-27 13:29 ` [PATCH 2/8] clk: mmp: stop using platform headers Arnd Bergmann
2015-02-27 13:29 ` [PATCH 3/8] ARM: make xscale iwmmxt code multiplatform aware Arnd Bergmann
2015-02-27 17:53 ` Rob Herring
2015-02-27 19:20 ` Arnd Bergmann
2015-03-04 14:12 ` Robert Jarzmik [this message]
2015-03-04 14:38 ` Arnd Bergmann
2015-03-04 17:30 ` Robert Jarzmik
2015-03-09 17:37 ` Russell King - ARM Linux
2015-03-13 16:50 ` Arnd Bergmann
2015-03-13 16:56 ` [PATCH v2] " Arnd Bergmann
2015-02-27 13:29 ` [PATCH 4/8] ARM: mohawk: allow building with MMU disabled Arnd Bergmann
2015-02-27 13:29 ` [PATCH 5/8] ARM: mmp: remove remaining legacy pxa-dma support Arnd Bergmann
2015-02-27 13:30 ` Arnd Bergmann
2015-02-27 13:31 ` [PATCH 6/8] ARM: mmp: make all header files local Arnd Bergmann
2015-02-27 13:31 ` [PATCH 7/8] ARM: mmp: make plat-pxa build standalone 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=87pp8ozwb1.fsf@free.fr \
--to=robert.jarzmik@free.fr \
--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.