diff options
| author | Paul Mundt <lethal@linux-sh.org> | 2011-03-17 03:44:08 -0400 |
|---|---|---|
| committer | Paul Mundt <lethal@linux-sh.org> | 2011-03-17 03:44:08 -0400 |
| commit | 1d2a1959fe534279cf37aba20b08c24c20840e52 (patch) | |
| tree | 67c0b9aa7fe22a44bf0b4af88947799203eb8f67 /include/asm-generic | |
| parent | 5a79ce76e9bb8f4b2cd8106ee36d15ee05013bcf (diff) | |
| parent | 054cfaacf88865bff1dd58d305443d5d6c068a08 (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into sh-latest
Diffstat (limited to 'include/asm-generic')
| -rw-r--r-- | include/asm-generic/cputime.h | 3 | ||||
| -rw-r--r-- | include/asm-generic/fcntl.h | 4 | ||||
| -rw-r--r-- | include/asm-generic/futex.h | 7 | ||||
| -rw-r--r-- | include/asm-generic/ioctls.h | 1 | ||||
| -rw-r--r-- | include/asm-generic/pgtable.h | 2 | ||||
| -rw-r--r-- | include/asm-generic/sections.h | 1 | ||||
| -rw-r--r-- | include/asm-generic/unistd.h | 6 | ||||
| -rw-r--r-- | include/asm-generic/vmlinux.lds.h | 41 |
8 files changed, 48 insertions, 17 deletions
diff --git a/include/asm-generic/cputime.h b/include/asm-generic/cputime.h index 2bcc5c7c22a6..61e03dd7939e 100644 --- a/include/asm-generic/cputime.h +++ b/include/asm-generic/cputime.h | |||
| @@ -30,6 +30,9 @@ typedef u64 cputime64_t; | |||
| 30 | #define cputime64_to_jiffies64(__ct) (__ct) | 30 | #define cputime64_to_jiffies64(__ct) (__ct) |
| 31 | #define jiffies64_to_cputime64(__jif) (__jif) | 31 | #define jiffies64_to_cputime64(__jif) (__jif) |
| 32 | #define cputime_to_cputime64(__ct) ((u64) __ct) | 32 | #define cputime_to_cputime64(__ct) ((u64) __ct) |
| 33 | #define cputime64_gt(__a, __b) ((__a) > (__b)) | ||
| 34 | |||
| 35 | #define nsecs_to_cputime64(__ct) nsecs_to_jiffies64(__ct) | ||
| 33 | 36 | ||
| 34 | 37 | ||
| 35 | /* | 38 | /* |
diff --git a/include/asm-generic/fcntl.h b/include/asm-generic/fcntl.h index 0fc16e3f0bfc..84793c7025e2 100644 --- a/include/asm-generic/fcntl.h +++ b/include/asm-generic/fcntl.h | |||
| @@ -80,6 +80,10 @@ | |||
| 80 | #define O_SYNC (__O_SYNC|O_DSYNC) | 80 | #define O_SYNC (__O_SYNC|O_DSYNC) |
| 81 | #endif | 81 | #endif |
| 82 | 82 | ||
| 83 | #ifndef O_PATH | ||
| 84 | #define O_PATH 010000000 | ||
| 85 | #endif | ||
| 86 | |||
| 83 | #ifndef O_NDELAY | 87 | #ifndef O_NDELAY |
| 84 | #define O_NDELAY O_NONBLOCK | 88 | #define O_NDELAY O_NONBLOCK |
| 85 | #endif | 89 | #endif |
diff --git a/include/asm-generic/futex.h b/include/asm-generic/futex.h index 3c2344f48136..01f227e14254 100644 --- a/include/asm-generic/futex.h +++ b/include/asm-generic/futex.h | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | #include <asm/errno.h> | 6 | #include <asm/errno.h> |
| 7 | 7 | ||
| 8 | static inline int | 8 | static inline int |
| 9 | futex_atomic_op_inuser (int encoded_op, int __user *uaddr) | 9 | futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) |
| 10 | { | 10 | { |
| 11 | int op = (encoded_op >> 28) & 7; | 11 | int op = (encoded_op >> 28) & 7; |
| 12 | int cmp = (encoded_op >> 24) & 15; | 12 | int cmp = (encoded_op >> 24) & 15; |
| @@ -16,7 +16,7 @@ futex_atomic_op_inuser (int encoded_op, int __user *uaddr) | |||
| 16 | if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28)) | 16 | if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28)) |
| 17 | oparg = 1 << oparg; | 17 | oparg = 1 << oparg; |
| 18 | 18 | ||
| 19 | if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int))) | 19 | if (! access_ok (VERIFY_WRITE, uaddr, sizeof(u32))) |
| 20 | return -EFAULT; | 20 | return -EFAULT; |
| 21 | 21 | ||
| 22 | pagefault_disable(); | 22 | pagefault_disable(); |
| @@ -48,7 +48,8 @@ futex_atomic_op_inuser (int encoded_op, int __user *uaddr) | |||
| 48 | } | 48 | } |
| 49 | 49 | ||
| 50 | static inline int | 50 | static inline int |
| 51 | futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) | 51 | futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, |
| 52 | u32 oldval, u32 newval) | ||
| 52 | { | 53 | { |
| 53 | return -ENOSYS; | 54 | return -ENOSYS; |
| 54 | } | 55 | } |
diff --git a/include/asm-generic/ioctls.h b/include/asm-generic/ioctls.h index 3f3f2d189fb8..199975fac395 100644 --- a/include/asm-generic/ioctls.h +++ b/include/asm-generic/ioctls.h | |||
| @@ -73,6 +73,7 @@ | |||
| 73 | #define TCSETXF 0x5434 | 73 | #define TCSETXF 0x5434 |
| 74 | #define TCSETXW 0x5435 | 74 | #define TCSETXW 0x5435 |
| 75 | #define TIOCSIG _IOW('T', 0x36, int) /* pty: generate signal */ | 75 | #define TIOCSIG _IOW('T', 0x36, int) /* pty: generate signal */ |
| 76 | #define TIOCVHANGUP 0x5437 | ||
| 76 | 77 | ||
| 77 | #define FIONCLEX 0x5450 | 78 | #define FIONCLEX 0x5450 |
| 78 | #define FIOCLEX 0x5451 | 79 | #define FIOCLEX 0x5451 |
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index 31b6188df221..b4bfe338ea0e 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h | |||
| @@ -4,6 +4,8 @@ | |||
| 4 | #ifndef __ASSEMBLY__ | 4 | #ifndef __ASSEMBLY__ |
| 5 | #ifdef CONFIG_MMU | 5 | #ifdef CONFIG_MMU |
| 6 | 6 | ||
| 7 | #include <linux/mm_types.h> | ||
| 8 | |||
| 7 | #ifndef __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS | 9 | #ifndef __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS |
| 8 | extern int ptep_set_access_flags(struct vm_area_struct *vma, | 10 | extern int ptep_set_access_flags(struct vm_area_struct *vma, |
| 9 | unsigned long address, pte_t *ptep, | 11 | unsigned long address, pte_t *ptep, |
diff --git a/include/asm-generic/sections.h b/include/asm-generic/sections.h index b3bfabc258f3..c1a1216e29ce 100644 --- a/include/asm-generic/sections.h +++ b/include/asm-generic/sections.h | |||
| @@ -11,6 +11,7 @@ extern char _sinittext[], _einittext[]; | |||
| 11 | extern char _end[]; | 11 | extern char _end[]; |
| 12 | extern char __per_cpu_load[], __per_cpu_start[], __per_cpu_end[]; | 12 | extern char __per_cpu_load[], __per_cpu_start[], __per_cpu_end[]; |
| 13 | extern char __kprobes_text_start[], __kprobes_text_end[]; | 13 | extern char __kprobes_text_start[], __kprobes_text_end[]; |
| 14 | extern char __entry_text_start[], __entry_text_end[]; | ||
| 14 | extern char __initdata_begin[], __initdata_end[]; | 15 | extern char __initdata_begin[], __initdata_end[]; |
| 15 | extern char __start_rodata[], __end_rodata[]; | 16 | extern char __start_rodata[], __end_rodata[]; |
| 16 | 17 | ||
diff --git a/include/asm-generic/unistd.h b/include/asm-generic/unistd.h index b969770196c2..57af0338d270 100644 --- a/include/asm-generic/unistd.h +++ b/include/asm-generic/unistd.h | |||
| @@ -646,9 +646,13 @@ __SYSCALL(__NR_prlimit64, sys_prlimit64) | |||
| 646 | __SYSCALL(__NR_fanotify_init, sys_fanotify_init) | 646 | __SYSCALL(__NR_fanotify_init, sys_fanotify_init) |
| 647 | #define __NR_fanotify_mark 263 | 647 | #define __NR_fanotify_mark 263 |
| 648 | __SYSCALL(__NR_fanotify_mark, sys_fanotify_mark) | 648 | __SYSCALL(__NR_fanotify_mark, sys_fanotify_mark) |
| 649 | #define __NR_name_to_handle_at 264 | ||
| 650 | __SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at) | ||
| 651 | #define __NR_open_by_handle_at 265 | ||
| 652 | __SYSCALL(__NR_open_by_handle_at, sys_open_by_handle_at) | ||
| 649 | 653 | ||
| 650 | #undef __NR_syscalls | 654 | #undef __NR_syscalls |
| 651 | #define __NR_syscalls 264 | 655 | #define __NR_syscalls 266 |
| 652 | 656 | ||
| 653 | /* | 657 | /* |
| 654 | * All syscalls below here should go away really, | 658 | * All syscalls below here should go away really, |
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index fe77e3395b40..32c45e5fe0ab 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | * HEAD_TEXT_SECTION | 15 | * HEAD_TEXT_SECTION |
| 16 | * INIT_TEXT_SECTION(PAGE_SIZE) | 16 | * INIT_TEXT_SECTION(PAGE_SIZE) |
| 17 | * INIT_DATA_SECTION(...) | 17 | * INIT_DATA_SECTION(...) |
| 18 | * PERCPU(PAGE_SIZE) | 18 | * PERCPU(CACHELINE_SIZE, PAGE_SIZE) |
| 19 | * __init_end = .; | 19 | * __init_end = .; |
| 20 | * | 20 | * |
| 21 | * _stext = .; | 21 | * _stext = .; |
| @@ -424,6 +424,12 @@ | |||
| 424 | *(.kprobes.text) \ | 424 | *(.kprobes.text) \ |
| 425 | VMLINUX_SYMBOL(__kprobes_text_end) = .; | 425 | VMLINUX_SYMBOL(__kprobes_text_end) = .; |
| 426 | 426 | ||
| 427 | #define ENTRY_TEXT \ | ||
| 428 | ALIGN_FUNCTION(); \ | ||
| 429 | VMLINUX_SYMBOL(__entry_text_start) = .; \ | ||
| 430 | *(.entry.text) \ | ||
| 431 | VMLINUX_SYMBOL(__entry_text_end) = .; | ||
| 432 | |||
| 427 | #ifdef CONFIG_FUNCTION_GRAPH_TRACER | 433 | #ifdef CONFIG_FUNCTION_GRAPH_TRACER |
| 428 | #define IRQENTRY_TEXT \ | 434 | #define IRQENTRY_TEXT \ |
| 429 | ALIGN_FUNCTION(); \ | 435 | ALIGN_FUNCTION(); \ |
| @@ -683,13 +689,18 @@ | |||
| 683 | 689 | ||
| 684 | /** | 690 | /** |
| 685 | * PERCPU_VADDR - define output section for percpu area | 691 | * PERCPU_VADDR - define output section for percpu area |
| 692 | * @cacheline: cacheline size | ||
| 686 | * @vaddr: explicit base address (optional) | 693 | * @vaddr: explicit base address (optional) |
| 687 | * @phdr: destination PHDR (optional) | 694 | * @phdr: destination PHDR (optional) |
| 688 | * | 695 | * |
| 689 | * Macro which expands to output section for percpu area. If @vaddr | 696 | * Macro which expands to output section for percpu area. |
| 690 | * is not blank, it specifies explicit base address and all percpu | 697 | * |
| 691 | * symbols will be offset from the given address. If blank, @vaddr | 698 | * @cacheline is used to align subsections to avoid false cacheline |
| 692 | * always equals @laddr + LOAD_OFFSET. | 699 | * sharing between subsections for different purposes. |
| 700 | * | ||
| 701 | * If @vaddr is not blank, it specifies explicit base address and all | ||
| 702 | * percpu symbols will be offset from the given address. If blank, | ||
| 703 | * @vaddr always equals @laddr + LOAD_OFFSET. | ||
| 693 | * | 704 | * |
| 694 | * @phdr defines the output PHDR to use if not blank. Be warned that | 705 | * @phdr defines the output PHDR to use if not blank. Be warned that |
| 695 | * output PHDR is sticky. If @phdr is specified, the next output | 706 | * output PHDR is sticky. If @phdr is specified, the next output |
| @@ -700,7 +711,7 @@ | |||
| 700 | * If there is no need to put the percpu section at a predetermined | 711 | * If there is no need to put the percpu section at a predetermined |
| 701 | * address, use PERCPU(). | 712 | * address, use PERCPU(). |
| 702 | */ | 713 | */ |
| 703 | #define PERCPU_VADDR(vaddr, phdr) \ | 714 | #define PERCPU_VADDR(cacheline, vaddr, phdr) \ |
| 704 | VMLINUX_SYMBOL(__per_cpu_load) = .; \ | 715 | VMLINUX_SYMBOL(__per_cpu_load) = .; \ |
| 705 | .data..percpu vaddr : AT(VMLINUX_SYMBOL(__per_cpu_load) \ | 716 | .data..percpu vaddr : AT(VMLINUX_SYMBOL(__per_cpu_load) \ |
| 706 | - LOAD_OFFSET) { \ | 717 | - LOAD_OFFSET) { \ |
| @@ -708,7 +719,9 @@ | |||
| 708 | *(.data..percpu..first) \ | 719 | *(.data..percpu..first) \ |
| 709 | . = ALIGN(PAGE_SIZE); \ | 720 | . = ALIGN(PAGE_SIZE); \ |
| 710 | *(.data..percpu..page_aligned) \ | 721 | *(.data..percpu..page_aligned) \ |
| 722 | . = ALIGN(cacheline); \ | ||
| 711 | *(.data..percpu..readmostly) \ | 723 | *(.data..percpu..readmostly) \ |
| 724 | . = ALIGN(cacheline); \ | ||
| 712 | *(.data..percpu) \ | 725 | *(.data..percpu) \ |
| 713 | *(.data..percpu..shared_aligned) \ | 726 | *(.data..percpu..shared_aligned) \ |
| 714 | VMLINUX_SYMBOL(__per_cpu_end) = .; \ | 727 | VMLINUX_SYMBOL(__per_cpu_end) = .; \ |
| @@ -717,18 +730,18 @@ | |||
| 717 | 730 | ||
| 718 | /** | 731 | /** |
| 719 | * PERCPU - define output section for percpu area, simple version | 732 | * PERCPU - define output section for percpu area, simple version |
| 733 | * @cacheline: cacheline size | ||
| 720 | * @align: required alignment | 734 | * @align: required alignment |
| 721 | * | 735 | * |
| 722 | * Align to @align and outputs output section for percpu area. This | 736 | * Align to @align and outputs output section for percpu area. This macro |
| 723 | * macro doesn't maniuplate @vaddr or @phdr and __per_cpu_load and | 737 | * doesn't manipulate @vaddr or @phdr and __per_cpu_load and |
| 724 | * __per_cpu_start will be identical. | 738 | * __per_cpu_start will be identical. |
| 725 | * | 739 | * |
| 726 | * This macro is equivalent to ALIGN(align); PERCPU_VADDR( , ) except | 740 | * This macro is equivalent to ALIGN(@align); PERCPU_VADDR(@cacheline,,) |
| 727 | * that __per_cpu_load is defined as a relative symbol against | 741 | * except that __per_cpu_load is defined as a relative symbol against |
| 728 | * .data..percpu which is required for relocatable x86_32 | 742 | * .data..percpu which is required for relocatable x86_32 configuration. |
| 729 | * configuration. | ||
| 730 | */ | 743 | */ |
| 731 | #define PERCPU(align) \ | 744 | #define PERCPU(cacheline, align) \ |
| 732 | . = ALIGN(align); \ | 745 | . = ALIGN(align); \ |
| 733 | .data..percpu : AT(ADDR(.data..percpu) - LOAD_OFFSET) { \ | 746 | .data..percpu : AT(ADDR(.data..percpu) - LOAD_OFFSET) { \ |
| 734 | VMLINUX_SYMBOL(__per_cpu_load) = .; \ | 747 | VMLINUX_SYMBOL(__per_cpu_load) = .; \ |
| @@ -736,7 +749,9 @@ | |||
| 736 | *(.data..percpu..first) \ | 749 | *(.data..percpu..first) \ |
| 737 | . = ALIGN(PAGE_SIZE); \ | 750 | . = ALIGN(PAGE_SIZE); \ |
| 738 | *(.data..percpu..page_aligned) \ | 751 | *(.data..percpu..page_aligned) \ |
| 752 | . = ALIGN(cacheline); \ | ||
| 739 | *(.data..percpu..readmostly) \ | 753 | *(.data..percpu..readmostly) \ |
| 754 | . = ALIGN(cacheline); \ | ||
| 740 | *(.data..percpu) \ | 755 | *(.data..percpu) \ |
| 741 | *(.data..percpu..shared_aligned) \ | 756 | *(.data..percpu..shared_aligned) \ |
| 742 | VMLINUX_SYMBOL(__per_cpu_end) = .; \ | 757 | VMLINUX_SYMBOL(__per_cpu_end) = .; \ |
