diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-11 21:03:54 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-11 21:03:54 -0500 |
| commit | 6b00f7efb5303418c231994c91fb8239f5ada260 (patch) | |
| tree | 1daba87ccda34e632ea39dedc5055391c7e94bdc /include/linux | |
| parent | b3d6524ff7956c5a898d51a18eaecb62a60a2b84 (diff) | |
| parent | d476d94f180af3f0fca77394651d4a98f4df1c54 (diff) | |
Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 updates from Catalin Marinas:
"arm64 updates for 3.20:
- reimplementation of the virtual remapping of UEFI Runtime Services
in a way that is stable across kexec
- emulation of the "setend" instruction for 32-bit tasks (user
endianness switching trapped in the kernel, SCTLR_EL1.E0E bit set
accordingly)
- compat_sys_call_table implemented in C (from asm) and made it a
constant array together with sys_call_table
- export CPU cache information via /sys (like other architectures)
- DMA API implementation clean-up in preparation for IOMMU support
- macros clean-up for KVM
- dropped some unnecessary cache+tlb maintenance
- CONFIG_ARM64_CPU_SUSPEND clean-up
- defconfig update (CPU_IDLE)
The EFI changes going via the arm64 tree have been acked by Matt
Fleming. There is also a patch adding sys_*stat64 prototypes to
include/linux/syscalls.h, acked by Andrew Morton"
* tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (47 commits)
arm64: compat: Remove incorrect comment in compat_siginfo
arm64: Fix section mismatch on alloc_init_p[mu]d()
arm64: Avoid breakage caused by .altmacro in fpsimd save/restore macros
arm64: mm: use *_sect to check for section maps
arm64: drop unnecessary cache+tlb maintenance
arm64:mm: free the useless initial page table
arm64: Enable CPU_IDLE in defconfig
arm64: kernel: remove ARM64_CPU_SUSPEND config option
arm64: make sys_call_table const
arm64: Remove asm/syscalls.h
arm64: Implement the compat_sys_call_table in C
syscalls: Declare sys_*stat64 prototypes if __ARCH_WANT_(COMPAT_)STAT64
compat: Declare compat_sys_sigpending and compat_sys_sigprocmask prototypes
arm64: uapi: expose our struct ucontext to the uapi headers
smp, ARM64: Kill SMP single function call interrupt
arm64: Emulate SETEND for AArch32 tasks
arm64: Consolidate hotplug notifier for instruction emulation
arm64: Track system support for mixed endian EL0
arm64: implement generic IOMMU configuration
arm64: Combine coherent and non-coherent swiotlb dma_ops
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/compat.h | 9 | ||||
| -rw-r--r-- | include/linux/efi.h | 2 | ||||
| -rw-r--r-- | include/linux/syscalls.h | 8 |
3 files changed, 16 insertions, 3 deletions
diff --git a/include/linux/compat.h b/include/linux/compat.h index 7450ca2ac1fc..ab25814690bc 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h | |||
| @@ -689,6 +689,15 @@ asmlinkage long compat_sys_sendfile64(int out_fd, int in_fd, | |||
| 689 | asmlinkage long compat_sys_sigaltstack(const compat_stack_t __user *uss_ptr, | 689 | asmlinkage long compat_sys_sigaltstack(const compat_stack_t __user *uss_ptr, |
| 690 | compat_stack_t __user *uoss_ptr); | 690 | compat_stack_t __user *uoss_ptr); |
| 691 | 691 | ||
| 692 | #ifdef __ARCH_WANT_SYS_SIGPENDING | ||
| 693 | asmlinkage long compat_sys_sigpending(compat_old_sigset_t __user *set); | ||
| 694 | #endif | ||
| 695 | |||
| 696 | #ifdef __ARCH_WANT_SYS_SIGPROCMASK | ||
| 697 | asmlinkage long compat_sys_sigprocmask(int how, compat_old_sigset_t __user *nset, | ||
| 698 | compat_old_sigset_t __user *oset); | ||
| 699 | #endif | ||
| 700 | |||
| 692 | int compat_restore_altstack(const compat_stack_t __user *uss); | 701 | int compat_restore_altstack(const compat_stack_t __user *uss); |
| 693 | int __compat_save_altstack(compat_stack_t __user *, unsigned long); | 702 | int __compat_save_altstack(compat_stack_t __user *, unsigned long); |
| 694 | #define compat_save_altstack_ex(uss, sp) do { \ | 703 | #define compat_save_altstack_ex(uss, sp) do { \ |
diff --git a/include/linux/efi.h b/include/linux/efi.h index b674837e2b98..cf7e431cbc73 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h | |||
| @@ -875,6 +875,8 @@ static inline efi_status_t efi_query_variable_store(u32 attributes, unsigned lon | |||
| 875 | #endif | 875 | #endif |
| 876 | extern void __iomem *efi_lookup_mapped_addr(u64 phys_addr); | 876 | extern void __iomem *efi_lookup_mapped_addr(u64 phys_addr); |
| 877 | extern int efi_config_init(efi_config_table_type_t *arch_tables); | 877 | extern int efi_config_init(efi_config_table_type_t *arch_tables); |
| 878 | extern int efi_config_parse_tables(void *config_tables, int count, int sz, | ||
| 879 | efi_config_table_type_t *arch_tables); | ||
| 878 | extern u64 efi_get_iobase (void); | 880 | extern u64 efi_get_iobase (void); |
| 879 | extern u32 efi_mem_type (unsigned long phys_addr); | 881 | extern u32 efi_mem_type (unsigned long phys_addr); |
| 880 | extern u64 efi_mem_attributes (unsigned long phys_addr); | 882 | extern u64 efi_mem_attributes (unsigned long phys_addr); |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 85893d744901..76d1e38aabe1 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
| @@ -410,12 +410,16 @@ asmlinkage long sys_newlstat(const char __user *filename, | |||
| 410 | struct stat __user *statbuf); | 410 | struct stat __user *statbuf); |
| 411 | asmlinkage long sys_newfstat(unsigned int fd, struct stat __user *statbuf); | 411 | asmlinkage long sys_newfstat(unsigned int fd, struct stat __user *statbuf); |
| 412 | asmlinkage long sys_ustat(unsigned dev, struct ustat __user *ubuf); | 412 | asmlinkage long sys_ustat(unsigned dev, struct ustat __user *ubuf); |
| 413 | #if BITS_PER_LONG == 32 | 413 | #if defined(__ARCH_WANT_STAT64) || defined(__ARCH_WANT_COMPAT_STAT64) |
| 414 | asmlinkage long sys_stat64(const char __user *filename, | 414 | asmlinkage long sys_stat64(const char __user *filename, |
| 415 | struct stat64 __user *statbuf); | 415 | struct stat64 __user *statbuf); |
| 416 | asmlinkage long sys_fstat64(unsigned long fd, struct stat64 __user *statbuf); | 416 | asmlinkage long sys_fstat64(unsigned long fd, struct stat64 __user *statbuf); |
| 417 | asmlinkage long sys_lstat64(const char __user *filename, | 417 | asmlinkage long sys_lstat64(const char __user *filename, |
| 418 | struct stat64 __user *statbuf); | 418 | struct stat64 __user *statbuf); |
| 419 | asmlinkage long sys_fstatat64(int dfd, const char __user *filename, | ||
| 420 | struct stat64 __user *statbuf, int flag); | ||
| 421 | #endif | ||
| 422 | #if BITS_PER_LONG == 32 | ||
| 419 | asmlinkage long sys_truncate64(const char __user *path, loff_t length); | 423 | asmlinkage long sys_truncate64(const char __user *path, loff_t length); |
| 420 | asmlinkage long sys_ftruncate64(unsigned int fd, loff_t length); | 424 | asmlinkage long sys_ftruncate64(unsigned int fd, loff_t length); |
| 421 | #endif | 425 | #endif |
| @@ -771,8 +775,6 @@ asmlinkage long sys_openat(int dfd, const char __user *filename, int flags, | |||
| 771 | umode_t mode); | 775 | umode_t mode); |
| 772 | asmlinkage long sys_newfstatat(int dfd, const char __user *filename, | 776 | asmlinkage long sys_newfstatat(int dfd, const char __user *filename, |
| 773 | struct stat __user *statbuf, int flag); | 777 | struct stat __user *statbuf, int flag); |
| 774 | asmlinkage long sys_fstatat64(int dfd, const char __user *filename, | ||
| 775 | struct stat64 __user *statbuf, int flag); | ||
| 776 | asmlinkage long sys_readlinkat(int dfd, const char __user *path, char __user *buf, | 778 | asmlinkage long sys_readlinkat(int dfd, const char __user *path, char __user *buf, |
| 777 | int bufsiz); | 779 | int bufsiz); |
| 778 | asmlinkage long sys_utimensat(int dfd, const char __user *filename, | 780 | asmlinkage long sys_utimensat(int dfd, const char __user *filename, |
