diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-08 18:57:47 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-08 18:57:47 -0400 |
commit | 8065be8d032f38da25b54bf077a05a30d9ce9f2a (patch) | |
tree | 32a7baf4b40e0240ab4b9dd6f2bbe6129929bb66 /arch/ia64 | |
parent | 27d438c56009e5ae632de36fe70985d1aab5e344 (diff) | |
parent | ecc265fe9e09e32a3573b2ba26e79b2099eb8bbb (diff) |
Merge branch 'akpm' (second patchbomb from Andrew Morton)
Merge more incoming from Andrew Morton:
"Two new syscalls:
memfd_create in "shm: add memfd_create() syscall"
kexec_file_load in "kexec: implementation of new syscall kexec_file_load"
And:
- Most (all?) of the rest of MM
- Lots of the usual misc bits
- fs/autofs4
- drivers/rtc
- fs/nilfs
- procfs
- fork.c, exec.c
- more in lib/
- rapidio
- Janitorial work in filesystems: fs/ufs, fs/reiserfs, fs/adfs,
fs/cramfs, fs/romfs, fs/qnx6.
- initrd/initramfs work
- "file sealing" and the memfd_create() syscall, in tmpfs
- add pci_zalloc_consistent, use it in lots of places
- MAINTAINERS maintenance
- kexec feature work"
* emailed patches from Andrew Morton <akpm@linux-foundation.org: (193 commits)
MAINTAINERS: update nomadik patterns
MAINTAINERS: update usb/gadget patterns
MAINTAINERS: update DMA BUFFER SHARING patterns
kexec: verify the signature of signed PE bzImage
kexec: support kexec/kdump on EFI systems
kexec: support for kexec on panic using new system call
kexec-bzImage64: support for loading bzImage using 64bit entry
kexec: load and relocate purgatory at kernel load time
purgatory: core purgatory functionality
purgatory/sha256: provide implementation of sha256 in purgaotory context
kexec: implementation of new syscall kexec_file_load
kexec: new syscall kexec_file_load() declaration
kexec: make kexec_segment user buffer pointer a union
resource: provide new functions to walk through resources
kexec: use common function for kimage_normal_alloc() and kimage_crash_alloc()
kexec: move segment verification code in a separate function
kexec: rename unusebale_pages to unusable_pages
kernel: build bin2c based on config option CONFIG_BUILD_BIN2C
bin2c: move bin2c in scripts/basic
shm: wait for pins to be released when sealing
...
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/Kconfig | 3 | ||||
-rw-r--r-- | arch/ia64/include/asm/Kbuild | 1 | ||||
-rw-r--r-- | arch/ia64/include/asm/page.h | 2 | ||||
-rw-r--r-- | arch/ia64/include/asm/scatterlist.h | 7 | ||||
-rw-r--r-- | arch/ia64/kernel/time.c | 15 | ||||
-rw-r--r-- | arch/ia64/mm/init.c | 31 |
6 files changed, 37 insertions, 22 deletions
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 44a6915ab13d..64aefb76bd69 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -28,6 +28,7 @@ config IA64 | |||
28 | select HAVE_MEMBLOCK | 28 | select HAVE_MEMBLOCK |
29 | select HAVE_MEMBLOCK_NODE_MAP | 29 | select HAVE_MEMBLOCK_NODE_MAP |
30 | select HAVE_VIRT_CPU_ACCOUNTING | 30 | select HAVE_VIRT_CPU_ACCOUNTING |
31 | select ARCH_HAS_SG_CHAIN | ||
31 | select VIRT_TO_BUS | 32 | select VIRT_TO_BUS |
32 | select ARCH_DISCARD_MEMBLOCK | 33 | select ARCH_DISCARD_MEMBLOCK |
33 | select GENERIC_IRQ_PROBE | 34 | select GENERIC_IRQ_PROBE |
@@ -548,6 +549,8 @@ source "drivers/sn/Kconfig" | |||
548 | config KEXEC | 549 | config KEXEC |
549 | bool "kexec system call" | 550 | bool "kexec system call" |
550 | depends on !IA64_HP_SIM && (!SMP || HOTPLUG_CPU) | 551 | depends on !IA64_HP_SIM && (!SMP || HOTPLUG_CPU) |
552 | select CRYPTO | ||
553 | select CRYPTO_SHA256 | ||
551 | help | 554 | help |
552 | kexec is a system call that implements the ability to shutdown your | 555 | kexec is a system call that implements the ability to shutdown your |
553 | current kernel, and to start another kernel. It is like a reboot | 556 | current kernel, and to start another kernel. It is like a reboot |
diff --git a/arch/ia64/include/asm/Kbuild b/arch/ia64/include/asm/Kbuild index 0da4aa2602ae..e8317d2d6c8d 100644 --- a/arch/ia64/include/asm/Kbuild +++ b/arch/ia64/include/asm/Kbuild | |||
@@ -5,5 +5,6 @@ generic-y += hash.h | |||
5 | generic-y += kvm_para.h | 5 | generic-y += kvm_para.h |
6 | generic-y += mcs_spinlock.h | 6 | generic-y += mcs_spinlock.h |
7 | generic-y += preempt.h | 7 | generic-y += preempt.h |
8 | generic-y += scatterlist.h | ||
8 | generic-y += trace_clock.h | 9 | generic-y += trace_clock.h |
9 | generic-y += vtime.h | 10 | generic-y += vtime.h |
diff --git a/arch/ia64/include/asm/page.h b/arch/ia64/include/asm/page.h index f1e1b2e3cdb3..1f1bf144fe62 100644 --- a/arch/ia64/include/asm/page.h +++ b/arch/ia64/include/asm/page.h | |||
@@ -231,4 +231,6 @@ get_order (unsigned long size) | |||
231 | #define PERCPU_ADDR (-PERCPU_PAGE_SIZE) | 231 | #define PERCPU_ADDR (-PERCPU_PAGE_SIZE) |
232 | #define LOAD_OFFSET (KERNEL_START - KERNEL_TR_PAGE_SIZE) | 232 | #define LOAD_OFFSET (KERNEL_START - KERNEL_TR_PAGE_SIZE) |
233 | 233 | ||
234 | #define __HAVE_ARCH_GATE_AREA 1 | ||
235 | |||
234 | #endif /* _ASM_IA64_PAGE_H */ | 236 | #endif /* _ASM_IA64_PAGE_H */ |
diff --git a/arch/ia64/include/asm/scatterlist.h b/arch/ia64/include/asm/scatterlist.h deleted file mode 100644 index 08fd93bff1db..000000000000 --- a/arch/ia64/include/asm/scatterlist.h +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | #ifndef _ASM_IA64_SCATTERLIST_H | ||
2 | #define _ASM_IA64_SCATTERLIST_H | ||
3 | |||
4 | #include <asm-generic/scatterlist.h> | ||
5 | #define ARCH_HAS_SG_CHAIN | ||
6 | |||
7 | #endif /* _ASM_IA64_SCATTERLIST_H */ | ||
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c index 3e71ef85e439..9a0104a38cd3 100644 --- a/arch/ia64/kernel/time.c +++ b/arch/ia64/kernel/time.c | |||
@@ -384,21 +384,6 @@ static struct irqaction timer_irqaction = { | |||
384 | .name = "timer" | 384 | .name = "timer" |
385 | }; | 385 | }; |
386 | 386 | ||
387 | static struct platform_device rtc_efi_dev = { | ||
388 | .name = "rtc-efi", | ||
389 | .id = -1, | ||
390 | }; | ||
391 | |||
392 | static int __init rtc_init(void) | ||
393 | { | ||
394 | if (platform_device_register(&rtc_efi_dev) < 0) | ||
395 | printk(KERN_ERR "unable to register rtc device...\n"); | ||
396 | |||
397 | /* not necessarily an error */ | ||
398 | return 0; | ||
399 | } | ||
400 | module_init(rtc_init); | ||
401 | |||
402 | void read_persistent_clock(struct timespec *ts) | 387 | void read_persistent_clock(struct timespec *ts) |
403 | { | 388 | { |
404 | efi_gettimeofday(ts); | 389 | efi_gettimeofday(ts); |
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c index 892d43e32f3b..6b3345758d3e 100644 --- a/arch/ia64/mm/init.c +++ b/arch/ia64/mm/init.c | |||
@@ -278,6 +278,37 @@ setup_gate (void) | |||
278 | ia64_patch_gate(); | 278 | ia64_patch_gate(); |
279 | } | 279 | } |
280 | 280 | ||
281 | static struct vm_area_struct gate_vma; | ||
282 | |||
283 | static int __init gate_vma_init(void) | ||
284 | { | ||
285 | gate_vma.vm_mm = NULL; | ||
286 | gate_vma.vm_start = FIXADDR_USER_START; | ||
287 | gate_vma.vm_end = FIXADDR_USER_END; | ||
288 | gate_vma.vm_flags = VM_READ | VM_MAYREAD | VM_EXEC | VM_MAYEXEC; | ||
289 | gate_vma.vm_page_prot = __P101; | ||
290 | |||
291 | return 0; | ||
292 | } | ||
293 | __initcall(gate_vma_init); | ||
294 | |||
295 | struct vm_area_struct *get_gate_vma(struct mm_struct *mm) | ||
296 | { | ||
297 | return &gate_vma; | ||
298 | } | ||
299 | |||
300 | int in_gate_area_no_mm(unsigned long addr) | ||
301 | { | ||
302 | if ((addr >= FIXADDR_USER_START) && (addr < FIXADDR_USER_END)) | ||
303 | return 1; | ||
304 | return 0; | ||
305 | } | ||
306 | |||
307 | int in_gate_area(struct mm_struct *mm, unsigned long addr) | ||
308 | { | ||
309 | return in_gate_area_no_mm(addr); | ||
310 | } | ||
311 | |||
281 | void ia64_mmu_init(void *my_cpu_data) | 312 | void ia64_mmu_init(void *my_cpu_data) |
282 | { | 313 | { |
283 | unsigned long pta, impl_va_bits; | 314 | unsigned long pta, impl_va_bits; |