All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org
Subject: [PATCH] arm: Allow mounting root on omaps with CPU_V6 and CPU_V7
Date: Thu, 18 Feb 2010 16:27:48 -0800	[thread overview]
Message-ID: <20100219002748.GB21755@atomide.com> (raw)

Hi all,

Here's one more patch for booting CPU_V6 and CPU_V7 omaps
with the same kernel binary. This is needed to boot to
user space, earlier I was just checking for "Mounted root".

Now I'm wondering if some of these should be done as

default y if CPU_V7 && !CPU_32v6K

or 

default y if CPU_V7 && !CPU_V6

instead to make them more generic? This is, after the
earlier patch selecting CPU_32v6K if !ARCH_OMAP2.

Regards,

Tony


From: Tony Lindgren <tony@atomide.com>
Date: Thu, 18 Feb 2010 13:22:58 -0800
Subject: [PATCH] arm: Allow mounting root on omaps with CPU_V6 and CPU_V7

To mount root, we need to disable VFPv3, HAS_TLS_REG, and
set ARM_L1_CACHE_SHIFT=5.

Otherwise we'll get something like this for CPUv3:

Freeing init memory: 184K
Internal error: Oops - undefined instruction: 0 [#1]
last sysfs file:
Modules linked in:
CPU: 0    Not tainted  (2.6.33-rc8-07824-gf2e1d91-dirty #36)
PC is at no_old_VFP_process+0x8/0x3c
LR is at __und_usr_unknown+0x0/0x14
...

Or the system just hangs if HAS_TLS_REG is set.

The ARM_L1_CACHE_SHIFT most likely will cause issues
too if not set to 5.

Signed-off-by: Tony Lindgren <tony@atomide.com>

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 554cb9c..89dba0b 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1498,7 +1498,7 @@ config VFP
 config VFPv3
 	bool
 	depends on VFP
-	default y if CPU_V7
+	default y if CPU_V7 && !ARCH_OMAP2
 
 config NEON
 	bool "Advanced SIMD (NEON) Extension support"
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 4c2e90d..800f0ce 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -718,7 +718,7 @@ config TLS_REG_EMUL
 config HAS_TLS_REG
 	bool
 	depends on !TLS_REG_EMUL
-	default y if SMP || CPU_32v7
+	default y if (SMP || CPU_32v7) && !ARCH_OMAP2
 	help
 	  This selects support for the CP15 thread register.
 	  It is defined to be available on some ARMv6 processors (including
@@ -779,5 +779,5 @@ config CACHE_XSC3L2
 
 config ARM_L1_CACHE_SHIFT
 	int
-	default 6 if ARCH_OMAP3 || ARCH_S5PC1XX
+	default 6 if (ARCH_OMAP3 || ARCH_S5PC1XX) && !ARCH_OMAP2
 	default 5

WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm: Allow mounting root on omaps with CPU_V6 and CPU_V7
Date: Thu, 18 Feb 2010 16:27:48 -0800	[thread overview]
Message-ID: <20100219002748.GB21755@atomide.com> (raw)

Hi all,

Here's one more patch for booting CPU_V6 and CPU_V7 omaps
with the same kernel binary. This is needed to boot to
user space, earlier I was just checking for "Mounted root".

Now I'm wondering if some of these should be done as

default y if CPU_V7 && !CPU_32v6K

or 

default y if CPU_V7 && !CPU_V6

instead to make them more generic? This is, after the
earlier patch selecting CPU_32v6K if !ARCH_OMAP2.

Regards,

Tony


From: Tony Lindgren <tony@atomide.com>
Date: Thu, 18 Feb 2010 13:22:58 -0800
Subject: [PATCH] arm: Allow mounting root on omaps with CPU_V6 and CPU_V7

To mount root, we need to disable VFPv3, HAS_TLS_REG, and
set ARM_L1_CACHE_SHIFT=5.

Otherwise we'll get something like this for CPUv3:

Freeing init memory: 184K
Internal error: Oops - undefined instruction: 0 [#1]
last sysfs file:
Modules linked in:
CPU: 0    Not tainted  (2.6.33-rc8-07824-gf2e1d91-dirty #36)
PC is at no_old_VFP_process+0x8/0x3c
LR is at __und_usr_unknown+0x0/0x14
...

Or the system just hangs if HAS_TLS_REG is set.

The ARM_L1_CACHE_SHIFT most likely will cause issues
too if not set to 5.

Signed-off-by: Tony Lindgren <tony@atomide.com>

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 554cb9c..89dba0b 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1498,7 +1498,7 @@ config VFP
 config VFPv3
 	bool
 	depends on VFP
-	default y if CPU_V7
+	default y if CPU_V7 && !ARCH_OMAP2
 
 config NEON
 	bool "Advanced SIMD (NEON) Extension support"
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 4c2e90d..800f0ce 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -718,7 +718,7 @@ config TLS_REG_EMUL
 config HAS_TLS_REG
 	bool
 	depends on !TLS_REG_EMUL
-	default y if SMP || CPU_32v7
+	default y if (SMP || CPU_32v7) && !ARCH_OMAP2
 	help
 	  This selects support for the CP15 thread register.
 	  It is defined to be available on some ARMv6 processors (including
@@ -779,5 +779,5 @@ config CACHE_XSC3L2
 
 config ARM_L1_CACHE_SHIFT
 	int
-	default 6 if ARCH_OMAP3 || ARCH_S5PC1XX
+	default 6 if (ARCH_OMAP3 || ARCH_S5PC1XX) && !ARCH_OMAP2
 	default 5

             reply	other threads:[~2010-02-19  0:26 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-19  0:27 Tony Lindgren [this message]
2010-02-19  0:27 ` [PATCH] arm: Allow mounting root on omaps with CPU_V6 and CPU_V7 Tony Lindgren
2010-02-19  8:35 ` Russell King - ARM Linux
2010-02-19  8:35   ` Russell King - ARM Linux
2010-02-19 18:03   ` Tony Lindgren
2010-02-19 18:03     ` Tony Lindgren
2010-02-19 19:25     ` Russell King - ARM Linux
2010-02-19 19:25       ` Russell King - ARM Linux

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=20100219002748.GB21755@atomide.com \
    --to=tony@atomide.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.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.