diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2015-09-24 23:11:53 +0300 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2015-11-02 18:02:47 +0300 |
commit | 5029615e25dc5040beb065f36743c127a8e51497 (patch) | |
tree | 8b77e020c58e01175587f5267ab9ab8b223c3652 /arch/xtensa/include | |
parent | 6a13feb9c82803e2b815eca72fa7a9f5561d7861 (diff) | |
download | linux-5029615e25dc5040beb065f36743c127a8e51497.tar.xz |
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>
Diffstat (limited to 'arch/xtensa/include')
-rw-r--r-- | arch/xtensa/include/asm/asmmacro.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/xtensa/include/asm/asmmacro.h b/arch/xtensa/include/asm/asmmacro.h index 755320f6e0bc..746dcc8b5abc 100644 --- a/arch/xtensa/include/asm/asmmacro.h +++ b/arch/xtensa/include/asm/asmmacro.h @@ -35,9 +35,10 @@ * __loop as * restart loop. 'as' register must not have been modified! * - * __endla ar, at, incr + * __endla ar, as, incr * ar start address (modified) - * as scratch register used by macro + * as scratch register used by __loops/__loopi macros or + * end address used by __loopt macro * inc increment */ @@ -97,7 +98,7 @@ .endm /* - * loop from ar to ax + * loop from ar to as */ .macro __loopt ar, as, at, incr_log2 |