aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/alpha/kernel/head.S1
-rw-r--r--arch/alpha/kernel/pci.c10
-rw-r--r--arch/alpha/kernel/pci_iommu.c4
-rw-r--r--arch/alpha/kernel/smp.c6
-rw-r--r--arch/alpha/kernel/vmlinux.lds.S1
-rw-r--r--arch/i386/kernel/alternative.c14
-rw-r--r--arch/i386/kernel/cpu/cpufreq/Kconfig2
-rw-r--r--arch/i386/mm/init.c14
-rw-r--r--arch/ia64/kernel/cyclone.c14
-rw-r--r--arch/ia64/kernel/time.c4
-rw-r--r--arch/m32r/kernel/setup_mappi.c5
-rw-r--r--arch/m68knommu/kernel/setup.c2
-rw-r--r--arch/m68knommu/platform/5206/config.c2
-rw-r--r--arch/m68knommu/platform/5206e/config.c2
-rw-r--r--arch/m68knommu/platform/520x/config.c2
-rw-r--r--arch/m68knommu/platform/523x/config.c2
-rw-r--r--arch/m68knommu/platform/5249/config.c2
-rw-r--r--arch/m68knommu/platform/5272/config.c2
-rw-r--r--arch/m68knommu/platform/527x/config.c2
-rw-r--r--arch/m68knommu/platform/528x/config.c2
-rw-r--r--arch/m68knommu/platform/5307/config.c2
-rw-r--r--arch/m68knommu/platform/5307/pit.c14
-rw-r--r--arch/m68knommu/platform/5307/timers.c13
-rw-r--r--arch/m68knommu/platform/532x/config.c2
-rw-r--r--arch/m68knommu/platform/5407/config.c2
-rw-r--r--arch/m68knommu/platform/68328/timers.c11
-rw-r--r--arch/m68knommu/platform/68360/config.c14
-rw-r--r--arch/sparc64/kernel/viohs.c2
-rw-r--r--arch/x86_64/ia32/ia32_binfmt.c5
-rw-r--r--arch/x86_64/ia32/syscall32.c8
-rw-r--r--arch/x86_64/kernel/tce.c4
-rw-r--r--arch/x86_64/kernel/tsc.c2
-rw-r--r--arch/x86_64/mm/init.c10
33 files changed, 89 insertions, 93 deletions
diff --git a/arch/alpha/kernel/head.S b/arch/alpha/kernel/head.S
index e27d23c74ba8..7ac1f1372c36 100644
--- a/arch/alpha/kernel/head.S
+++ b/arch/alpha/kernel/head.S
@@ -10,6 +10,7 @@
10#include <asm/system.h> 10#include <asm/system.h>
11#include <asm/asm-offsets.h> 11#include <asm/asm-offsets.h>
12 12
13.section .text.head, "ax"
13.globl swapper_pg_dir 14.globl swapper_pg_dir
14.globl _stext 15.globl _stext
15swapper_pg_dir=SWAPPER_PGD 16swapper_pg_dir=SWAPPER_PGD
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c
index ab642a4f08de..9dc1cee43265 100644
--- a/arch/alpha/kernel/pci.c
+++ b/arch/alpha/kernel/pci.c
@@ -195,7 +195,7 @@ pcibios_init(void)
195 195
196subsys_initcall(pcibios_init); 196subsys_initcall(pcibios_init);
197 197
198char * __init 198char * __devinit
199pcibios_setup(char *str) 199pcibios_setup(char *str)
200{ 200{
201 return str; 201 return str;
@@ -204,7 +204,7 @@ pcibios_setup(char *str)
204#ifdef ALPHA_RESTORE_SRM_SETUP 204#ifdef ALPHA_RESTORE_SRM_SETUP
205static struct pdev_srm_saved_conf *srm_saved_configs; 205static struct pdev_srm_saved_conf *srm_saved_configs;
206 206
207void __init 207void __devinit
208pdev_save_srm_config(struct pci_dev *dev) 208pdev_save_srm_config(struct pci_dev *dev)
209{ 209{
210 struct pdev_srm_saved_conf *tmp; 210 struct pdev_srm_saved_conf *tmp;
@@ -247,14 +247,14 @@ pci_restore_srm_config(void)
247} 247}
248#endif 248#endif
249 249
250void __init 250void __devinit
251pcibios_fixup_resource(struct resource *res, struct resource *root) 251pcibios_fixup_resource(struct resource *res, struct resource *root)
252{ 252{
253 res->start += root->start; 253 res->start += root->start;
254 res->end += root->start; 254 res->end += root->start;
255} 255}
256 256
257void __init 257void __devinit
258pcibios_fixup_device_resources(struct pci_dev *dev, struct pci_bus *bus) 258pcibios_fixup_device_resources(struct pci_dev *dev, struct pci_bus *bus)
259{ 259{
260 /* Update device resources. */ 260 /* Update device resources. */
@@ -273,7 +273,7 @@ pcibios_fixup_device_resources(struct pci_dev *dev, struct pci_bus *bus)
273 } 273 }
274} 274}
275 275
276void __init 276void __devinit
277pcibios_fixup_bus(struct pci_bus *bus) 277pcibios_fixup_bus(struct pci_bus *bus)
278{ 278{
279 /* Propagate hose info into the subordinate devices. */ 279 /* Propagate hose info into the subordinate devices. */
diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c
index 6b07f89a72c7..e1c470752ebc 100644
--- a/arch/alpha/kernel/pci_iommu.c
+++ b/arch/alpha/kernel/pci_iommu.c
@@ -58,7 +58,7 @@ size_for_memory(unsigned long max)
58 return max; 58 return max;
59} 59}
60 60
61struct pci_iommu_arena * 61struct pci_iommu_arena * __init
62iommu_arena_new_node(int nid, struct pci_controller *hose, dma_addr_t base, 62iommu_arena_new_node(int nid, struct pci_controller *hose, dma_addr_t base,
63 unsigned long window_size, unsigned long align) 63 unsigned long window_size, unsigned long align)
64{ 64{
@@ -117,7 +117,7 @@ iommu_arena_new_node(int nid, struct pci_controller *hose, dma_addr_t base,
117 return arena; 117 return arena;
118} 118}
119 119
120struct pci_iommu_arena * 120struct pci_iommu_arena * __init
121iommu_arena_new(struct pci_controller *hose, dma_addr_t base, 121iommu_arena_new(struct pci_controller *hose, dma_addr_t base,
122 unsigned long window_size, unsigned long align) 122 unsigned long window_size, unsigned long align)
123{ 123{
diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c
index b28731437c31..0804b6abe203 100644
--- a/arch/alpha/kernel/smp.c
+++ b/arch/alpha/kernel/smp.c
@@ -358,7 +358,7 @@ secondary_cpu_start(int cpuid, struct task_struct *idle)
358/* 358/*
359 * Bring one cpu online. 359 * Bring one cpu online.
360 */ 360 */
361static int __devinit 361static int __cpuinit
362smp_boot_one_cpu(int cpuid) 362smp_boot_one_cpu(int cpuid)
363{ 363{
364 struct task_struct *idle; 364 struct task_struct *idle;
@@ -487,7 +487,7 @@ smp_prepare_boot_cpu(void)
487{ 487{
488} 488}
489 489
490int __devinit 490int __cpuinit
491__cpu_up(unsigned int cpu) 491__cpu_up(unsigned int cpu)
492{ 492{
493 smp_boot_one_cpu(cpu); 493 smp_boot_one_cpu(cpu);
@@ -541,7 +541,7 @@ smp_percpu_timer_interrupt(struct pt_regs *regs)
541 set_irq_regs(old_regs); 541 set_irq_regs(old_regs);
542} 542}
543 543
544int __init 544int
545setup_profiling_timer(unsigned int multiplier) 545setup_profiling_timer(unsigned int multiplier)
546{ 546{
547 return -EINVAL; 547 return -EINVAL;
diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S
index fe13daa5cb2c..7af07d3ad5f0 100644
--- a/arch/alpha/kernel/vmlinux.lds.S
+++ b/arch/alpha/kernel/vmlinux.lds.S
@@ -15,6 +15,7 @@ SECTIONS
15 15
16 _text = .; /* Text and read-only data */ 16 _text = .; /* Text and read-only data */
17 .text : { 17 .text : {
18 *(.text.head)
18 TEXT_TEXT 19 TEXT_TEXT
19 SCHED_TEXT 20 SCHED_TEXT
20 LOCK_TEXT 21 LOCK_TEXT
diff --git a/arch/i386/kernel/alternative.c b/arch/i386/kernel/alternative.c
index c3750c2c4113..c85598acb8fd 100644
--- a/arch/i386/kernel/alternative.c
+++ b/arch/i386/kernel/alternative.c
@@ -430,22 +430,12 @@ void __init alternative_instructions(void)
430 * And on the local CPU you need to be protected again NMI or MCE handlers 430 * And on the local CPU you need to be protected again NMI or MCE handlers
431 * seeing an inconsistent instruction while you patch. 431 * seeing an inconsistent instruction while you patch.
432 */ 432 */
433void __kprobes text_poke(void *oaddr, unsigned char *opcode, int len) 433void __kprobes text_poke(void *addr, unsigned char *opcode, int len)
434{ 434{
435 u8 *addr = oaddr;
436 if (!pte_write(*lookup_address((unsigned long)addr))) {
437 struct page *p[2] = { virt_to_page(addr), virt_to_page(addr+PAGE_SIZE) };
438 addr = vmap(p, 2, VM_MAP, PAGE_KERNEL);
439 if (!addr)
440 return;
441 addr += ((unsigned long)oaddr) % PAGE_SIZE;
442 }
443 memcpy(addr, opcode, len); 435 memcpy(addr, opcode, len);
444 sync_core(); 436 sync_core();
445 /* Not strictly needed, but can speed CPU recovery up. Ignore cross cacheline 437 /* Not strictly needed, but can speed CPU recovery up. Ignore cross cacheline
446 case. */ 438 case. */
447 if (cpu_has_clflush) 439 if (cpu_has_clflush)
448 asm("clflush (%0) " :: "r" (oaddr) : "memory"); 440 asm("clflush (%0) " :: "r" (addr) : "memory");
449 if (addr != oaddr)
450 vunmap(addr);
451} 441}
diff --git a/arch/i386/kernel/cpu/cpufreq/Kconfig b/arch/i386/kernel/cpu/cpufreq/Kconfig
index 094118ba00da..d8c6f132dc7a 100644
--- a/arch/i386/kernel/cpu/cpufreq/Kconfig
+++ b/arch/i386/kernel/cpu/cpufreq/Kconfig
@@ -92,7 +92,7 @@ config X86_POWERNOW_K8
92config X86_POWERNOW_K8_ACPI 92config X86_POWERNOW_K8_ACPI
93 bool "ACPI Support" 93 bool "ACPI Support"
94 select ACPI_PROCESSOR 94 select ACPI_PROCESSOR
95 depends on X86_POWERNOW_K8 95 depends on ACPI && X86_POWERNOW_K8
96 default y 96 default y
97 help 97 help
98 This provides access to the K8s Processor Performance States via ACPI. 98 This provides access to the K8s Processor Performance States via ACPI.
diff --git a/arch/i386/mm/init.c b/arch/i386/mm/init.c
index 1b1a1e66d099..4c4809f13cb1 100644
--- a/arch/i386/mm/init.c
+++ b/arch/i386/mm/init.c
@@ -800,9 +800,17 @@ void mark_rodata_ro(void)
800 unsigned long start = PFN_ALIGN(_text); 800 unsigned long start = PFN_ALIGN(_text);
801 unsigned long size = PFN_ALIGN(_etext) - start; 801 unsigned long size = PFN_ALIGN(_etext) - start;
802 802
803 change_page_attr(virt_to_page(start), 803#ifndef CONFIG_KPROBES
804 size >> PAGE_SHIFT, PAGE_KERNEL_RX); 804#ifdef CONFIG_HOTPLUG_CPU
805 printk("Write protecting the kernel text: %luk\n", size >> 10); 805 /* It must still be possible to apply SMP alternatives. */
806 if (num_possible_cpus() <= 1)
807#endif
808 {
809 change_page_attr(virt_to_page(start),
810 size >> PAGE_SHIFT, PAGE_KERNEL_RX);
811 printk("Write protecting the kernel text: %luk\n", size >> 10);
812 }
813#endif
806 start += size; 814 start += size;
807 size = (unsigned long)__end_rodata - start; 815 size = (unsigned long)__end_rodata - start;
808 change_page_attr(virt_to_page(start), 816 change_page_attr(virt_to_page(start),
diff --git a/arch/ia64/kernel/cyclone.c b/arch/ia64/kernel/cyclone.c
index 2fd96d9062a1..790ef0d87e12 100644
--- a/arch/ia64/kernel/cyclone.c
+++ b/arch/ia64/kernel/cyclone.c
@@ -38,11 +38,11 @@ static struct clocksource clocksource_cyclone = {
38 38
39int __init init_cyclone_clock(void) 39int __init init_cyclone_clock(void)
40{ 40{
41 u64* reg; 41 u64 __iomem *reg;
42 u64 base; /* saved cyclone base address */ 42 u64 base; /* saved cyclone base address */
43 u64 offset; /* offset from pageaddr to cyclone_timer register */ 43 u64 offset; /* offset from pageaddr to cyclone_timer register */
44 int i; 44 int i;
45 u32* volatile cyclone_timer; /* Cyclone MPMC0 register */ 45 u32 __iomem *cyclone_timer; /* Cyclone MPMC0 register */
46 46
47 if (!use_cyclone) 47 if (!use_cyclone)
48 return 0; 48 return 0;
@@ -51,7 +51,7 @@ int __init init_cyclone_clock(void)
51 51
52 /* find base address */ 52 /* find base address */
53 offset = (CYCLONE_CBAR_ADDR); 53 offset = (CYCLONE_CBAR_ADDR);
54 reg = (u64*)ioremap_nocache(offset, sizeof(u64)); 54 reg = ioremap_nocache(offset, sizeof(u64));
55 if(!reg){ 55 if(!reg){
56 printk(KERN_ERR "Summit chipset: Could not find valid CBAR" 56 printk(KERN_ERR "Summit chipset: Could not find valid CBAR"
57 " register.\n"); 57 " register.\n");
@@ -69,7 +69,7 @@ int __init init_cyclone_clock(void)
69 69
70 /* setup PMCC */ 70 /* setup PMCC */
71 offset = (base + CYCLONE_PMCC_OFFSET); 71 offset = (base + CYCLONE_PMCC_OFFSET);
72 reg = (u64*)ioremap_nocache(offset, sizeof(u64)); 72 reg = ioremap_nocache(offset, sizeof(u64));
73 if(!reg){ 73 if(!reg){
74 printk(KERN_ERR "Summit chipset: Could not find valid PMCC" 74 printk(KERN_ERR "Summit chipset: Could not find valid PMCC"
75 " register.\n"); 75 " register.\n");
@@ -81,7 +81,7 @@ int __init init_cyclone_clock(void)
81 81
82 /* setup MPCS */ 82 /* setup MPCS */
83 offset = (base + CYCLONE_MPCS_OFFSET); 83 offset = (base + CYCLONE_MPCS_OFFSET);
84 reg = (u64*)ioremap_nocache(offset, sizeof(u64)); 84 reg = ioremap_nocache(offset, sizeof(u64));
85 if(!reg){ 85 if(!reg){
86 printk(KERN_ERR "Summit chipset: Could not find valid MPCS" 86 printk(KERN_ERR "Summit chipset: Could not find valid MPCS"
87 " register.\n"); 87 " register.\n");
@@ -93,7 +93,7 @@ int __init init_cyclone_clock(void)
93 93
94 /* map in cyclone_timer */ 94 /* map in cyclone_timer */
95 offset = (base + CYCLONE_MPMC_OFFSET); 95 offset = (base + CYCLONE_MPMC_OFFSET);
96 cyclone_timer = (u32*)ioremap_nocache(offset, sizeof(u32)); 96 cyclone_timer = ioremap_nocache(offset, sizeof(u32));
97 if(!cyclone_timer){ 97 if(!cyclone_timer){
98 printk(KERN_ERR "Summit chipset: Could not find valid MPMC" 98 printk(KERN_ERR "Summit chipset: Could not find valid MPMC"
99 " register.\n"); 99 " register.\n");
@@ -110,7 +110,7 @@ int __init init_cyclone_clock(void)
110 printk(KERN_ERR "Summit chipset: Counter not counting!" 110 printk(KERN_ERR "Summit chipset: Counter not counting!"
111 " DISABLED\n"); 111 " DISABLED\n");
112 iounmap(cyclone_timer); 112 iounmap(cyclone_timer);
113 cyclone_timer = 0; 113 cyclone_timer = NULL;
114 use_cyclone = 0; 114 use_cyclone = 0;
115 return -ENODEV; 115 return -ENODEV;
116 } 116 }
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c
index 627785c48ea9..6c0e9e2e1b82 100644
--- a/arch/ia64/kernel/time.c
+++ b/arch/ia64/kernel/time.c
@@ -52,7 +52,7 @@ static struct clocksource clocksource_itc = {
52 .name = "itc", 52 .name = "itc",
53 .rating = 350, 53 .rating = 350,
54 .read = itc_get_cycles, 54 .read = itc_get_cycles,
55 .mask = 0xffffffffffffffff, 55 .mask = CLOCKSOURCE_MASK(64),
56 .mult = 0, /*to be caluclated*/ 56 .mult = 0, /*to be caluclated*/
57 .shift = 16, 57 .shift = 16,
58 .flags = CLOCK_SOURCE_IS_CONTINUOUS, 58 .flags = CLOCK_SOURCE_IS_CONTINUOUS,
@@ -255,7 +255,7 @@ ia64_init_itm (void)
255 } 255 }
256} 256}
257 257
258static cycle_t itc_get_cycles() 258static cycle_t itc_get_cycles(void)
259{ 259{
260 u64 lcycle, now, ret; 260 u64 lcycle, now, ret;
261 261
diff --git a/arch/m32r/kernel/setup_mappi.c b/arch/m32r/kernel/setup_mappi.c
index 6b2d77da0683..fe73c9ec611f 100644
--- a/arch/m32r/kernel/setup_mappi.c
+++ b/arch/m32r/kernel/setup_mappi.c
@@ -45,7 +45,8 @@ static void mask_and_ack_mappi(unsigned int irq)
45 45
46static void end_mappi_irq(unsigned int irq) 46static void end_mappi_irq(unsigned int irq)
47{ 47{
48 enable_mappi_irq(irq); 48 if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
49 enable_mappi_irq(irq);
49} 50}
50 51
51static unsigned int startup_mappi_irq(unsigned int irq) 52static unsigned int startup_mappi_irq(unsigned int irq)
@@ -88,7 +89,7 @@ void __init init_IRQ(void)
88 irq_desc[M32R_IRQ_INT0].chip = &mappi_irq_type; 89 irq_desc[M32R_IRQ_INT0].chip = &mappi_irq_type;
89 irq_desc[M32R_IRQ_INT0].action = NULL; 90 irq_desc[M32R_IRQ_INT0].action = NULL;
90 irq_desc[M32R_IRQ_INT0].depth = 1; 91 irq_desc[M32R_IRQ_INT0].depth = 1;
91 icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; 92 icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD11;
92 disable_mappi_irq(M32R_IRQ_INT0); 93 disable_mappi_irq(M32R_IRQ_INT0);
93#endif /* CONFIG_M32R_NE2000 */ 94#endif /* CONFIG_M32R_NE2000 */
94 95
diff --git a/arch/m68knommu/kernel/setup.c b/arch/m68knommu/kernel/setup.c
index a5ac0d40fbec..3f86ade3a22a 100644
--- a/arch/m68knommu/kernel/setup.c
+++ b/arch/m68knommu/kernel/setup.c
@@ -42,8 +42,6 @@ EXPORT_SYMBOL(memory_end);
42 42
43char __initdata command_line[COMMAND_LINE_SIZE]; 43char __initdata command_line[COMMAND_LINE_SIZE];
44 44
45void (*mach_trap_init)(void);
46
47/* machine dependent timer functions */ 45/* machine dependent timer functions */
48void (*mach_sched_init)(irq_handler_t handler); 46void (*mach_sched_init)(irq_handler_t handler);
49void (*mach_tick)(void); 47void (*mach_tick)(void);
diff --git a/arch/m68knommu/platform/5206/config.c b/arch/m68knommu/platform/5206/config.c
index d265ed4e5afc..d0f2dc5cb5a1 100644
--- a/arch/m68knommu/platform/5206/config.c
+++ b/arch/m68knommu/platform/5206/config.c
@@ -28,7 +28,6 @@
28void coldfire_tick(void); 28void coldfire_tick(void);
29void coldfire_timer_init(irq_handler_t handler); 29void coldfire_timer_init(irq_handler_t handler);
30unsigned long coldfire_timer_offset(void); 30unsigned long coldfire_timer_offset(void);
31void coldfire_trap_init(void);
32void coldfire_reset(void); 31void coldfire_reset(void);
33 32
34/***************************************************************************/ 33/***************************************************************************/
@@ -101,7 +100,6 @@ void config_BSP(char *commandp, int size)
101 mach_sched_init = coldfire_timer_init; 100 mach_sched_init = coldfire_timer_init;
102 mach_tick = coldfire_tick; 101 mach_tick = coldfire_tick;
103 mach_gettimeoffset = coldfire_timer_offset; 102 mach_gettimeoffset = coldfire_timer_offset;
104 mach_trap_init = coldfire_trap_init;
105 mach_reset = coldfire_reset; 103 mach_reset = coldfire_reset;
106} 104}
107 105
diff --git a/arch/m68knommu/platform/5206e/config.c b/arch/m68knommu/platform/5206e/config.c
index 7fa5e8254c31..4ab614f1ecda 100644
--- a/arch/m68knommu/platform/5206e/config.c
+++ b/arch/m68knommu/platform/5206e/config.c
@@ -27,7 +27,6 @@
27void coldfire_tick(void); 27void coldfire_tick(void);
28void coldfire_timer_init(irq_handler_t handler); 28void coldfire_timer_init(irq_handler_t handler);
29unsigned long coldfire_timer_offset(void); 29unsigned long coldfire_timer_offset(void);
30void coldfire_trap_init(void);
31void coldfire_reset(void); 30void coldfire_reset(void);
32 31
33/***************************************************************************/ 32/***************************************************************************/
@@ -107,7 +106,6 @@ void config_BSP(char *commandp, int size)
107 mach_sched_init = coldfire_timer_init; 106 mach_sched_init = coldfire_timer_init;
108 mach_tick = coldfire_tick; 107 mach_tick = coldfire_tick;
109 mach_gettimeoffset = coldfire_timer_offset; 108 mach_gettimeoffset = coldfire_timer_offset;
110 mach_trap_init = coldfire_trap_init;
111 mach_reset = coldfire_reset; 109 mach_reset = coldfire_reset;
112} 110}
113 111
diff --git a/arch/m68knommu/platform/520x/config.c b/arch/m68knommu/platform/520x/config.c
index 85830f9882f3..a2c95bebd004 100644
--- a/arch/m68knommu/platform/520x/config.c
+++ b/arch/m68knommu/platform/520x/config.c
@@ -30,7 +30,6 @@ unsigned int dma_device_address[MAX_M68K_DMA_CHANNELS];
30void coldfire_pit_tick(void); 30void coldfire_pit_tick(void);
31void coldfire_pit_init(irq_handler_t handler); 31void coldfire_pit_init(irq_handler_t handler);
32unsigned long coldfire_pit_offset(void); 32unsigned long coldfire_pit_offset(void);
33void coldfire_trap_init(void);
34void coldfire_reset(void); 33void coldfire_reset(void);
35 34
36/***************************************************************************/ 35/***************************************************************************/
@@ -51,7 +50,6 @@ void config_BSP(char *commandp, int size)
51 mach_sched_init = coldfire_pit_init; 50 mach_sched_init = coldfire_pit_init;
52 mach_tick = coldfire_pit_tick; 51 mach_tick = coldfire_pit_tick;
53 mach_gettimeoffset = coldfire_pit_offset; 52 mach_gettimeoffset = coldfire_pit_offset;
54 mach_trap_init = coldfire_trap_init;
55 mach_reset = coldfire_reset; 53 mach_reset = coldfire_reset;
56} 54}
57 55
diff --git a/arch/m68knommu/platform/523x/config.c b/arch/m68knommu/platform/523x/config.c
index c0157e110035..0a3af05a434b 100644
--- a/arch/m68knommu/platform/523x/config.c
+++ b/arch/m68knommu/platform/523x/config.c
@@ -29,7 +29,6 @@
29void coldfire_pit_tick(void); 29void coldfire_pit_tick(void);
30void coldfire_pit_init(irq_handler_t handler); 30void coldfire_pit_init(irq_handler_t handler);
31unsigned long coldfire_pit_offset(void); 31unsigned long coldfire_pit_offset(void);
32void coldfire_trap_init(void);
33void coldfire_reset(void); 32void coldfire_reset(void);
34 33
35/***************************************************************************/ 34/***************************************************************************/
@@ -66,7 +65,6 @@ void config_BSP(char *commandp, int size)
66 mach_sched_init = coldfire_pit_init; 65 mach_sched_init = coldfire_pit_init;
67 mach_tick = coldfire_pit_tick; 66 mach_tick = coldfire_pit_tick;
68 mach_gettimeoffset = coldfire_pit_offset; 67 mach_gettimeoffset = coldfire_pit_offset;
69 mach_trap_init = coldfire_trap_init;
70 mach_reset = coldfire_reset; 68 mach_reset = coldfire_reset;
71} 69}
72 70
diff --git a/arch/m68knommu/platform/5249/config.c b/arch/m68knommu/platform/5249/config.c
index 4cdeb719512d..dc2c362590c2 100644
--- a/arch/m68knommu/platform/5249/config.c
+++ b/arch/m68knommu/platform/5249/config.c
@@ -27,7 +27,6 @@
27void coldfire_tick(void); 27void coldfire_tick(void);
28void coldfire_timer_init(irq_handler_t handler); 28void coldfire_timer_init(irq_handler_t handler);
29unsigned long coldfire_timer_offset(void); 29unsigned long coldfire_timer_offset(void);
30void coldfire_trap_init(void);
31void coldfire_reset(void); 30void coldfire_reset(void);
32 31
33/***************************************************************************/ 32/***************************************************************************/
@@ -99,7 +98,6 @@ void config_BSP(char *commandp, int size)
99 mach_sched_init = coldfire_timer_init; 98 mach_sched_init = coldfire_timer_init;
100 mach_tick = coldfire_tick; 99 mach_tick = coldfire_tick;
101 mach_gettimeoffset = coldfire_timer_offset; 100 mach_gettimeoffset = coldfire_timer_offset;
102 mach_trap_init = coldfire_trap_init;
103 mach_reset = coldfire_reset; 101 mach_reset = coldfire_reset;
104} 102}
105 103
diff --git a/arch/m68knommu/platform/5272/config.c b/arch/m68knommu/platform/5272/config.c
index 609b10e4b9b9..1365a8300d5d 100644
--- a/arch/m68knommu/platform/5272/config.c
+++ b/arch/m68knommu/platform/5272/config.c
@@ -28,7 +28,6 @@
28void coldfire_tick(void); 28void coldfire_tick(void);
29void coldfire_timer_init(irq_handler_t handler); 29void coldfire_timer_init(irq_handler_t handler);
30unsigned long coldfire_timer_offset(void); 30unsigned long coldfire_timer_offset(void);
31void coldfire_trap_init(void);
32void coldfire_reset(void); 31void coldfire_reset(void);
33 32
34extern unsigned int mcf_timervector; 33extern unsigned int mcf_timervector;
@@ -132,7 +131,6 @@ void config_BSP(char *commandp, int size)
132 mach_sched_init = coldfire_timer_init; 131 mach_sched_init = coldfire_timer_init;
133 mach_tick = coldfire_tick; 132 mach_tick = coldfire_tick;
134 mach_gettimeoffset = coldfire_timer_offset; 133 mach_gettimeoffset = coldfire_timer_offset;
135 mach_trap_init = coldfire_trap_init;
136 mach_reset = coldfire_reset; 134 mach_reset = coldfire_reset;
137} 135}
138 136
diff --git a/arch/m68knommu/platform/527x/config.c b/arch/m68knommu/platform/527x/config.c
index 126dac066482..1b820441419a 100644
--- a/arch/m68knommu/platform/527x/config.c
+++ b/arch/m68knommu/platform/527x/config.c
@@ -29,7 +29,6 @@
29void coldfire_pit_tick(void); 29void coldfire_pit_tick(void);
30void coldfire_pit_init(irq_handler_t handler); 30void coldfire_pit_init(irq_handler_t handler);
31unsigned long coldfire_pit_offset(void); 31unsigned long coldfire_pit_offset(void);
32void coldfire_trap_init(void);
33void coldfire_reset(void); 32void coldfire_reset(void);
34 33
35/***************************************************************************/ 34/***************************************************************************/
@@ -66,7 +65,6 @@ void config_BSP(char *commandp, int size)
66 mach_sched_init = coldfire_pit_init; 65 mach_sched_init = coldfire_pit_init;
67 mach_tick = coldfire_pit_tick; 66 mach_tick = coldfire_pit_tick;
68 mach_gettimeoffset = coldfire_pit_offset; 67 mach_gettimeoffset = coldfire_pit_offset;
69 mach_trap_init = coldfire_trap_init;
70 mach_reset = coldfire_reset; 68 mach_reset = coldfire_reset;
71} 69}
72 70
diff --git a/arch/m68knommu/platform/528x/config.c b/arch/m68knommu/platform/528x/config.c
index aab1ef0c1f78..a089e9513699 100644
--- a/arch/m68knommu/platform/528x/config.c
+++ b/arch/m68knommu/platform/528x/config.c
@@ -29,7 +29,6 @@
29void coldfire_pit_tick(void); 29void coldfire_pit_tick(void);
30void coldfire_pit_init(irq_handler_t handler); 30void coldfire_pit_init(irq_handler_t handler);
31unsigned long coldfire_pit_offset(void); 31unsigned long coldfire_pit_offset(void);
32void coldfire_trap_init(void);
33void coldfire_reset(void); 32void coldfire_reset(void);
34 33
35/***************************************************************************/ 34/***************************************************************************/
@@ -66,7 +65,6 @@ void config_BSP(char *commandp, int size)
66 mach_sched_init = coldfire_pit_init; 65 mach_sched_init = coldfire_pit_init;
67 mach_tick = coldfire_pit_tick; 66 mach_tick = coldfire_pit_tick;
68 mach_gettimeoffset = coldfire_pit_offset; 67 mach_gettimeoffset = coldfire_pit_offset;
69 mach_trap_init = coldfire_trap_init;
70 mach_reset = coldfire_reset; 68 mach_reset = coldfire_reset;
71} 69}
72 70
diff --git a/arch/m68knommu/platform/5307/config.c b/arch/m68knommu/platform/5307/config.c
index 1f10e941b87c..e3461619fd65 100644
--- a/arch/m68knommu/platform/5307/config.c
+++ b/arch/m68knommu/platform/5307/config.c
@@ -29,7 +29,6 @@
29void coldfire_tick(void); 29void coldfire_tick(void);
30void coldfire_timer_init(irq_handler_t handler); 30void coldfire_timer_init(irq_handler_t handler);
31unsigned long coldfire_timer_offset(void); 31unsigned long coldfire_timer_offset(void);
32void coldfire_trap_init(void);
33void coldfire_reset(void); 32void coldfire_reset(void);
34 33
35extern unsigned int mcf_timervector; 34extern unsigned int mcf_timervector;
@@ -126,7 +125,6 @@ void config_BSP(char *commandp, int size)
126 mach_sched_init = coldfire_timer_init; 125 mach_sched_init = coldfire_timer_init;
127 mach_tick = coldfire_tick; 126 mach_tick = coldfire_tick;
128 mach_gettimeoffset = coldfire_timer_offset; 127 mach_gettimeoffset = coldfire_timer_offset;
129 mach_trap_init = coldfire_trap_init;
130 mach_reset = coldfire_reset; 128 mach_reset = coldfire_reset;
131 129
132#ifdef MCF_BDM_DISABLE 130#ifdef MCF_BDM_DISABLE
diff --git a/arch/m68knommu/platform/5307/pit.c b/arch/m68knommu/platform/5307/pit.c
index aa15beeb36ca..e53c446d10e4 100644
--- a/arch/m68knommu/platform/5307/pit.c
+++ b/arch/m68knommu/platform/5307/pit.c
@@ -5,9 +5,8 @@
5 * hardware timer only exists in the Freescale ColdFire 5 * hardware timer only exists in the Freescale ColdFire
6 * 5270/5271, 5282 and other CPUs. 6 * 5270/5271, 5282 and other CPUs.
7 * 7 *
8 * Copyright (C) 1999-2006, Greg Ungerer (gerg@snapgear.com) 8 * Copyright (C) 1999-2007, Greg Ungerer (gerg@snapgear.com)
9 * Copyright (C) 2001-2004, SnapGear Inc. (www.snapgear.com) 9 * Copyright (C) 2001-2004, SnapGear Inc. (www.snapgear.com)
10 *
11 */ 10 */
12 11
13/***************************************************************************/ 12/***************************************************************************/
@@ -17,8 +16,8 @@
17#include <linux/param.h> 16#include <linux/param.h>
18#include <linux/init.h> 17#include <linux/init.h>
19#include <linux/interrupt.h> 18#include <linux/interrupt.h>
19#include <linux/irq.h>
20#include <asm/io.h> 20#include <asm/io.h>
21#include <asm/irq.h>
22#include <asm/coldfire.h> 21#include <asm/coldfire.h>
23#include <asm/mcfpit.h> 22#include <asm/mcfpit.h>
24#include <asm/mcfsim.h> 23#include <asm/mcfsim.h>
@@ -43,13 +42,18 @@ void coldfire_pit_tick(void)
43 42
44/***************************************************************************/ 43/***************************************************************************/
45 44
45static struct irqaction coldfire_pit_irq = {
46 .name = "timer",
47 .flags = IRQF_DISABLED | IRQF_TIMER,
48};
49
46void coldfire_pit_init(irq_handler_t handler) 50void coldfire_pit_init(irq_handler_t handler)
47{ 51{
48 volatile unsigned char *icrp; 52 volatile unsigned char *icrp;
49 volatile unsigned long *imrp; 53 volatile unsigned long *imrp;
50 54
51 request_irq(MCFINT_VECBASE + MCFINT_PIT1, handler, IRQF_DISABLED, 55 coldfire_pit_irq.handler = handler;
52 "ColdFire Timer", NULL); 56 setup_irq(MCFINT_VECBASE + MCFINT_PIT1, &coldfire_pit_irq);
53 57
54 icrp = (volatile unsigned char *) (MCF_IPSBAR + MCFICM_INTC0 + 58 icrp = (volatile unsigned char *) (MCF_IPSBAR + MCFICM_INTC0 +
55 MCFINTC_ICR0 + MCFINT_PIT1); 59 MCFINTC_ICR0 + MCFINT_PIT1);
diff --git a/arch/m68knommu/platform/5307/timers.c b/arch/m68knommu/platform/5307/timers.c
index fb66eadd5896..64bd0ff9029e 100644
--- a/arch/m68knommu/platform/5307/timers.c
+++ b/arch/m68knommu/platform/5307/timers.c
@@ -3,7 +3,7 @@
3/* 3/*
4 * timers.c -- generic ColdFire hardware timer support. 4 * timers.c -- generic ColdFire hardware timer support.
5 * 5 *
6 * Copyright (C) 1999-2006, Greg Ungerer (gerg@snapgear.com) 6 * Copyright (C) 1999-2007, Greg Ungerer (gerg@snapgear.com)
7 */ 7 */
8 8
9/***************************************************************************/ 9/***************************************************************************/
@@ -13,8 +13,8 @@
13#include <linux/param.h> 13#include <linux/param.h>
14#include <linux/interrupt.h> 14#include <linux/interrupt.h>
15#include <linux/init.h> 15#include <linux/init.h>
16#include <linux/irq.h>
16#include <asm/io.h> 17#include <asm/io.h>
17#include <asm/irq.h>
18#include <asm/traps.h> 18#include <asm/traps.h>
19#include <asm/machdep.h> 19#include <asm/machdep.h>
20#include <asm/coldfire.h> 20#include <asm/coldfire.h>
@@ -62,17 +62,24 @@ void coldfire_tick(void)
62 62
63/***************************************************************************/ 63/***************************************************************************/
64 64
65static struct irqaction coldfire_timer_irq = {
66 .name = "timer",
67 .flags = IRQF_DISABLED | IRQF_TIMER,
68};
69
65static int ticks_per_intr; 70static int ticks_per_intr;
66 71
67void coldfire_timer_init(irq_handler_t handler) 72void coldfire_timer_init(irq_handler_t handler)
68{ 73{
74 coldfire_timer_irq.handler = handler;
75 setup_irq(mcf_timervector, &coldfire_timer_irq);
76
69 __raw_writew(MCFTIMER_TMR_DISABLE, TA(MCFTIMER_TMR)); 77 __raw_writew(MCFTIMER_TMR_DISABLE, TA(MCFTIMER_TMR));
70 ticks_per_intr = (MCF_BUSCLK / 16) / HZ; 78 ticks_per_intr = (MCF_BUSCLK / 16) / HZ;
71 __raw_writetrr(ticks_per_intr - 1, TA(MCFTIMER_TRR)); 79 __raw_writetrr(ticks_per_intr - 1, TA(MCFTIMER_TRR));
72 __raw_writew(MCFTIMER_TMR_ENORI | MCFTIMER_TMR_CLK16 | 80 __raw_writew(MCFTIMER_TMR_ENORI | MCFTIMER_TMR_CLK16 |
73 MCFTIMER_TMR_RESTART | MCFTIMER_TMR_ENABLE, TA(MCFTIMER_TMR)); 81 MCFTIMER_TMR_RESTART | MCFTIMER_TMR_ENABLE, TA(MCFTIMER_TMR));
74 82
75 request_irq(mcf_timervector, handler, IRQF_DISABLED, "timer", NULL);
76 mcf_settimericr(1, mcf_timerlevel); 83 mcf_settimericr(1, mcf_timerlevel);
77 84
78#ifdef CONFIG_HIGHPROFILE 85#ifdef CONFIG_HIGHPROFILE
diff --git a/arch/m68knommu/platform/532x/config.c b/arch/m68knommu/platform/532x/config.c
index dc39c466e33f..b32c6425f821 100644
--- a/arch/m68knommu/platform/532x/config.c
+++ b/arch/m68knommu/platform/532x/config.c
@@ -37,7 +37,6 @@
37void coldfire_tick(void); 37void coldfire_tick(void);
38void coldfire_timer_init(irq_handler_t handler); 38void coldfire_timer_init(irq_handler_t handler);
39unsigned long coldfire_timer_offset(void); 39unsigned long coldfire_timer_offset(void);
40void coldfire_trap_init(void);
41void coldfire_reset(void); 40void coldfire_reset(void);
42 41
43extern unsigned int mcf_timervector; 42extern unsigned int mcf_timervector;
@@ -108,7 +107,6 @@ void config_BSP(char *commandp, int size)
108 mach_sched_init = coldfire_timer_init; 107 mach_sched_init = coldfire_timer_init;
109 mach_tick = coldfire_tick; 108 mach_tick = coldfire_tick;
110 mach_gettimeoffset = coldfire_timer_offset; 109 mach_gettimeoffset = coldfire_timer_offset;
111 mach_trap_init = coldfire_trap_init;
112 mach_reset = coldfire_reset; 110 mach_reset = coldfire_reset;
113 111
114#ifdef MCF_BDM_DISABLE 112#ifdef MCF_BDM_DISABLE
diff --git a/arch/m68knommu/platform/5407/config.c b/arch/m68knommu/platform/5407/config.c
index fde417fdd650..e692536817d8 100644
--- a/arch/m68knommu/platform/5407/config.c
+++ b/arch/m68knommu/platform/5407/config.c
@@ -28,7 +28,6 @@
28void coldfire_tick(void); 28void coldfire_tick(void);
29void coldfire_timer_init(irq_handler_t handler); 29void coldfire_timer_init(irq_handler_t handler);
30unsigned long coldfire_timer_offset(void); 30unsigned long coldfire_timer_offset(void);
31void coldfire_trap_init(void);
32void coldfire_reset(void); 31void coldfire_reset(void);
33 32
34extern unsigned int mcf_timervector; 33extern unsigned int mcf_timervector;
@@ -112,7 +111,6 @@ void config_BSP(char *commandp, int size)
112 mach_sched_init = coldfire_timer_init; 111 mach_sched_init = coldfire_timer_init;
113 mach_tick = coldfire_tick; 112 mach_tick = coldfire_tick;
114 mach_gettimeoffset = coldfire_timer_offset; 113 mach_gettimeoffset = coldfire_timer_offset;
115 mach_trap_init = coldfire_trap_init;
116 mach_reset = coldfire_reset; 114 mach_reset = coldfire_reset;
117} 115}
118 116
diff --git a/arch/m68knommu/platform/68328/timers.c b/arch/m68knommu/platform/68328/timers.c
index ef067f4c3cd4..0396476f955d 100644
--- a/arch/m68knommu/platform/68328/timers.c
+++ b/arch/m68knommu/platform/68328/timers.c
@@ -18,10 +18,10 @@
18#include <linux/kernel.h> 18#include <linux/kernel.h>
19#include <linux/mm.h> 19#include <linux/mm.h>
20#include <linux/interrupt.h> 20#include <linux/interrupt.h>
21#include <linux/irq.h>
21#include <asm/setup.h> 22#include <asm/setup.h>
22#include <asm/system.h> 23#include <asm/system.h>
23#include <asm/pgtable.h> 24#include <asm/pgtable.h>
24#include <asm/irq.h>
25#include <asm/machdep.h> 25#include <asm/machdep.h>
26#include <asm/MC68VZ328.h> 26#include <asm/MC68VZ328.h>
27 27
@@ -53,14 +53,19 @@
53 53
54/***************************************************************************/ 54/***************************************************************************/
55 55
56static struct irqaction m68328_timer_irq = {
57 .name = "timer",
58 .flags = IRQF_DISABLED | IRQF_TIMER,
59};
60
56void m68328_timer_init(irq_handler_t timer_routine) 61void m68328_timer_init(irq_handler_t timer_routine)
57{ 62{
58 /* disable timer 1 */ 63 /* disable timer 1 */
59 TCTL = 0; 64 TCTL = 0;
60 65
61 /* set ISR */ 66 /* set ISR */
62 if (request_irq(TMR_IRQ_NUM, timer_routine, IRQ_FLG_LOCK, "timer", NULL)) 67 m68328_timer_irq.handler = timer_routine;
63 panic("Unable to attach timer interrupt\n"); 68 setup_irq(TMR_IRQ_NUM, &m68328_timer_irq);
64 69
65 /* Restart mode, Enable int, Set clock source */ 70 /* Restart mode, Enable int, Set clock source */
66 TCTL = TCTL_OM | TCTL_IRQEN | CLOCK_SOURCE; 71 TCTL = TCTL_OM | TCTL_IRQEN | CLOCK_SOURCE;
diff --git a/arch/m68knommu/platform/68360/config.c b/arch/m68knommu/platform/68360/config.c
index 4ff13bd51ffd..155b72fe2607 100644
--- a/arch/m68knommu/platform/68360/config.c
+++ b/arch/m68knommu/platform/68360/config.c
@@ -17,11 +17,11 @@
17#include <linux/tty.h> 17#include <linux/tty.h>
18#include <linux/console.h> 18#include <linux/console.h>
19#include <linux/interrupt.h> 19#include <linux/interrupt.h>
20#include <linux/irq.h>
20 21
21#include <asm/setup.h> 22#include <asm/setup.h>
22#include <asm/system.h> 23#include <asm/system.h>
23#include <asm/pgtable.h> 24#include <asm/pgtable.h>
24#include <asm/irq.h>
25#include <asm/machdep.h> 25#include <asm/machdep.h>
26#include <asm/m68360.h> 26#include <asm/m68360.h>
27 27
@@ -51,11 +51,15 @@ extern unsigned long int system_clock; //In kernel setup.c
51 51
52extern void config_M68360_irq(void); 52extern void config_M68360_irq(void);
53 53
54static struct irqaction m68360_timer_irq = {
55 .name = "timer",
56 .flags = IRQF_DISABLED | IRQF_TIMER,
57};
58
54void BSP_sched_init(irq_handler_t timer_routine) 59void BSP_sched_init(irq_handler_t timer_routine)
55{ 60{
56 unsigned char prescaler; 61 unsigned char prescaler;
57 unsigned short tgcr_save; 62 unsigned short tgcr_save;
58 int return_value;
59 63
60#if 0 64#if 0
61 /* Restart mode, Enable int, 32KHz, Enable timer */ 65 /* Restart mode, Enable int, 32KHz, Enable timer */
@@ -86,10 +90,8 @@ void BSP_sched_init(irq_handler_t timer_routine)
86 pquicc->timer_ter1 = 0x0003; /* clear timer events */ 90 pquicc->timer_ter1 = 0x0003; /* clear timer events */
87 91
88 /* enable timer 1 interrupt in CIMR */ 92 /* enable timer 1 interrupt in CIMR */
89// request_irq(IRQ_MACHSPEC | CPMVEC_TIMER1, timer_routine, IRQ_FLG_LOCK, "timer", NULL); 93 m68360_timer_irq.handler = timer_routine;
90 //return_value = request_irq( CPMVEC_TIMER1, timer_routine, IRQ_FLG_LOCK, "timer", NULL); 94 setup_irq(CPMVEC_TIMER1, &m68360_timer_irq);
91 return_value = request_irq(CPMVEC_TIMER1 , timer_routine, IRQ_FLG_LOCK,
92 "Timer", NULL);
93 95
94 /* Start timer 1: */ 96 /* Start timer 1: */
95 tgcr_save = (pquicc->timer_tgcr & 0xfff0) | 0x0001; 97 tgcr_save = (pquicc->timer_tgcr & 0xfff0) | 0x0001;
diff --git a/arch/sparc64/kernel/viohs.c b/arch/sparc64/kernel/viohs.c
index 09126fc338ba..708fa1705fbe 100644
--- a/arch/sparc64/kernel/viohs.c
+++ b/arch/sparc64/kernel/viohs.c
@@ -702,7 +702,7 @@ u32 vio_send_sid(struct vio_driver_state *vio)
702} 702}
703EXPORT_SYMBOL(vio_send_sid); 703EXPORT_SYMBOL(vio_send_sid);
704 704
705extern int vio_ldc_alloc(struct vio_driver_state *vio, 705int vio_ldc_alloc(struct vio_driver_state *vio,
706 struct ldc_channel_config *base_cfg, 706 struct ldc_channel_config *base_cfg,
707 void *event_arg) 707 void *event_arg)
708{ 708{
diff --git a/arch/x86_64/ia32/ia32_binfmt.c b/arch/x86_64/ia32/ia32_binfmt.c
index b70f3e7cf06c..dffd2ac72747 100644
--- a/arch/x86_64/ia32/ia32_binfmt.c
+++ b/arch/x86_64/ia32/ia32_binfmt.c
@@ -41,8 +41,9 @@ int sysctl_vsyscall32 = 1;
41#undef ARCH_DLINFO 41#undef ARCH_DLINFO
42#define ARCH_DLINFO do { \ 42#define ARCH_DLINFO do { \
43 if (sysctl_vsyscall32) { \ 43 if (sysctl_vsyscall32) { \
44 NEW_AUX_ENT(AT_SYSINFO, (u32)(u64)VSYSCALL32_VSYSCALL); \ 44 current->mm->context.vdso = (void *)VSYSCALL32_BASE; \
45 NEW_AUX_ENT(AT_SYSINFO_EHDR, VSYSCALL32_BASE); \ 45 NEW_AUX_ENT(AT_SYSINFO, (u32)(u64)VSYSCALL32_VSYSCALL); \
46 NEW_AUX_ENT(AT_SYSINFO_EHDR, VSYSCALL32_BASE); \
46 } \ 47 } \
47} while(0) 48} while(0)
48 49
diff --git a/arch/x86_64/ia32/syscall32.c b/arch/x86_64/ia32/syscall32.c
index fc4419ff0355..15013bac181c 100644
--- a/arch/x86_64/ia32/syscall32.c
+++ b/arch/x86_64/ia32/syscall32.c
@@ -49,14 +49,6 @@ int syscall32_setup_pages(struct linux_binprm *bprm, int exstack)
49 return ret; 49 return ret;
50} 50}
51 51
52const char *arch_vma_name(struct vm_area_struct *vma)
53{
54 if (vma->vm_start == VSYSCALL32_BASE &&
55 vma->vm_mm && vma->vm_mm->task_size == IA32_PAGE_OFFSET)
56 return "[vdso]";
57 return NULL;
58}
59
60static int __init init_syscall32(void) 52static int __init init_syscall32(void)
61{ 53{
62 char *syscall32_page = (void *)get_zeroed_page(GFP_KERNEL); 54 char *syscall32_page = (void *)get_zeroed_page(GFP_KERNEL);
diff --git a/arch/x86_64/kernel/tce.c b/arch/x86_64/kernel/tce.c
index 3aeae2fa2e24..821527e7faa3 100644
--- a/arch/x86_64/kernel/tce.c
+++ b/arch/x86_64/kernel/tce.c
@@ -165,7 +165,7 @@ done:
165 return ret; 165 return ret;
166} 166}
167 167
168void* alloc_tce_table(void) 168void * __init alloc_tce_table(void)
169{ 169{
170 unsigned int size; 170 unsigned int size;
171 171
@@ -175,7 +175,7 @@ void* alloc_tce_table(void)
175 return __alloc_bootmem_low(size, size, 0); 175 return __alloc_bootmem_low(size, size, 0);
176} 176}
177 177
178void free_tce_table(void *tbl) 178void __init free_tce_table(void *tbl)
179{ 179{
180 unsigned int size; 180 unsigned int size;
181 181
diff --git a/arch/x86_64/kernel/tsc.c b/arch/x86_64/kernel/tsc.c
index 9b76b03d0600..2a59bde663f2 100644
--- a/arch/x86_64/kernel/tsc.c
+++ b/arch/x86_64/kernel/tsc.c
@@ -118,8 +118,6 @@ core_initcall(cpufreq_tsc);
118 118
119#endif 119#endif
120 120
121static int tsc_unstable = 0;
122
123/* 121/*
124 * Make an educated guess if the TSC is trustworthy and synchronized 122 * Make an educated guess if the TSC is trustworthy and synchronized
125 * over all CPUs. 123 * over all CPUs.
diff --git a/arch/x86_64/mm/init.c b/arch/x86_64/mm/init.c
index 38f5d6368006..458893b376f8 100644
--- a/arch/x86_64/mm/init.c
+++ b/arch/x86_64/mm/init.c
@@ -600,6 +600,16 @@ void mark_rodata_ro(void)
600{ 600{
601 unsigned long start = (unsigned long)_stext, end; 601 unsigned long start = (unsigned long)_stext, end;
602 602
603#ifdef CONFIG_HOTPLUG_CPU
604 /* It must still be possible to apply SMP alternatives. */
605 if (num_possible_cpus() > 1)
606 start = (unsigned long)_etext;
607#endif
608
609#ifdef CONFIG_KPROBES
610 start = (unsigned long)__start_rodata;
611#endif
612
603 end = (unsigned long)__end_rodata; 613 end = (unsigned long)__end_rodata;
604 start = (start + PAGE_SIZE - 1) & PAGE_MASK; 614 start = (start + PAGE_SIZE - 1) & PAGE_MASK;
605 end &= PAGE_MASK; 615 end &= PAGE_MASK;