diff options
| author | Jeff Garzik <jeff@garzik.org> | 2006-04-27 04:52:44 -0400 |
|---|---|---|
| committer | Jeff Garzik <jeff@garzik.org> | 2006-04-27 04:52:44 -0400 |
| commit | 1a2e8a6f8ec0a068911a882a19e0912a0c89be6e (patch) | |
| tree | e0e70aa880b8c8f2c1a979438a523241f6193742 /arch | |
| parent | 9f1da23b631f92393f58f664348ffc5faeaddeb3 (diff) | |
| parent | 2be4d50295e2b6f62c07b614e1b103e280dddb84 (diff) | |
Merge branch 'master' into upstream
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/Makefile | 2 | ||||
| -rw-r--r-- | arch/arm/kernel/Makefile | 2 | ||||
| -rw-r--r-- | arch/arm/kernel/head-nommu.S | 4 | ||||
| -rw-r--r-- | arch/arm/vfp/vfpdouble.c | 2 | ||||
| -rw-r--r-- | arch/arm/vfp/vfpmodule.c | 2 | ||||
| -rw-r--r-- | arch/arm/vfp/vfpsingle.c | 2 | ||||
| -rw-r--r-- | arch/i386/kernel/cpu/intel_cacheinfo.c | 2 | ||||
| -rw-r--r-- | arch/ia64/kernel/entry.S | 1 | ||||
| -rw-r--r-- | arch/ia64/kernel/palinfo.c | 2 | ||||
| -rw-r--r-- | arch/ia64/kernel/salinfo.c | 2 | ||||
| -rw-r--r-- | arch/ia64/kernel/topology.c | 2 | ||||
| -rw-r--r-- | arch/mips/kernel/linux32.c | 64 | ||||
| -rw-r--r-- | arch/powerpc/kernel/sysfs.c | 4 | ||||
| -rw-r--r-- | arch/powerpc/kernel/systbl.S | 1 | ||||
| -rw-r--r-- | arch/powerpc/platforms/cell/spu_callbacks.c | 1 | ||||
| -rw-r--r-- | arch/s390/appldata/appldata_base.c | 2 | ||||
| -rw-r--r-- | arch/x86_64/kernel/mce.c | 2 | ||||
| -rw-r--r-- | arch/x86_64/kernel/mce_amd.c | 2 |
18 files changed, 22 insertions, 77 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 95a96275f88a..6f8e84c1c1f2 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
| @@ -66,7 +66,7 @@ tune-$(CONFIG_CPU_XSC3) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) - | |||
| 66 | tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm) | 66 | tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm) |
| 67 | 67 | ||
| 68 | ifeq ($(CONFIG_AEABI),y) | 68 | ifeq ($(CONFIG_AEABI),y) |
| 69 | CFLAGS_ABI :=-mabi=aapcs -mno-thumb-interwork | 69 | CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork |
| 70 | else | 70 | else |
| 71 | CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,) | 71 | CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,) |
| 72 | endif | 72 | endif |
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index 2ce0e3a27a45..a601b8b55f35 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile | |||
| @@ -29,7 +29,7 @@ ifneq ($(CONFIG_ARCH_EBSA110),y) | |||
| 29 | obj-y += io.o | 29 | obj-y += io.o |
| 30 | endif | 30 | endif |
| 31 | 31 | ||
| 32 | head-y := head.o | 32 | head-y := head$(MMUEXT).o |
| 33 | obj-$(CONFIG_DEBUG_LL) += debug.o | 33 | obj-$(CONFIG_DEBUG_LL) += debug.o |
| 34 | 34 | ||
| 35 | extra-y := $(head-y) init_task.o vmlinux.lds | 35 | extra-y := $(head-y) init_task.o vmlinux.lds |
diff --git a/arch/arm/kernel/head-nommu.S b/arch/arm/kernel/head-nommu.S index b093ab8738b5..0bea65864051 100644 --- a/arch/arm/kernel/head-nommu.S +++ b/arch/arm/kernel/head-nommu.S | |||
| @@ -20,10 +20,11 @@ | |||
| 20 | #include <asm/mach-types.h> | 20 | #include <asm/mach-types.h> |
| 21 | #include <asm/procinfo.h> | 21 | #include <asm/procinfo.h> |
| 22 | #include <asm/ptrace.h> | 22 | #include <asm/ptrace.h> |
| 23 | #include <asm/constants.h> | 23 | #include <asm/thread_info.h> |
| 24 | #include <asm/system.h> | 24 | #include <asm/system.h> |
| 25 | 25 | ||
| 26 | #define PROCINFO_INITFUNC 12 | 26 | #define PROCINFO_INITFUNC 12 |
| 27 | #define MACHINFO_TYPE 0 | ||
| 27 | 28 | ||
| 28 | /* | 29 | /* |
| 29 | * Kernel startup entry point. | 30 | * Kernel startup entry point. |
| @@ -79,5 +80,6 @@ __after_proc_init: | |||
| 79 | 80 | ||
| 80 | mov pc, r13 @ clear the BSS and jump | 81 | mov pc, r13 @ clear the BSS and jump |
| 81 | @ to start_kernel | 82 | @ to start_kernel |
| 83 | .ltorg | ||
| 82 | 84 | ||
| 83 | #include "head-common.S" | 85 | #include "head-common.S" |
diff --git a/arch/arm/vfp/vfpdouble.c b/arch/arm/vfp/vfpdouble.c index febd115dba28..009038c8113e 100644 --- a/arch/arm/vfp/vfpdouble.c +++ b/arch/arm/vfp/vfpdouble.c | |||
| @@ -197,7 +197,7 @@ u32 vfp_double_normaliseround(int dd, struct vfp_double *vd, u32 fpscr, u32 exce | |||
| 197 | dd, d, exceptions); | 197 | dd, d, exceptions); |
| 198 | vfp_put_double(dd, d); | 198 | vfp_put_double(dd, d); |
| 199 | } | 199 | } |
| 200 | return exceptions & ~VFP_NAN_FLAG; | 200 | return exceptions; |
| 201 | } | 201 | } |
| 202 | 202 | ||
| 203 | /* | 203 | /* |
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c index 22f3da4e0829..37ff8145b5b5 100644 --- a/arch/arm/vfp/vfpmodule.c +++ b/arch/arm/vfp/vfpmodule.c | |||
| @@ -180,7 +180,7 @@ static u32 vfp_emulate_instruction(u32 inst, u32 fpscr, struct pt_regs *regs) | |||
| 180 | * emulate it. | 180 | * emulate it. |
| 181 | */ | 181 | */ |
| 182 | } | 182 | } |
| 183 | return exceptions; | 183 | return exceptions & ~VFP_NAN_FLAG; |
| 184 | } | 184 | } |
| 185 | 185 | ||
| 186 | /* | 186 | /* |
diff --git a/arch/arm/vfp/vfpsingle.c b/arch/arm/vfp/vfpsingle.c index 4ac27f193934..dae2c2f46052 100644 --- a/arch/arm/vfp/vfpsingle.c +++ b/arch/arm/vfp/vfpsingle.c | |||
| @@ -203,7 +203,7 @@ u32 vfp_single_normaliseround(int sd, struct vfp_single *vs, u32 fpscr, u32 exce | |||
| 203 | vfp_put_float(sd, d); | 203 | vfp_put_float(sd, d); |
| 204 | } | 204 | } |
| 205 | 205 | ||
| 206 | return exceptions & ~VFP_NAN_FLAG; | 206 | return exceptions; |
| 207 | } | 207 | } |
| 208 | 208 | ||
| 209 | /* | 209 | /* |
diff --git a/arch/i386/kernel/cpu/intel_cacheinfo.c b/arch/i386/kernel/cpu/intel_cacheinfo.c index 9df87b03612c..c8547a6fa7e6 100644 --- a/arch/i386/kernel/cpu/intel_cacheinfo.c +++ b/arch/i386/kernel/cpu/intel_cacheinfo.c | |||
| @@ -642,7 +642,7 @@ static void __cpuexit cache_remove_dev(struct sys_device * sys_dev) | |||
| 642 | return; | 642 | return; |
| 643 | } | 643 | } |
| 644 | 644 | ||
| 645 | static int __cpuinit cacheinfo_cpu_callback(struct notifier_block *nfb, | 645 | static int cacheinfo_cpu_callback(struct notifier_block *nfb, |
| 646 | unsigned long action, void *hcpu) | 646 | unsigned long action, void *hcpu) |
| 647 | { | 647 | { |
| 648 | unsigned int cpu = (unsigned long)hcpu; | 648 | unsigned int cpu = (unsigned long)hcpu; |
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S index e30798811216..bcb80ca5cf40 100644 --- a/arch/ia64/kernel/entry.S +++ b/arch/ia64/kernel/entry.S | |||
| @@ -1610,5 +1610,6 @@ sys_call_table: | |||
| 1610 | data8 sys_get_robust_list | 1610 | data8 sys_get_robust_list |
| 1611 | data8 sys_sync_file_range // 1300 | 1611 | data8 sys_sync_file_range // 1300 |
| 1612 | data8 sys_tee | 1612 | data8 sys_tee |
| 1613 | data8 sys_vmsplice | ||
| 1613 | 1614 | ||
| 1614 | .org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls | 1615 | .org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls |
diff --git a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c index 6386f63c413e..859fb37ff49b 100644 --- a/arch/ia64/kernel/palinfo.c +++ b/arch/ia64/kernel/palinfo.c | |||
| @@ -959,7 +959,7 @@ remove_palinfo_proc_entries(unsigned int hcpu) | |||
| 959 | } | 959 | } |
| 960 | } | 960 | } |
| 961 | 961 | ||
| 962 | static int __devinit palinfo_cpu_callback(struct notifier_block *nfb, | 962 | static int palinfo_cpu_callback(struct notifier_block *nfb, |
| 963 | unsigned long action, | 963 | unsigned long action, |
| 964 | void *hcpu) | 964 | void *hcpu) |
| 965 | { | 965 | { |
diff --git a/arch/ia64/kernel/salinfo.c b/arch/ia64/kernel/salinfo.c index 9d5a823479a3..663a186ad194 100644 --- a/arch/ia64/kernel/salinfo.c +++ b/arch/ia64/kernel/salinfo.c | |||
| @@ -572,7 +572,7 @@ static struct file_operations salinfo_data_fops = { | |||
| 572 | }; | 572 | }; |
| 573 | 573 | ||
| 574 | #ifdef CONFIG_HOTPLUG_CPU | 574 | #ifdef CONFIG_HOTPLUG_CPU |
| 575 | static int __devinit | 575 | static int |
| 576 | salinfo_cpu_callback(struct notifier_block *nb, unsigned long action, void *hcpu) | 576 | salinfo_cpu_callback(struct notifier_block *nb, unsigned long action, void *hcpu) |
| 577 | { | 577 | { |
| 578 | unsigned int i, cpu = (unsigned long)hcpu; | 578 | unsigned int i, cpu = (unsigned long)hcpu; |
diff --git a/arch/ia64/kernel/topology.c b/arch/ia64/kernel/topology.c index b47476d655f1..7da4739f536e 100644 --- a/arch/ia64/kernel/topology.c +++ b/arch/ia64/kernel/topology.c | |||
| @@ -429,7 +429,7 @@ static int __cpuinit cache_remove_dev(struct sys_device * sys_dev) | |||
| 429 | * When a cpu is hot-plugged, do a check and initiate | 429 | * When a cpu is hot-plugged, do a check and initiate |
| 430 | * cache kobject if necessary | 430 | * cache kobject if necessary |
| 431 | */ | 431 | */ |
| 432 | static int __cpuinit cache_cpu_callback(struct notifier_block *nfb, | 432 | static int cache_cpu_callback(struct notifier_block *nfb, |
| 433 | unsigned long action, void *hcpu) | 433 | unsigned long action, void *hcpu) |
| 434 | { | 434 | { |
| 435 | unsigned int cpu = (unsigned long)hcpu; | 435 | unsigned int cpu = (unsigned long)hcpu; |
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c index 7c953bcc5f6a..a7d2bb3cf835 100644 --- a/arch/mips/kernel/linux32.c +++ b/arch/mips/kernel/linux32.c | |||
| @@ -356,73 +356,13 @@ asmlinkage int sys32_llseek(unsigned int fd, unsigned int offset_high, | |||
| 356 | asmlinkage ssize_t sys32_pread(unsigned int fd, char __user * buf, | 356 | asmlinkage ssize_t sys32_pread(unsigned int fd, char __user * buf, |
| 357 | size_t count, u32 unused, u64 a4, u64 a5) | 357 | size_t count, u32 unused, u64 a4, u64 a5) |
| 358 | { | 358 | { |
| 359 | ssize_t ret; | 359 | return sys_pread64(fd, buf, count, merge_64(a4, a5)); |
| 360 | struct file * file; | ||
| 361 | ssize_t (*read)(struct file *, char __user *, size_t, loff_t *); | ||
| 362 | loff_t pos; | ||
| 363 | |||
| 364 | ret = -EBADF; | ||
| 365 | file = fget(fd); | ||
| 366 | if (!file) | ||
| 367 | goto bad_file; | ||
| 368 | if (!(file->f_mode & FMODE_READ)) | ||
| 369 | goto out; | ||
| 370 | pos = merge_64(a4, a5); | ||
| 371 | ret = rw_verify_area(READ, file, &pos, count); | ||
| 372 | if (ret < 0) | ||
| 373 | goto out; | ||
| 374 | ret = -EINVAL; | ||
| 375 | if (!file->f_op || !(read = file->f_op->read)) | ||
| 376 | goto out; | ||
| 377 | if (pos < 0) | ||
| 378 | goto out; | ||
| 379 | ret = -ESPIPE; | ||
| 380 | if (!(file->f_mode & FMODE_PREAD)) | ||
| 381 | goto out; | ||
| 382 | ret = read(file, buf, count, &pos); | ||
| 383 | if (ret > 0) | ||
| 384 | dnotify_parent(file->f_dentry, DN_ACCESS); | ||
| 385 | out: | ||
| 386 | fput(file); | ||
| 387 | bad_file: | ||
| 388 | return ret; | ||
| 389 | } | 360 | } |
| 390 | 361 | ||
| 391 | asmlinkage ssize_t sys32_pwrite(unsigned int fd, const char __user * buf, | 362 | asmlinkage ssize_t sys32_pwrite(unsigned int fd, const char __user * buf, |
| 392 | size_t count, u32 unused, u64 a4, u64 a5) | 363 | size_t count, u32 unused, u64 a4, u64 a5) |
| 393 | { | 364 | { |
| 394 | ssize_t ret; | 365 | return sys_pwrite64(fd, buf, count, merge_64(a4, a5)); |
| 395 | struct file * file; | ||
| 396 | ssize_t (*write)(struct file *, const char __user *, size_t, loff_t *); | ||
| 397 | loff_t pos; | ||
| 398 | |||
| 399 | ret = -EBADF; | ||
| 400 | file = fget(fd); | ||
| 401 | if (!file) | ||
| 402 | goto bad_file; | ||
| 403 | if (!(file->f_mode & FMODE_WRITE)) | ||
| 404 | goto out; | ||
| 405 | pos = merge_64(a4, a5); | ||
| 406 | ret = rw_verify_area(WRITE, file, &pos, count); | ||
| 407 | if (ret < 0) | ||
| 408 | goto out; | ||
| 409 | ret = -EINVAL; | ||
| 410 | if (!file->f_op || !(write = file->f_op->write)) | ||
| 411 | goto out; | ||
| 412 | if (pos < 0) | ||
| 413 | goto out; | ||
| 414 | |||
| 415 | ret = -ESPIPE; | ||
| 416 | if (!(file->f_mode & FMODE_PWRITE)) | ||
| 417 | goto out; | ||
| 418 | |||
| 419 | ret = write(file, buf, count, &pos); | ||
| 420 | if (ret > 0) | ||
| 421 | dnotify_parent(file->f_dentry, DN_MODIFY); | ||
| 422 | out: | ||
| 423 | fput(file); | ||
| 424 | bad_file: | ||
| 425 | return ret; | ||
| 426 | } | 366 | } |
| 427 | 367 | ||
| 428 | asmlinkage int sys32_sched_rr_get_interval(compat_pid_t pid, | 368 | asmlinkage int sys32_sched_rr_get_interval(compat_pid_t pid, |
diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c index 73560ef6f802..ed737cacf92d 100644 --- a/arch/powerpc/kernel/sysfs.c +++ b/arch/powerpc/kernel/sysfs.c | |||
| @@ -279,7 +279,7 @@ static void unregister_cpu_online(unsigned int cpu) | |||
| 279 | } | 279 | } |
| 280 | #endif /* CONFIG_HOTPLUG_CPU */ | 280 | #endif /* CONFIG_HOTPLUG_CPU */ |
| 281 | 281 | ||
| 282 | static int __devinit sysfs_cpu_notify(struct notifier_block *self, | 282 | static int sysfs_cpu_notify(struct notifier_block *self, |
| 283 | unsigned long action, void *hcpu) | 283 | unsigned long action, void *hcpu) |
| 284 | { | 284 | { |
| 285 | unsigned int cpu = (unsigned int)(long)hcpu; | 285 | unsigned int cpu = (unsigned int)(long)hcpu; |
| @@ -297,7 +297,7 @@ static int __devinit sysfs_cpu_notify(struct notifier_block *self, | |||
| 297 | return NOTIFY_OK; | 297 | return NOTIFY_OK; |
| 298 | } | 298 | } |
| 299 | 299 | ||
| 300 | static struct notifier_block __devinitdata sysfs_cpu_nb = { | 300 | static struct notifier_block sysfs_cpu_nb = { |
| 301 | .notifier_call = sysfs_cpu_notify, | 301 | .notifier_call = sysfs_cpu_notify, |
| 302 | }; | 302 | }; |
| 303 | 303 | ||
diff --git a/arch/powerpc/kernel/systbl.S b/arch/powerpc/kernel/systbl.S index 8d1522690501..0b98eea73c5e 100644 --- a/arch/powerpc/kernel/systbl.S +++ b/arch/powerpc/kernel/systbl.S | |||
| @@ -324,6 +324,7 @@ COMPAT_SYS(ppoll) | |||
| 324 | SYSCALL(unshare) | 324 | SYSCALL(unshare) |
| 325 | SYSCALL(splice) | 325 | SYSCALL(splice) |
| 326 | SYSCALL(tee) | 326 | SYSCALL(tee) |
| 327 | SYSCALL(vmsplice) | ||
| 327 | 328 | ||
| 328 | /* | 329 | /* |
| 329 | * please add new calls to arch/powerpc/platforms/cell/spu_callbacks.c | 330 | * please add new calls to arch/powerpc/platforms/cell/spu_callbacks.c |
diff --git a/arch/powerpc/platforms/cell/spu_callbacks.c b/arch/powerpc/platforms/cell/spu_callbacks.c index deb3afb94484..b283380a2a18 100644 --- a/arch/powerpc/platforms/cell/spu_callbacks.c +++ b/arch/powerpc/platforms/cell/spu_callbacks.c | |||
| @@ -318,6 +318,7 @@ void *spu_syscall_table[] = { | |||
| 318 | [__NR_unshare] sys_unshare, | 318 | [__NR_unshare] sys_unshare, |
| 319 | [__NR_splice] sys_splice, | 319 | [__NR_splice] sys_splice, |
| 320 | [__NR_tee] sys_tee, | 320 | [__NR_tee] sys_tee, |
| 321 | [__NR_vmsplice] sys_vmsplice, | ||
| 321 | }; | 322 | }; |
| 322 | 323 | ||
| 323 | long spu_sys_callback(struct spu_syscall_block *s) | 324 | long spu_sys_callback(struct spu_syscall_block *s) |
diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c index 54d35c130907..9a22434a580c 100644 --- a/arch/s390/appldata/appldata_base.c +++ b/arch/s390/appldata/appldata_base.c | |||
| @@ -652,7 +652,7 @@ appldata_cpu_notify(struct notifier_block *self, | |||
| 652 | return NOTIFY_OK; | 652 | return NOTIFY_OK; |
| 653 | } | 653 | } |
| 654 | 654 | ||
| 655 | static struct notifier_block __devinitdata appldata_nb = { | 655 | static struct notifier_block appldata_nb = { |
| 656 | .notifier_call = appldata_cpu_notify, | 656 | .notifier_call = appldata_cpu_notify, |
| 657 | }; | 657 | }; |
| 658 | 658 | ||
diff --git a/arch/x86_64/kernel/mce.c b/arch/x86_64/kernel/mce.c index 6f0790e8b6d3..c69fc43cee7b 100644 --- a/arch/x86_64/kernel/mce.c +++ b/arch/x86_64/kernel/mce.c | |||
| @@ -629,7 +629,7 @@ static __cpuinit void mce_remove_device(unsigned int cpu) | |||
| 629 | #endif | 629 | #endif |
| 630 | 630 | ||
| 631 | /* Get notified when a cpu comes on/off. Be hotplug friendly. */ | 631 | /* Get notified when a cpu comes on/off. Be hotplug friendly. */ |
| 632 | static __cpuinit int | 632 | static int |
| 633 | mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) | 633 | mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) |
| 634 | { | 634 | { |
| 635 | unsigned int cpu = (unsigned long)hcpu; | 635 | unsigned int cpu = (unsigned long)hcpu; |
diff --git a/arch/x86_64/kernel/mce_amd.c b/arch/x86_64/kernel/mce_amd.c index d3ad7d81266d..d13b241ad094 100644 --- a/arch/x86_64/kernel/mce_amd.c +++ b/arch/x86_64/kernel/mce_amd.c | |||
| @@ -482,7 +482,7 @@ static void threshold_remove_device(unsigned int cpu) | |||
| 482 | #endif | 482 | #endif |
| 483 | 483 | ||
| 484 | /* get notified when a cpu comes on/off */ | 484 | /* get notified when a cpu comes on/off */ |
| 485 | static __cpuinit int threshold_cpu_callback(struct notifier_block *nfb, | 485 | static int threshold_cpu_callback(struct notifier_block *nfb, |
| 486 | unsigned long action, void *hcpu) | 486 | unsigned long action, void *hcpu) |
| 487 | { | 487 | { |
| 488 | /* cpu was unsigned int to begin with */ | 488 | /* cpu was unsigned int to begin with */ |
