Replace CONFIG_HAS_TLS_REG with HWCAP_TLS and check for it on V6

The TLS register is only available on ARM1136 r1p0 and later.
Set HWCAP_TLS flags if hardware TLS is available and test for
it if CONFIG_CPU_32v6K is not set for V6.

Note that we set the TLS instruction in __kuser_get_tls
dynamically as suggested by Jamie Lokier <jamie@shareable.org>.

Also the __switch_to code is optimized out in most cases as
suggested by Nicolas Pitre <nico@fluxnic.net>.

Signed-off-by: Tony Lindgren <(address hidden)>
Reviewed-by: Nicolas Pitre <(address hidden)>

Change-Id: I10ec5a51e87017feaa8067cd3b278106aaea04cb
HACK stay compatible with the emulated TLS register HACK

psyke83: wrap hack into CONFIG_TLS_USERSPACE_EMUL option

Signed-off-by: Pankaj <pankaj.bharadiya@ti.com>

Change-Id: Ic9ffdf5b88445122d186c4d08e95d8f192eb30a3
Update for TLS

- CONFIG_TLS_USERSPACE_EMUL=y for correct new recovery's

Conflicts:
	arch/arm/configs/skate_jb_defconfig

Change-Id: I70e29072de2946f6511210ed56f0f5d61febec94
Merge changes I70e29072,Ic9ffdf5b,I10ec5a51 into cm-11.0

* changes:
  Update for TLS
  HACK stay compatible with the emulated TLS register HACK
  Replace CONFIG_HAS_TLS_REG with HWCAP_TLS and check for it on V6