diff options
author | Mark Brown <broonie@linaro.org> | 2014-04-14 18:16:43 +0100 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-04-14 18:16:43 +0100 |
commit | 1226ec098c08e408fcfa9c778480cfef30852183 (patch) | |
tree | 2d28f1cce689b76640a62de4cfe75ad0b099076f /arch/arc/lib/strchr-700.S | |
parent | 8bb495e3f02401ee6f76d1b1d77f3ac9f079e376 (diff) | |
parent | 52b07c2707864bd8fa67093912dc6a4d2d602493 (diff) |
Merge tag 'hugepages-v8-for-stable-20140305' of http://git.linaro.org/people/steve.capper/linux into lsk-v3.10-hugepages
Hugepages for arm64 with fixes, applied to 3.10.32 stable.
Hugepages were already against 3.10-rc4 when they were merged into
3.11, so did not need to be rebased.
I've included all the pertinent fixes I am aware of for hugepages too,
I did need to rebase "Introduce PTE_WRITE" as there were some S2
definitions near the PTE_RDONLY bits.
--
Steve
Diffstat (limited to 'arch/arc/lib/strchr-700.S')
-rw-r--r-- | arch/arc/lib/strchr-700.S | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arc/lib/strchr-700.S b/arch/arc/lib/strchr-700.S index 99c10475d477..9c548c7cf001 100644 --- a/arch/arc/lib/strchr-700.S +++ b/arch/arc/lib/strchr-700.S @@ -39,9 +39,18 @@ ARC_ENTRY strchr ld.a r2,[r0,4] sub r12,r6,r7 bic r12,r12,r6 +#ifdef __LITTLE_ENDIAN__ and r7,r12,r4 breq r7,0,.Loop ; For speed, we want this branch to be unaligned. b .Lfound_char ; Likewise this one. +#else + and r12,r12,r4 + breq r12,0,.Loop ; For speed, we want this branch to be unaligned. + lsr_s r12,r12,7 + bic r2,r7,r6 + b.d .Lfound_char_b + and_s r2,r2,r12 +#endif ; /* We require this code address to be unaligned for speed... */ .Laligned: ld_s r2,[r0] @@ -95,6 +104,7 @@ ARC_ENTRY strchr lsr r7,r7,7 bic r2,r7,r6 +.Lfound_char_b: norm r2,r2 sub_s r0,r0,4 asr_s r2,r2,3 |