* [PATCH] exynos: Support big endian mode in secondary_startup
@ 2014-07-21 16:01 ` Mark Brown
0 siblings, 0 replies; 8+ messages in thread
From: Mark Brown @ 2014-07-21 16:01 UTC (permalink / raw)
To: Kukjin Kim
Cc: linux-arm-kernel, linux-samsung-soc, Victor Kamensky, Mark Brown
From: Victor Kamensky <victor.kamensky@linaro.org>
Exynos processors generally operate in little endian mode so their
bootloader and ROM will almost always operate in little endian mode.
This means that if a big endian kernel is run it must switch the CPU
into big endian mode after gaining control.
The generic secondary_startup that is called from exynos specific
secondary startup code will do the switch, but we need it to do earlier
because exynos specific secondary_startup code which runs first also
works with data that is big endian when the kernel is compiled for big
endian.
[Rewrote commit message. -- broonie]
Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
arch/arm/mach-exynos/headsmp.S | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm/mach-exynos/headsmp.S b/arch/arm/mach-exynos/headsmp.S
index b54f9701e421..ac8364efb985 100644
--- a/arch/arm/mach-exynos/headsmp.S
+++ b/arch/arm/mach-exynos/headsmp.S
@@ -18,6 +18,11 @@
* ready for them to initialise.
*/
ENTRY(exynos4_secondary_startup)
+ /*
+ * ROM code operates in little endian mode, when we get control we
+ * need to switch it to big endian mode.
+ */
+ARM_BE8(setend be)
mrc p15, 0, r0, c0, c0, 5
and r0, r0, #15
adr r4, 1f
--
2.0.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] exynos: Support big endian mode in secondary_startup
@ 2014-07-21 16:01 ` Mark Brown
0 siblings, 0 replies; 8+ messages in thread
From: Mark Brown @ 2014-07-21 16:01 UTC (permalink / raw)
To: linux-arm-kernel
From: Victor Kamensky <victor.kamensky@linaro.org>
Exynos processors generally operate in little endian mode so their
bootloader and ROM will almost always operate in little endian mode.
This means that if a big endian kernel is run it must switch the CPU
into big endian mode after gaining control.
The generic secondary_startup that is called from exynos specific
secondary startup code will do the switch, but we need it to do earlier
because exynos specific secondary_startup code which runs first also
works with data that is big endian when the kernel is compiled for big
endian.
[Rewrote commit message. -- broonie]
Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
arch/arm/mach-exynos/headsmp.S | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm/mach-exynos/headsmp.S b/arch/arm/mach-exynos/headsmp.S
index b54f9701e421..ac8364efb985 100644
--- a/arch/arm/mach-exynos/headsmp.S
+++ b/arch/arm/mach-exynos/headsmp.S
@@ -18,6 +18,11 @@
* ready for them to initialise.
*/
ENTRY(exynos4_secondary_startup)
+ /*
+ * ROM code operates in little endian mode, when we get control we
+ * need to switch it to big endian mode.
+ */
+ARM_BE8(setend be)
mrc p15, 0, r0, c0, c0, 5
and r0, r0, #15
adr r4, 1f
--
2.0.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* RE: [PATCH] exynos: Support big endian mode in secondary_startup
2014-07-21 16:01 ` Mark Brown
@ 2014-07-25 4:45 ` Kukjin Kim
-1 siblings, 0 replies; 8+ messages in thread
From: Kukjin Kim @ 2014-07-25 4:45 UTC (permalink / raw)
To: 'Mark Brown'
Cc: linux-arm-kernel, linux-samsung-soc, 'Victor Kamensky',
'Mark Brown'
Mark Brown wrote:
>
> From: Victor Kamensky <victor.kamensky@linaro.org>
>
> Exynos processors generally operate in little endian mode so their
> bootloader and ROM will almost always operate in little endian mode.
> This means that if a big endian kernel is run it must switch the CPU
> into big endian mode after gaining control.
>
> The generic secondary_startup that is called from exynos specific
> secondary startup code will do the switch, but we need it to do earlier
> because exynos specific secondary_startup code which runs first also
> works with data that is big endian when the kernel is compiled for big
> endian.
>
> [Rewrote commit message. -- broonie]
>
> Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
> Signed-off-by: Mark Brown <broonie@linaro.org>
Hi Mark,
Basically, I have no objection on this, BTW is there any requirement to support
big endian on exynos stuff? Just wondering...
Thanks,
Kukjin
> ---
> arch/arm/mach-exynos/headsmp.S | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm/mach-exynos/headsmp.S b/arch/arm/mach-exynos/headsmp.S
> index b54f9701e421..ac8364efb985 100644
> --- a/arch/arm/mach-exynos/headsmp.S
> +++ b/arch/arm/mach-exynos/headsmp.S
> @@ -18,6 +18,11 @@
> * ready for them to initialise.
> */
> ENTRY(exynos4_secondary_startup)
> + /*
> + * ROM code operates in little endian mode, when we get control we
> + * need to switch it to big endian mode.
> + */
> +ARM_BE8(setend be)
> mrc p15, 0, r0, c0, c0, 5
> and r0, r0, #15
> adr r4, 1f
> --
> 2.0.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] exynos: Support big endian mode in secondary_startup
@ 2014-07-25 4:45 ` Kukjin Kim
0 siblings, 0 replies; 8+ messages in thread
From: Kukjin Kim @ 2014-07-25 4:45 UTC (permalink / raw)
To: linux-arm-kernel
Mark Brown wrote:
>
> From: Victor Kamensky <victor.kamensky@linaro.org>
>
> Exynos processors generally operate in little endian mode so their
> bootloader and ROM will almost always operate in little endian mode.
> This means that if a big endian kernel is run it must switch the CPU
> into big endian mode after gaining control.
>
> The generic secondary_startup that is called from exynos specific
> secondary startup code will do the switch, but we need it to do earlier
> because exynos specific secondary_startup code which runs first also
> works with data that is big endian when the kernel is compiled for big
> endian.
>
> [Rewrote commit message. -- broonie]
>
> Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
> Signed-off-by: Mark Brown <broonie@linaro.org>
Hi Mark,
Basically, I have no objection on this, BTW is there any requirement to support
big endian on exynos stuff? Just wondering...
Thanks,
Kukjin
> ---
> arch/arm/mach-exynos/headsmp.S | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm/mach-exynos/headsmp.S b/arch/arm/mach-exynos/headsmp.S
> index b54f9701e421..ac8364efb985 100644
> --- a/arch/arm/mach-exynos/headsmp.S
> +++ b/arch/arm/mach-exynos/headsmp.S
> @@ -18,6 +18,11 @@
> * ready for them to initialise.
> */
> ENTRY(exynos4_secondary_startup)
> + /*
> + * ROM code operates in little endian mode, when we get control we
> + * need to switch it to big endian mode.
> + */
> +ARM_BE8(setend be)
> mrc p15, 0, r0, c0, c0, 5
> and r0, r0, #15
> adr r4, 1f
> --
> 2.0.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] exynos: Support big endian mode in secondary_startup
2014-07-25 4:45 ` Kukjin Kim
@ 2014-07-25 10:16 ` Mark Brown
-1 siblings, 0 replies; 8+ messages in thread
From: Mark Brown @ 2014-07-25 10:16 UTC (permalink / raw)
To: Kukjin Kim; +Cc: linux-arm-kernel, linux-samsung-soc, 'Victor Kamensky'
[-- Attachment #1: Type: text/plain, Size: 278 bytes --]
On Fri, Jul 25, 2014 at 01:45:14PM +0900, Kukjin Kim wrote:
> Basically, I have no objection on this, BTW is there any requirement to support
> big endian on exynos stuff? Just wondering...
We've been using it for testing within Linaro. I don't know of any real
world users.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] exynos: Support big endian mode in secondary_startup
@ 2014-07-25 10:16 ` Mark Brown
0 siblings, 0 replies; 8+ messages in thread
From: Mark Brown @ 2014-07-25 10:16 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Jul 25, 2014 at 01:45:14PM +0900, Kukjin Kim wrote:
> Basically, I have no objection on this, BTW is there any requirement to support
> big endian on exynos stuff? Just wondering...
We've been using it for testing within Linaro. I don't know of any real
world users.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140725/d9825cfb/attachment.sig>
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH] exynos: Support big endian mode in secondary_startup
2014-07-25 10:16 ` Mark Brown
@ 2014-07-29 23:31 ` Kukjin Kim
-1 siblings, 0 replies; 8+ messages in thread
From: Kukjin Kim @ 2014-07-29 23:31 UTC (permalink / raw)
To: 'Mark Brown'
Cc: linux-arm-kernel, linux-samsung-soc, 'Victor Kamensky'
Mark Brown wrote:
>
> On Fri, Jul 25, 2014 at 01:45:14PM +0900, Kukjin Kim wrote:
>
> > Basically, I have no objection on this, BTW is there any requirement to support
> > big endian on exynos stuff? Just wondering...
>
> We've been using it for testing within Linaro. I don't know of any real
> world users.
Mark, OK I see. I will apply.
Thanks,
Kukjin
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] exynos: Support big endian mode in secondary_startup
@ 2014-07-29 23:31 ` Kukjin Kim
0 siblings, 0 replies; 8+ messages in thread
From: Kukjin Kim @ 2014-07-29 23:31 UTC (permalink / raw)
To: linux-arm-kernel
Mark Brown wrote:
>
> On Fri, Jul 25, 2014 at 01:45:14PM +0900, Kukjin Kim wrote:
>
> > Basically, I have no objection on this, BTW is there any requirement to support
> > big endian on exynos stuff? Just wondering...
>
> We've been using it for testing within Linaro. I don't know of any real
> world users.
Mark, OK I see. I will apply.
Thanks,
Kukjin
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-07-29 23:31 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-21 16:01 [PATCH] exynos: Support big endian mode in secondary_startup Mark Brown
2014-07-21 16:01 ` Mark Brown
2014-07-25 4:45 ` Kukjin Kim
2014-07-25 4:45 ` Kukjin Kim
2014-07-25 10:16 ` Mark Brown
2014-07-25 10:16 ` Mark Brown
2014-07-29 23:31 ` Kukjin Kim
2014-07-29 23:31 ` Kukjin Kim
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.