linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Compiling a kernel for armv5 + armv6
@ 2011-03-03 13:20 Sascha Hauer
  2011-03-03 13:50 ` saeed bishara
  2011-03-03 13:59 ` Russell King - ARM Linux
  0 siblings, 2 replies; 4+ messages in thread
From: Sascha Hauer @ 2011-03-03 13:20 UTC (permalink / raw)
  To: linux-arm-kernel

Doing so currently breaks with:

arch/arm/kernel/entry-armv.S: Assembler messages:
arch/arm/kernel/entry-armv.S:196: Error: selected processor does not support `strex r1,r2,[sp]'
arch/arm/kernel/entry-armv.S:228: Error: selected processor does not support `strex r1,r2,[sp]'
arch/arm/kernel/entry-armv.S:286: Error: selected processor does not support `strex r1,r2,[sp]'
arch/arm/kernel/entry-armv.S:323: Error: selected processor does not support `strex r1,r2,[sp]'

These are used in svc_exit and restore_user_regs.

Is there a way to fix this or do we have to live with this?

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Compiling a kernel for armv5 + armv6
  2011-03-03 13:20 Compiling a kernel for armv5 + armv6 Sascha Hauer
@ 2011-03-03 13:50 ` saeed bishara
  2011-03-03 14:01   ` Sascha Hauer
  2011-03-03 13:59 ` Russell King - ARM Linux
  1 sibling, 1 reply; 4+ messages in thread
From: saeed bishara @ 2011-03-03 13:50 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Mar 3, 2011 at 3:20 PM, Sascha Hauer <s.hauer@pengutronix.de> wrote:
> Doing so currently breaks with:
>
> arch/arm/kernel/entry-armv.S: Assembler messages:
> arch/arm/kernel/entry-armv.S:196: Error: selected processor does not support `strex r1,r2,[sp]'
> arch/arm/kernel/entry-armv.S:228: Error: selected processor does not support `strex r1,r2,[sp]'
> arch/arm/kernel/entry-armv.S:286: Error: selected processor does not support `strex r1,r2,[sp]'
> arch/arm/kernel/entry-armv.S:323: Error: selected processor does not support `strex r1,r2,[sp]'
>
> These are used in svc_exit and restore_user_regs.
>
> Is there a way to fix this or do we have to live with this?
try to add this line to the Makefile
 AFLAGS_entry-armv.o      :=-Wa,-march=armv6k
>
> Sascha
>
> --
> Pengutronix e.K. ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
> Industrial Linux Solutions ? ? ? ? ? ? ? ? | http://www.pengutronix.de/ ?|
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 ? ?|
> Amtsgericht Hildesheim, HRA 2686 ? ? ? ? ? | Fax: ? +49-5121-206917-5555 |
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Compiling a kernel for armv5 + armv6
  2011-03-03 13:20 Compiling a kernel for armv5 + armv6 Sascha Hauer
  2011-03-03 13:50 ` saeed bishara
@ 2011-03-03 13:59 ` Russell King - ARM Linux
  1 sibling, 0 replies; 4+ messages in thread
From: Russell King - ARM Linux @ 2011-03-03 13:59 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Mar 03, 2011 at 02:20:57PM +0100, Sascha Hauer wrote:
> Doing so currently breaks with:
> 
> arch/arm/kernel/entry-armv.S: Assembler messages:
> arch/arm/kernel/entry-armv.S:196: Error: selected processor does not support `strex r1,r2,[sp]'
> arch/arm/kernel/entry-armv.S:228: Error: selected processor does not support `strex r1,r2,[sp]'
> arch/arm/kernel/entry-armv.S:286: Error: selected processor does not support `strex r1,r2,[sp]'
> arch/arm/kernel/entry-armv.S:323: Error: selected processor does not support `strex r1,r2,[sp]'
> 
> These are used in svc_exit and restore_user_regs.
> 
> Is there a way to fix this or do we have to live with this?

As I've mentioned before, ARMv3-ARMv5 is fine.  ARMv6-ARMv7 is fine (with
patches).  ARMv5->ARMv6 is too big an architecture change to live together.

Compiling the above file for ARMv6 doesn't fix the problem because then
you'll be executing ARMv6 instructions on ARMv5 CPUs, which will fault.
Omitting those instructions makes ARMv6 behaviour unpredictable - as it
means no barriers could be used, no exclusive operations, etc.

Certainly ARMv5 + ARMv6MP is totally out of the question.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Compiling a kernel for armv5 + armv6
  2011-03-03 13:50 ` saeed bishara
@ 2011-03-03 14:01   ` Sascha Hauer
  0 siblings, 0 replies; 4+ messages in thread
From: Sascha Hauer @ 2011-03-03 14:01 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Mar 03, 2011 at 03:50:26PM +0200, saeed bishara wrote:
> On Thu, Mar 3, 2011 at 3:20 PM, Sascha Hauer <s.hauer@pengutronix.de> wrote:
> > Doing so currently breaks with:
> >
> > arch/arm/kernel/entry-armv.S: Assembler messages:
> > arch/arm/kernel/entry-armv.S:196: Error: selected processor does not support `strex r1,r2,[sp]'
> > arch/arm/kernel/entry-armv.S:228: Error: selected processor does not support `strex r1,r2,[sp]'
> > arch/arm/kernel/entry-armv.S:286: Error: selected processor does not support `strex r1,r2,[sp]'
> > arch/arm/kernel/entry-armv.S:323: Error: selected processor does not support `strex r1,r2,[sp]'
> >
> > These are used in svc_exit and restore_user_regs.
> >
> > Is there a way to fix this or do we have to live with this?
> try to add this line to the Makefile
>  AFLAGS_entry-armv.o      :=-Wa,-march=armv6k

This surely keeps the compiler happy, but I doubt the result will work
on an armv5 processor.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-03-03 14:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-03 13:20 Compiling a kernel for armv5 + armv6 Sascha Hauer
2011-03-03 13:50 ` saeed bishara
2011-03-03 14:01   ` Sascha Hauer
2011-03-03 13:59 ` Russell King - ARM Linux

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).