diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-26 16:07:55 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-26 16:07:55 -0400 |
| commit | b278240839e20fa9384ea430df463b367b90e04e (patch) | |
| tree | f99f0c8cdd4cc7f177cd75440e6bd181cded7fb3 /include/linux | |
| parent | dd77a4ee0f3981693d4229aa1d57cea9e526ff47 (diff) | |
| parent | 3f75f42d7733e73aca5c78326489efd4189e0111 (diff) | |
Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6
* 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: (225 commits)
[PATCH] Don't set calgary iommu as default y
[PATCH] i386/x86-64: New Intel feature flags
[PATCH] x86: Add a cumulative thermal throttle event counter.
[PATCH] i386: Make the jiffies compares use the 64bit safe macros.
[PATCH] x86: Refactor thermal throttle processing
[PATCH] Add 64bit jiffies compares (for use with get_jiffies_64)
[PATCH] Fix unwinder warning in traps.c
[PATCH] x86: Allow disabling early pci scans with pci=noearly or disallowing conf1
[PATCH] x86: Move direct PCI scanning functions out of line
[PATCH] i386/x86-64: Make all early PCI scans dependent on CONFIG_PCI
[PATCH] Don't leak NT bit into next task
[PATCH] i386/x86-64: Work around gcc bug with noreturn functions in unwinder
[PATCH] Fix some broken white space in ia32_signal.c
[PATCH] Initialize argument registers for 32bit signal handlers.
[PATCH] Remove all traces of signal number conversion
[PATCH] Don't synchronize time reading on single core AMD systems
[PATCH] Remove outdated comment in x86-64 mmconfig code
[PATCH] Use string instructions for Core2 copy/clear
[PATCH] x86: - restore i8259A eoi status on resume
[PATCH] i386: Split multi-line printk in oops output.
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/edd.h | 1 | ||||
| -rw-r--r-- | include/linux/getcpu.h | 16 | ||||
| -rw-r--r-- | include/linux/jiffies.h | 15 | ||||
| -rw-r--r-- | include/linux/kernel.h | 1 | ||||
| -rw-r--r-- | include/linux/linkage.h | 6 | ||||
| -rw-r--r-- | include/linux/sched.h | 14 | ||||
| -rw-r--r-- | include/linux/stacktrace.h | 7 | ||||
| -rw-r--r-- | include/linux/syscalls.h | 2 | ||||
| -rw-r--r-- | include/linux/sysctl.h | 2 | ||||
| -rw-r--r-- | include/linux/vermagic.h | 4 |
10 files changed, 62 insertions, 6 deletions
diff --git a/include/linux/edd.h b/include/linux/edd.h index 162512b886f7..b2b3e68aa512 100644 --- a/include/linux/edd.h +++ b/include/linux/edd.h | |||
| @@ -52,6 +52,7 @@ | |||
| 52 | #define EDD_CL_EQUALS 0x3d646465 /* "edd=" */ | 52 | #define EDD_CL_EQUALS 0x3d646465 /* "edd=" */ |
| 53 | #define EDD_CL_OFF 0x666f /* "of" for off */ | 53 | #define EDD_CL_OFF 0x666f /* "of" for off */ |
| 54 | #define EDD_CL_SKIP 0x6b73 /* "sk" for skipmbr */ | 54 | #define EDD_CL_SKIP 0x6b73 /* "sk" for skipmbr */ |
| 55 | #define EDD_CL_ON 0x6e6f /* "on" for on */ | ||
| 55 | 56 | ||
| 56 | #ifndef __ASSEMBLY__ | 57 | #ifndef __ASSEMBLY__ |
| 57 | 58 | ||
diff --git a/include/linux/getcpu.h b/include/linux/getcpu.h new file mode 100644 index 000000000000..031ed3780e45 --- /dev/null +++ b/include/linux/getcpu.h | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | #ifndef _LINUX_GETCPU_H | ||
| 2 | #define _LINUX_GETCPU_H 1 | ||
| 3 | |||
| 4 | /* Cache for getcpu() to speed it up. Results might be upto a jiffie | ||
| 5 | out of date, but will be faster. | ||
| 6 | User programs should not refer to the contents of this structure. | ||
| 7 | It is only a cache for vgetcpu(). It might change in future kernels. | ||
| 8 | The user program must store this information per thread (__thread) | ||
| 9 | If you want 100% accurate information pass NULL instead. */ | ||
| 10 | struct getcpu_cache { | ||
| 11 | unsigned long t0; | ||
| 12 | unsigned long t1; | ||
| 13 | unsigned long res[4]; | ||
| 14 | }; | ||
| 15 | |||
| 16 | #endif | ||
diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h index 329ebcffa106..c8d5f207c3d4 100644 --- a/include/linux/jiffies.h +++ b/include/linux/jiffies.h | |||
| @@ -115,6 +115,21 @@ static inline u64 get_jiffies_64(void) | |||
| 115 | ((long)(a) - (long)(b) >= 0)) | 115 | ((long)(a) - (long)(b) >= 0)) |
| 116 | #define time_before_eq(a,b) time_after_eq(b,a) | 116 | #define time_before_eq(a,b) time_after_eq(b,a) |
| 117 | 117 | ||
| 118 | /* Same as above, but does so with platform independent 64bit types. | ||
| 119 | * These must be used when utilizing jiffies_64 (i.e. return value of | ||
| 120 | * get_jiffies_64() */ | ||
| 121 | #define time_after64(a,b) \ | ||
| 122 | (typecheck(__u64, a) && \ | ||
| 123 | typecheck(__u64, b) && \ | ||
| 124 | ((__s64)(b) - (__s64)(a) < 0)) | ||
| 125 | #define time_before64(a,b) time_after64(b,a) | ||
| 126 | |||
| 127 | #define time_after_eq64(a,b) \ | ||
| 128 | (typecheck(__u64, a) && \ | ||
| 129 | typecheck(__u64, b) && \ | ||
| 130 | ((__s64)(a) - (__s64)(b) >= 0)) | ||
| 131 | #define time_before_eq64(a,b) time_after_eq64(b,a) | ||
| 132 | |||
| 118 | /* | 133 | /* |
| 119 | * Have the 32 bit jiffies value wrap 5 minutes after boot | 134 | * Have the 32 bit jiffies value wrap 5 minutes after boot |
| 120 | * so jiffies wrap bugs show up earlier. | 135 | * so jiffies wrap bugs show up earlier. |
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index e44a37e2c71c..4fa373bb18ac 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
| @@ -187,6 +187,7 @@ extern void bust_spinlocks(int yes); | |||
| 187 | extern int oops_in_progress; /* If set, an oops, panic(), BUG() or die() is in progress */ | 187 | extern int oops_in_progress; /* If set, an oops, panic(), BUG() or die() is in progress */ |
| 188 | extern int panic_timeout; | 188 | extern int panic_timeout; |
| 189 | extern int panic_on_oops; | 189 | extern int panic_on_oops; |
| 190 | extern int panic_on_unrecovered_nmi; | ||
| 190 | extern int tainted; | 191 | extern int tainted; |
| 191 | extern const char *print_tainted(void); | 192 | extern const char *print_tainted(void); |
| 192 | extern void add_taint(unsigned); | 193 | extern void add_taint(unsigned); |
diff --git a/include/linux/linkage.h b/include/linux/linkage.h index 932021f872d5..6c9873f88287 100644 --- a/include/linux/linkage.h +++ b/include/linux/linkage.h | |||
| @@ -35,9 +35,13 @@ | |||
| 35 | #endif | 35 | #endif |
| 36 | 36 | ||
| 37 | #define KPROBE_ENTRY(name) \ | 37 | #define KPROBE_ENTRY(name) \ |
| 38 | .section .kprobes.text, "ax"; \ | 38 | .pushsection .kprobes.text, "ax"; \ |
| 39 | ENTRY(name) | 39 | ENTRY(name) |
| 40 | 40 | ||
| 41 | #define KPROBE_END(name) \ | ||
| 42 | END(name); \ | ||
| 43 | .popsection | ||
| 44 | |||
| 41 | #ifndef END | 45 | #ifndef END |
| 42 | #define END(name) \ | 46 | #define END(name) \ |
| 43 | .size name, .-name | 47 | .size name, .-name |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 34ed0d99b1bd..9d4aa7f95bc8 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -819,6 +819,11 @@ struct task_struct { | |||
| 819 | unsigned did_exec:1; | 819 | unsigned did_exec:1; |
| 820 | pid_t pid; | 820 | pid_t pid; |
| 821 | pid_t tgid; | 821 | pid_t tgid; |
| 822 | |||
| 823 | #ifdef CONFIG_CC_STACKPROTECTOR | ||
| 824 | /* Canary value for the -fstack-protector gcc feature */ | ||
| 825 | unsigned long stack_canary; | ||
| 826 | #endif | ||
| 822 | /* | 827 | /* |
| 823 | * pointers to (original) parent process, youngest child, younger sibling, | 828 | * pointers to (original) parent process, youngest child, younger sibling, |
| 824 | * older sibling, respectively. (p->father can be replaced with | 829 | * older sibling, respectively. (p->father can be replaced with |
| @@ -865,6 +870,15 @@ struct task_struct { | |||
| 865 | struct key *thread_keyring; /* keyring private to this thread */ | 870 | struct key *thread_keyring; /* keyring private to this thread */ |
| 866 | unsigned char jit_keyring; /* default keyring to attach requested keys to */ | 871 | unsigned char jit_keyring; /* default keyring to attach requested keys to */ |
| 867 | #endif | 872 | #endif |
| 873 | /* | ||
| 874 | * fpu_counter contains the number of consecutive context switches | ||
| 875 | * that the FPU is used. If this is over a threshold, the lazy fpu | ||
| 876 | * saving becomes unlazy to save the trap. This is an unsigned char | ||
| 877 | * so that after 256 times the counter wraps and the behavior turns | ||
| 878 | * lazy again; this to deal with bursty apps that only use FPU for | ||
| 879 | * a short time | ||
| 880 | */ | ||
| 881 | unsigned char fpu_counter; | ||
| 868 | int oomkilladj; /* OOM kill score adjustment (bit shift). */ | 882 | int oomkilladj; /* OOM kill score adjustment (bit shift). */ |
| 869 | char comm[TASK_COMM_LEN]; /* executable name excluding path | 883 | char comm[TASK_COMM_LEN]; /* executable name excluding path |
| 870 | - access with [gs]et_task_comm (which lock | 884 | - access with [gs]et_task_comm (which lock |
diff --git a/include/linux/stacktrace.h b/include/linux/stacktrace.h index 9cc81e572224..50e2b01e517c 100644 --- a/include/linux/stacktrace.h +++ b/include/linux/stacktrace.h | |||
| @@ -5,15 +5,16 @@ | |||
| 5 | struct stack_trace { | 5 | struct stack_trace { |
| 6 | unsigned int nr_entries, max_entries; | 6 | unsigned int nr_entries, max_entries; |
| 7 | unsigned long *entries; | 7 | unsigned long *entries; |
| 8 | int skip; /* input argument: How many entries to skip */ | ||
| 9 | int all_contexts; /* input argument: if true do than one stack */ | ||
| 8 | }; | 10 | }; |
| 9 | 11 | ||
| 10 | extern void save_stack_trace(struct stack_trace *trace, | 12 | extern void save_stack_trace(struct stack_trace *trace, |
| 11 | struct task_struct *task, int all_contexts, | 13 | struct task_struct *task); |
| 12 | unsigned int skip); | ||
| 13 | 14 | ||
| 14 | extern void print_stack_trace(struct stack_trace *trace, int spaces); | 15 | extern void print_stack_trace(struct stack_trace *trace, int spaces); |
| 15 | #else | 16 | #else |
| 16 | # define save_stack_trace(trace, task, all, skip) do { } while (0) | 17 | # define save_stack_trace(trace, task) do { } while (0) |
| 17 | # define print_stack_trace(trace) do { } while (0) | 18 | # define print_stack_trace(trace) do { } while (0) |
| 18 | #endif | 19 | #endif |
| 19 | 20 | ||
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 008f04c56737..3f0f716225ec 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
| @@ -53,6 +53,7 @@ struct mq_attr; | |||
| 53 | struct compat_stat; | 53 | struct compat_stat; |
| 54 | struct compat_timeval; | 54 | struct compat_timeval; |
| 55 | struct robust_list_head; | 55 | struct robust_list_head; |
| 56 | struct getcpu_cache; | ||
| 56 | 57 | ||
| 57 | #include <linux/types.h> | 58 | #include <linux/types.h> |
| 58 | #include <linux/aio_abi.h> | 59 | #include <linux/aio_abi.h> |
| @@ -596,5 +597,6 @@ asmlinkage long sys_get_robust_list(int pid, | |||
| 596 | size_t __user *len_ptr); | 597 | size_t __user *len_ptr); |
| 597 | asmlinkage long sys_set_robust_list(struct robust_list_head __user *head, | 598 | asmlinkage long sys_set_robust_list(struct robust_list_head __user *head, |
| 598 | size_t len); | 599 | size_t len); |
| 600 | asmlinkage long sys_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *cache); | ||
| 599 | 601 | ||
| 600 | #endif | 602 | #endif |
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index eca555781d05..1b24bd45e080 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
| @@ -150,6 +150,8 @@ enum | |||
| 150 | KERN_IA64_UNALIGNED=72, /* int: ia64 unaligned userland trap enable */ | 150 | KERN_IA64_UNALIGNED=72, /* int: ia64 unaligned userland trap enable */ |
| 151 | KERN_COMPAT_LOG=73, /* int: print compat layer messages */ | 151 | KERN_COMPAT_LOG=73, /* int: print compat layer messages */ |
| 152 | KERN_MAX_LOCK_DEPTH=74, | 152 | KERN_MAX_LOCK_DEPTH=74, |
| 153 | KERN_NMI_WATCHDOG=75, /* int: enable/disable nmi watchdog */ | ||
| 154 | KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */ | ||
| 153 | }; | 155 | }; |
| 154 | 156 | ||
| 155 | 157 | ||
diff --git a/include/linux/vermagic.h b/include/linux/vermagic.h index 46919f9f5eb3..4d0909e53595 100644 --- a/include/linux/vermagic.h +++ b/include/linux/vermagic.h | |||
| @@ -24,5 +24,5 @@ | |||
| 24 | #define VERMAGIC_STRING \ | 24 | #define VERMAGIC_STRING \ |
| 25 | UTS_RELEASE " " \ | 25 | UTS_RELEASE " " \ |
| 26 | MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \ | 26 | MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \ |
| 27 | MODULE_VERMAGIC_MODULE_UNLOAD MODULE_ARCH_VERMAGIC \ | 27 | MODULE_VERMAGIC_MODULE_UNLOAD MODULE_ARCH_VERMAGIC |
| 28 | "gcc-" __stringify(__GNUC__) "." __stringify(__GNUC_MINOR__) | 28 | |
