diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-06 13:43:28 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-06 13:43:28 -0400 |
commit | cc07aabc53978ae09a1d539237189f7c9841060a (patch) | |
tree | 6f47580d19ab5ad85f319bdb260615e991a93399 /include/asm-generic | |
parent | 9e47aaef0bd3a50a43626fa6b19e1f964ac173d6 (diff) | |
parent | 9358d755bd5cba8965ea79f2a446e689323409f9 (diff) |
Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux into next
Pull arm64 updates from Catalin Marinas:
- Optimised assembly string/memory routines (based on the AArch64
Cortex Strings library contributed to glibc but re-licensed under
GPLv2)
- Optimised crypto algorithms making use of the ARMv8 crypto extensions
(together with kernel API for using FPSIMD instructions in interrupt
context)
- Ftrace support
- CPU topology parsing from DT
- ESR_EL1 (Exception Syndrome Register) exposed to user space signal
handlers for SIGSEGV/SIGBUS (useful to emulation tools like Qemu)
- 1GB section linear mapping if applicable
- Barriers usage clean-up
- Default pgprot clean-up
Conflicts as per Catalin.
* tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (57 commits)
arm64: kernel: initialize broadcast hrtimer based clock event device
arm64: ftrace: Add system call tracepoint
arm64: ftrace: Add CALLER_ADDRx macros
arm64: ftrace: Add dynamic ftrace support
arm64: Add ftrace support
ftrace: Add arm64 support to recordmcount
arm64: Add 'notrace' attribute to unwind_frame() for ftrace
arm64: add __ASSEMBLY__ in asm/insn.h
arm64: Fix linker script entry point
arm64: lib: Implement optimized string length routines
arm64: lib: Implement optimized string compare routines
arm64: lib: Implement optimized memcmp routine
arm64: lib: Implement optimized memset routine
arm64: lib: Implement optimized memmove routine
arm64: lib: Implement optimized memcpy routine
arm64: defconfig: enable a few more common/useful options in defconfig
ftrace: Make CALLER_ADDRx macros more generic
arm64: Fix deadlock scenario with smp_send_stop()
arm64: Fix machine_shutdown() definition
arm64: Support arch_irq_work_raise() via self IPIs
...
Diffstat (limited to 'include/asm-generic')
-rw-r--r-- | include/asm-generic/unaligned.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/include/asm-generic/unaligned.h b/include/asm-generic/unaligned.h index 03cf5936bad6..1ac097279db1 100644 --- a/include/asm-generic/unaligned.h +++ b/include/asm-generic/unaligned.h | |||
@@ -4,22 +4,27 @@ | |||
4 | /* | 4 | /* |
5 | * This is the most generic implementation of unaligned accesses | 5 | * This is the most generic implementation of unaligned accesses |
6 | * and should work almost anywhere. | 6 | * and should work almost anywhere. |
7 | * | ||
8 | * If an architecture can handle unaligned accesses in hardware, | ||
9 | * it may want to use the linux/unaligned/access_ok.h implementation | ||
10 | * instead. | ||
11 | */ | 7 | */ |
12 | #include <asm/byteorder.h> | 8 | #include <asm/byteorder.h> |
13 | 9 | ||
10 | /* Set by the arch if it can handle unaligned accesses in hardware. */ | ||
11 | #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS | ||
12 | # include <linux/unaligned/access_ok.h> | ||
13 | #endif | ||
14 | |||
14 | #if defined(__LITTLE_ENDIAN) | 15 | #if defined(__LITTLE_ENDIAN) |
15 | # include <linux/unaligned/le_struct.h> | 16 | # ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS |
16 | # include <linux/unaligned/be_byteshift.h> | 17 | # include <linux/unaligned/le_struct.h> |
18 | # include <linux/unaligned/be_byteshift.h> | ||
19 | # endif | ||
17 | # include <linux/unaligned/generic.h> | 20 | # include <linux/unaligned/generic.h> |
18 | # define get_unaligned __get_unaligned_le | 21 | # define get_unaligned __get_unaligned_le |
19 | # define put_unaligned __put_unaligned_le | 22 | # define put_unaligned __put_unaligned_le |
20 | #elif defined(__BIG_ENDIAN) | 23 | #elif defined(__BIG_ENDIAN) |
21 | # include <linux/unaligned/be_struct.h> | 24 | # ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS |
22 | # include <linux/unaligned/le_byteshift.h> | 25 | # include <linux/unaligned/be_struct.h> |
26 | # include <linux/unaligned/le_byteshift.h> | ||
27 | # endif | ||
23 | # include <linux/unaligned/generic.h> | 28 | # include <linux/unaligned/generic.h> |
24 | # define get_unaligned __get_unaligned_be | 29 | # define get_unaligned __get_unaligned_be |
25 | # define put_unaligned __put_unaligned_be | 30 | # define put_unaligned __put_unaligned_be |