m68knommu: use user stack pointer hardware on some ColdFire cores

The more modern ColdFire parts (even if based on older version cores)
have separate user and supervisor stack pointers (a7 register).
Modify the ColdFire CPU setup and exception code to enable and use
this on parts that have it.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig
index 266a39e..e6f482d 100644
--- a/arch/m68knommu/Kconfig
+++ b/arch/m68knommu/Kconfig
@@ -75,6 +75,10 @@
 config NO_IOPORT
 	def_bool y
 
+config COLDFIRE_SW_A7
+	bool
+	default n
+
 source "init/Kconfig"
 
 source "kernel/Kconfig.freezer"
@@ -107,11 +111,13 @@
 
 config M5206
 	bool "MCF5206"
+	select COLDFIRE_SW_A7
 	help
 	  Motorola ColdFire 5206 processor support.
 
 config M5206e
 	bool "MCF5206e"
+	select COLDFIRE_SW_A7
 	help
 	  Motorola ColdFire 5206e processor support.
 
@@ -129,6 +135,7 @@
 
 config M5249
 	bool "MCF5249"
+	select COLDFIRE_SW_A7
 	help
 	  Motorola ColdFire 5249 processor support.
 
@@ -139,6 +146,7 @@
 
 config M5272
 	bool "MCF5272"
+	select COLDFIRE_SW_A7
 	help
 	  Motorola ColdFire 5272 processor support.
 
@@ -155,6 +163,7 @@
 
 config M5307
 	bool "MCF5307"
+	select COLDFIRE_SW_A7
 	help
 	  Motorola ColdFire 5307 processor support.
 
@@ -165,6 +174,7 @@
 
 config M5407
 	bool "MCF5407"
+	select COLDFIRE_SW_A7
 	help
 	  Motorola ColdFire 5407 processor support.