diff options
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/configs/sn2_defconfig | 2 | ||||
-rw-r--r-- | arch/ia64/defconfig | 2 | ||||
-rw-r--r-- | arch/ia64/dig/setup.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/Makefile | 3 | ||||
-rw-r--r-- | arch/ia64/kernel/efi.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/gate.lds.S | 1 | ||||
-rw-r--r-- | arch/ia64/kernel/kprobes.c | 9 | ||||
-rw-r--r-- | arch/ia64/kernel/palinfo.c | 13 | ||||
-rw-r--r-- | arch/ia64/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/topology.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/traps.c | 7 | ||||
-rw-r--r-- | arch/ia64/pci/pci.c | 2 | ||||
-rw-r--r-- | arch/ia64/sn/kernel/setup.c | 2 |
13 files changed, 28 insertions, 21 deletions
diff --git a/arch/ia64/configs/sn2_defconfig b/arch/ia64/configs/sn2_defconfig index 9ea35398e10d..0f14a82b856e 100644 --- a/arch/ia64/configs/sn2_defconfig +++ b/arch/ia64/configs/sn2_defconfig | |||
@@ -363,7 +363,7 @@ CONFIG_BLK_DEV_IDECD=y | |||
363 | # | 363 | # |
364 | CONFIG_IDE_GENERIC=y | 364 | CONFIG_IDE_GENERIC=y |
365 | CONFIG_BLK_DEV_IDEPCI=y | 365 | CONFIG_BLK_DEV_IDEPCI=y |
366 | # CONFIG_IDEPCI_SHARE_IRQ is not set | 366 | CONFIG_IDEPCI_SHARE_IRQ=y |
367 | # CONFIG_BLK_DEV_OFFBOARD is not set | 367 | # CONFIG_BLK_DEV_OFFBOARD is not set |
368 | # CONFIG_BLK_DEV_GENERIC is not set | 368 | # CONFIG_BLK_DEV_GENERIC is not set |
369 | # CONFIG_BLK_DEV_OPTI621 is not set | 369 | # CONFIG_BLK_DEV_OPTI621 is not set |
diff --git a/arch/ia64/defconfig b/arch/ia64/defconfig index 6cba55da572a..9001b3fbaa32 100644 --- a/arch/ia64/defconfig +++ b/arch/ia64/defconfig | |||
@@ -366,7 +366,7 @@ CONFIG_BLK_DEV_IDESCSI=m | |||
366 | # CONFIG_IDE_GENERIC is not set | 366 | # CONFIG_IDE_GENERIC is not set |
367 | # CONFIG_BLK_DEV_IDEPNP is not set | 367 | # CONFIG_BLK_DEV_IDEPNP is not set |
368 | CONFIG_BLK_DEV_IDEPCI=y | 368 | CONFIG_BLK_DEV_IDEPCI=y |
369 | # CONFIG_IDEPCI_SHARE_IRQ is not set | 369 | CONFIG_IDEPCI_SHARE_IRQ=y |
370 | # CONFIG_BLK_DEV_OFFBOARD is not set | 370 | # CONFIG_BLK_DEV_OFFBOARD is not set |
371 | CONFIG_BLK_DEV_GENERIC=y | 371 | CONFIG_BLK_DEV_GENERIC=y |
372 | # CONFIG_BLK_DEV_OPTI621 is not set | 372 | # CONFIG_BLK_DEV_OPTI621 is not set |
diff --git a/arch/ia64/dig/setup.c b/arch/ia64/dig/setup.c index 5ab12b8351d0..9196b330ff7f 100644 --- a/arch/ia64/dig/setup.c +++ b/arch/ia64/dig/setup.c | |||
@@ -14,7 +14,7 @@ | |||
14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
15 | #include <linux/kdev_t.h> | 15 | #include <linux/kdev_t.h> |
16 | #include <linux/string.h> | 16 | #include <linux/string.h> |
17 | #include <linux/tty.h> | 17 | #include <linux/screen_info.h> |
18 | #include <linux/console.h> | 18 | #include <linux/console.h> |
19 | #include <linux/timex.h> | 19 | #include <linux/timex.h> |
20 | #include <linux/sched.h> | 20 | #include <linux/sched.h> |
diff --git a/arch/ia64/kernel/Makefile b/arch/ia64/kernel/Makefile index 0e4553f320bf..ad8215a3c586 100644 --- a/arch/ia64/kernel/Makefile +++ b/arch/ia64/kernel/Makefile | |||
@@ -45,7 +45,8 @@ CPPFLAGS_gate.lds := -P -C -U$(ARCH) | |||
45 | quiet_cmd_gate = GATE $@ | 45 | quiet_cmd_gate = GATE $@ |
46 | cmd_gate = $(CC) -nostdlib $(GATECFLAGS_$(@F)) -Wl,-T,$(filter-out FORCE,$^) -o $@ | 46 | cmd_gate = $(CC) -nostdlib $(GATECFLAGS_$(@F)) -Wl,-T,$(filter-out FORCE,$^) -o $@ |
47 | 47 | ||
48 | GATECFLAGS_gate.so = -shared -s -Wl,-soname=linux-gate.so.1 | 48 | GATECFLAGS_gate.so = -shared -s -Wl,-soname=linux-gate.so.1 \ |
49 | $(call ld-option, -Wl$(comma)--hash-style=sysv) | ||
49 | $(obj)/gate.so: $(obj)/gate.lds $(obj)/gate.o FORCE | 50 | $(obj)/gate.so: $(obj)/gate.lds $(obj)/gate.o FORCE |
50 | $(call if_changed,gate) | 51 | $(call if_changed,gate) |
51 | 52 | ||
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c index b13c0555c3ba..e4bfa9dafbce 100644 --- a/arch/ia64/kernel/efi.c +++ b/arch/ia64/kernel/efi.c | |||
@@ -759,7 +759,7 @@ valid_phys_addr_range (unsigned long phys_addr, unsigned long size) | |||
759 | } | 759 | } |
760 | 760 | ||
761 | int | 761 | int |
762 | valid_mmap_phys_addr_range (unsigned long phys_addr, unsigned long size) | 762 | valid_mmap_phys_addr_range (unsigned long pfn, unsigned long size) |
763 | { | 763 | { |
764 | /* | 764 | /* |
765 | * MMIO regions are often missing from the EFI memory map. | 765 | * MMIO regions are often missing from the EFI memory map. |
diff --git a/arch/ia64/kernel/gate.lds.S b/arch/ia64/kernel/gate.lds.S index cc35cddfd4cf..6d198339bf85 100644 --- a/arch/ia64/kernel/gate.lds.S +++ b/arch/ia64/kernel/gate.lds.S | |||
@@ -12,6 +12,7 @@ SECTIONS | |||
12 | . = GATE_ADDR + SIZEOF_HEADERS; | 12 | . = GATE_ADDR + SIZEOF_HEADERS; |
13 | 13 | ||
14 | .hash : { *(.hash) } :readable | 14 | .hash : { *(.hash) } :readable |
15 | .gnu.hash : { *(.gnu.hash) } | ||
15 | .dynsym : { *(.dynsym) } | 16 | .dynsym : { *(.dynsym) } |
16 | .dynstr : { *(.dynstr) } | 17 | .dynstr : { *(.dynstr) } |
17 | .gnu.version : { *(.gnu.version) } | 18 | .gnu.version : { *(.gnu.version) } |
diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c index 00d9c83b8020..781960f80b6f 100644 --- a/arch/ia64/kernel/kprobes.c +++ b/arch/ia64/kernel/kprobes.c | |||
@@ -448,11 +448,20 @@ int __kprobes arch_prepare_kprobe(struct kprobe *p) | |||
448 | return 0; | 448 | return 0; |
449 | } | 449 | } |
450 | 450 | ||
451 | void __kprobes flush_insn_slot(struct kprobe *p) | ||
452 | { | ||
453 | unsigned long arm_addr; | ||
454 | |||
455 | arm_addr = ((unsigned long)&p->opcode.bundle) & ~0xFULL; | ||
456 | flush_icache_range(arm_addr, arm_addr + sizeof(bundle_t)); | ||
457 | } | ||
458 | |||
451 | void __kprobes arch_arm_kprobe(struct kprobe *p) | 459 | void __kprobes arch_arm_kprobe(struct kprobe *p) |
452 | { | 460 | { |
453 | unsigned long addr = (unsigned long)p->addr; | 461 | unsigned long addr = (unsigned long)p->addr; |
454 | unsigned long arm_addr = addr & ~0xFULL; | 462 | unsigned long arm_addr = addr & ~0xFULL; |
455 | 463 | ||
464 | flush_insn_slot(p); | ||
456 | memcpy((char *)arm_addr, &p->ainsn.insn.bundle, sizeof(bundle_t)); | 465 | memcpy((char *)arm_addr, &p->ainsn.insn.bundle, sizeof(bundle_t)); |
457 | flush_icache_range(arm_addr, arm_addr + sizeof(bundle_t)); | 466 | flush_icache_range(arm_addr, arm_addr + sizeof(bundle_t)); |
458 | } | 467 | } |
diff --git a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c index 3f5bac59209a..ab5b52413e91 100644 --- a/arch/ia64/kernel/palinfo.c +++ b/arch/ia64/kernel/palinfo.c | |||
@@ -958,9 +958,9 @@ remove_palinfo_proc_entries(unsigned int hcpu) | |||
958 | } | 958 | } |
959 | } | 959 | } |
960 | 960 | ||
961 | static int __cpuinit palinfo_cpu_callback(struct notifier_block *nfb, | 961 | #ifdef CONFIG_HOTPLUG_CPU |
962 | unsigned long action, | 962 | static int palinfo_cpu_callback(struct notifier_block *nfb, |
963 | void *hcpu) | 963 | unsigned long action, void *hcpu) |
964 | { | 964 | { |
965 | unsigned int hotcpu = (unsigned long)hcpu; | 965 | unsigned int hotcpu = (unsigned long)hcpu; |
966 | 966 | ||
@@ -968,20 +968,19 @@ static int __cpuinit palinfo_cpu_callback(struct notifier_block *nfb, | |||
968 | case CPU_ONLINE: | 968 | case CPU_ONLINE: |
969 | create_palinfo_proc_entries(hotcpu); | 969 | create_palinfo_proc_entries(hotcpu); |
970 | break; | 970 | break; |
971 | #ifdef CONFIG_HOTPLUG_CPU | ||
972 | case CPU_DEAD: | 971 | case CPU_DEAD: |
973 | remove_palinfo_proc_entries(hotcpu); | 972 | remove_palinfo_proc_entries(hotcpu); |
974 | break; | 973 | break; |
975 | #endif | ||
976 | } | 974 | } |
977 | return NOTIFY_OK; | 975 | return NOTIFY_OK; |
978 | } | 976 | } |
979 | 977 | ||
980 | static struct notifier_block __cpuinitdata palinfo_cpu_notifier = | 978 | static struct notifier_block palinfo_cpu_notifier = |
981 | { | 979 | { |
982 | .notifier_call = palinfo_cpu_callback, | 980 | .notifier_call = palinfo_cpu_callback, |
983 | .priority = 0, | 981 | .priority = 0, |
984 | }; | 982 | }; |
983 | #endif | ||
985 | 984 | ||
986 | static int __init | 985 | static int __init |
987 | palinfo_init(void) | 986 | palinfo_init(void) |
@@ -1020,7 +1019,7 @@ palinfo_exit(void) | |||
1020 | /* | 1019 | /* |
1021 | * Unregister from cpu notifier callbacks | 1020 | * Unregister from cpu notifier callbacks |
1022 | */ | 1021 | */ |
1023 | unregister_cpu_notifier(&palinfo_cpu_notifier); | 1022 | unregister_hotcpu_notifier(&palinfo_cpu_notifier); |
1024 | } | 1023 | } |
1025 | 1024 | ||
1026 | module_init(palinfo_init); | 1025 | module_init(palinfo_init); |
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index 6a33f414de58..7ad0d9cc6db6 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -35,7 +35,7 @@ | |||
35 | #include <linux/seq_file.h> | 35 | #include <linux/seq_file.h> |
36 | #include <linux/string.h> | 36 | #include <linux/string.h> |
37 | #include <linux/threads.h> | 37 | #include <linux/threads.h> |
38 | #include <linux/tty.h> | 38 | #include <linux/screen_info.h> |
39 | #include <linux/dmi.h> | 39 | #include <linux/dmi.h> |
40 | #include <linux/serial.h> | 40 | #include <linux/serial.h> |
41 | #include <linux/serial_core.h> | 41 | #include <linux/serial_core.h> |
diff --git a/arch/ia64/kernel/topology.c b/arch/ia64/kernel/topology.c index b146f1cfad31..d24fa393b182 100644 --- a/arch/ia64/kernel/topology.c +++ b/arch/ia64/kernel/topology.c | |||
@@ -435,7 +435,7 @@ static int __cpuinit cache_sysfs_init(void) | |||
435 | (void *)(long)i); | 435 | (void *)(long)i); |
436 | } | 436 | } |
437 | 437 | ||
438 | register_cpu_notifier(&cache_cpu_notifier); | 438 | register_hotcpu_notifier(&cache_cpu_notifier); |
439 | 439 | ||
440 | return 0; | 440 | return 0; |
441 | } | 441 | } |
diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c index e7bbb0f40aa2..5a0420464c6c 100644 --- a/arch/ia64/kernel/traps.c +++ b/arch/ia64/kernel/traps.c | |||
@@ -117,11 +117,8 @@ die (const char *str, struct pt_regs *regs, long err) | |||
117 | die.lock_owner = -1; | 117 | die.lock_owner = -1; |
118 | spin_unlock_irq(&die.lock); | 118 | spin_unlock_irq(&die.lock); |
119 | 119 | ||
120 | if (panic_on_oops) { | 120 | if (panic_on_oops) |
121 | printk(KERN_EMERG "Fatal exception: panic in 5 seconds\n"); | 121 | panic("Fatal exception: panic_on_oops"); |
122 | ssleep(5); | ||
123 | panic("Fatal exception"); | ||
124 | } | ||
125 | 122 | ||
126 | do_exit(SIGSEGV); | 123 | do_exit(SIGSEGV); |
127 | } | 124 | } |
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c index 276512fd8922..60b45e79f080 100644 --- a/arch/ia64/pci/pci.c +++ b/arch/ia64/pci/pci.c | |||
@@ -650,7 +650,7 @@ pci_mmap_legacy_page_range(struct pci_bus *bus, struct vm_area_struct *vma) | |||
650 | * Avoid attribute aliasing. See Documentation/ia64/aliasing.txt | 650 | * Avoid attribute aliasing. See Documentation/ia64/aliasing.txt |
651 | * for more details. | 651 | * for more details. |
652 | */ | 652 | */ |
653 | if (!valid_mmap_phys_addr_range(vma->vm_pgoff << PAGE_SHIFT, size)) | 653 | if (!valid_mmap_phys_addr_range(vma->vm_pgoff, size)) |
654 | return -EINVAL; | 654 | return -EINVAL; |
655 | prot = phys_mem_access_prot(NULL, vma->vm_pgoff, size, | 655 | prot = phys_mem_access_prot(NULL, vma->vm_pgoff, size, |
656 | vma->vm_page_prot); | 656 | vma->vm_page_prot); |
diff --git a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c index dd6bcf4d58bf..c119e8b620de 100644 --- a/arch/ia64/sn/kernel/setup.c +++ b/arch/ia64/sn/kernel/setup.c | |||
@@ -12,7 +12,7 @@ | |||
12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
13 | #include <linux/kdev_t.h> | 13 | #include <linux/kdev_t.h> |
14 | #include <linux/string.h> | 14 | #include <linux/string.h> |
15 | #include <linux/tty.h> | 15 | #include <linux/screen_info.h> |
16 | #include <linux/console.h> | 16 | #include <linux/console.h> |
17 | #include <linux/timex.h> | 17 | #include <linux/timex.h> |
18 | #include <linux/sched.h> | 18 | #include <linux/sched.h> |