xtensa: fixes for configs without loop option
authorMax Filippov <jcmvbkbc@gmail.com>
Thu, 24 Sep 2015 20:11:53 +0000 (23:11 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 19 Feb 2016 22:28:28 +0000 (14:28 -0800)
commit9b79a9787485edfa446e1538d9d38ade210539e3
treeaf67c9cf145723dab07623828bee2dc8a264c990
parent4012c255bb47a8cde8ad7ce4fff305066985748f
xtensa: fixes for configs without loop option

commit 5029615e25dc5040beb065f36743c127a8e51497 upstream.

Build-time fixes:
- make lbeg/lend/lcount save/restore conditional on kernel entry;
- don't clear lcount in platform_restart functions unconditionally.

Run-time fixes:
- use correct end of range register in __endla paired with __loopt, not
  the unused temporary register. This fixes .bss zero-initialization.
  Update comments in asmmacro.h;
- don't clobber a10 in the usercopy that leads to access to unmapped
  memory.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/xtensa/include/asm/asmmacro.h
arch/xtensa/kernel/entry.S
arch/xtensa/kernel/head.S
arch/xtensa/lib/usercopy.S
arch/xtensa/platforms/iss/setup.c
arch/xtensa/platforms/xt2000/setup.c
arch/xtensa/platforms/xtfpga/setup.c