xtensa: fixes for configs without loop option
authorMax Filippov <jcmvbkbc@gmail.com>
Thu, 24 Sep 2015 20:11:53 +0000 (23:11 +0300)
committerMax Filippov <jcmvbkbc@gmail.com>
Mon, 2 Nov 2015 15:02:47 +0000 (18:02 +0300)
commit5029615e25dc5040beb065f36743c127a8e51497
tree8b77e020c58e01175587f5267ab9ab8b223c3652
parent6a13feb9c82803e2b815eca72fa7a9f5561d7861
xtensa: fixes for configs without loop option

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.

Cc: <stable@vger.kernel.org>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
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