diff options
author | Tony Luck <tony.luck@intel.com> | 2005-07-13 15:15:43 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-07-13 15:15:43 -0400 |
commit | 99ad25a313bda566a346b46a6015afa65bc0a02b (patch) | |
tree | b9443fed1ab74f320c4ee0791864ee96d7c069df /arch | |
parent | f62c4a96f74d6c6dd56d1742697e94a5c2085e87 (diff) | |
parent | 9a556e89081b0c1c2f83cee915363b15a68a6f2d (diff) |
Auto merge with /home/aegl/GIT/linus
Diffstat (limited to 'arch')
53 files changed, 292 insertions, 45 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index c5739d6309df..083c5df42d35 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig | |||
@@ -596,6 +596,8 @@ source "fs/Kconfig.binfmt" | |||
596 | 596 | ||
597 | endmenu | 597 | endmenu |
598 | 598 | ||
599 | source "net/Kconfig" | ||
600 | |||
599 | source "drivers/Kconfig" | 601 | source "drivers/Kconfig" |
600 | 602 | ||
601 | source "fs/Kconfig" | 603 | source "fs/Kconfig" |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 8752751f9985..7bc4a583f4e1 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -700,6 +700,8 @@ config APM | |||
700 | 700 | ||
701 | endmenu | 701 | endmenu |
702 | 702 | ||
703 | source "net/Kconfig" | ||
704 | |||
703 | menu "Device Drivers" | 705 | menu "Device Drivers" |
704 | 706 | ||
705 | source "drivers/base/Kconfig" | 707 | source "drivers/base/Kconfig" |
@@ -732,7 +734,7 @@ source "drivers/ieee1394/Kconfig" | |||
732 | 734 | ||
733 | source "drivers/message/i2o/Kconfig" | 735 | source "drivers/message/i2o/Kconfig" |
734 | 736 | ||
735 | source "net/Kconfig" | 737 | source "drivers/net/Kconfig" |
736 | 738 | ||
737 | source "drivers/isdn/Kconfig" | 739 | source "drivers/isdn/Kconfig" |
738 | 740 | ||
@@ -744,6 +746,8 @@ source "drivers/char/Kconfig" | |||
744 | 746 | ||
745 | source "drivers/i2c/Kconfig" | 747 | source "drivers/i2c/Kconfig" |
746 | 748 | ||
749 | source "drivers/hwmon/Kconfig" | ||
750 | |||
747 | #source "drivers/l3/Kconfig" | 751 | #source "drivers/l3/Kconfig" |
748 | 752 | ||
749 | source "drivers/misc/Kconfig" | 753 | source "drivers/misc/Kconfig" |
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index a931409c8fe4..7ae45c3fc834 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
@@ -36,7 +36,7 @@ | |||
36 | * The present bitmask indicates that the CPU is physically present. | 36 | * The present bitmask indicates that the CPU is physically present. |
37 | * The online bitmask indicates that the CPU is up and running. | 37 | * The online bitmask indicates that the CPU is up and running. |
38 | */ | 38 | */ |
39 | cpumask_t cpu_present_mask; | 39 | cpumask_t cpu_possible_map; |
40 | cpumask_t cpu_online_map; | 40 | cpumask_t cpu_online_map; |
41 | 41 | ||
42 | /* | 42 | /* |
@@ -235,7 +235,8 @@ void __init smp_prepare_boot_cpu(void) | |||
235 | { | 235 | { |
236 | unsigned int cpu = smp_processor_id(); | 236 | unsigned int cpu = smp_processor_id(); |
237 | 237 | ||
238 | cpu_set(cpu, cpu_present_mask); | 238 | cpu_set(cpu, cpu_possible_map); |
239 | cpu_set(cpu, cpu_present_map); | ||
239 | cpu_set(cpu, cpu_online_map); | 240 | cpu_set(cpu, cpu_online_map); |
240 | } | 241 | } |
241 | 242 | ||
@@ -355,7 +356,7 @@ void show_ipi_list(struct seq_file *p) | |||
355 | 356 | ||
356 | seq_puts(p, "IPI:"); | 357 | seq_puts(p, "IPI:"); |
357 | 358 | ||
358 | for_each_online_cpu(cpu) | 359 | for_each_present_cpu(cpu) |
359 | seq_printf(p, " %10lu", per_cpu(ipi_data, cpu).ipi_count); | 360 | seq_printf(p, " %10lu", per_cpu(ipi_data, cpu).ipi_count); |
360 | 361 | ||
361 | seq_putc(p, '\n'); | 362 | seq_putc(p, '\n'); |
diff --git a/arch/arm/mach-integrator/platsmp.c b/arch/arm/mach-integrator/platsmp.c index ead15dfcb53d..2ba025777098 100644 --- a/arch/arm/mach-integrator/platsmp.c +++ b/arch/arm/mach-integrator/platsmp.c | |||
@@ -174,11 +174,13 @@ void __init smp_prepare_cpus(unsigned int max_cpus) | |||
174 | max_cpus = ncores; | 174 | max_cpus = ncores; |
175 | 175 | ||
176 | /* | 176 | /* |
177 | * Initialise the present mask - this tells us which CPUs should | 177 | * Initialise the possible/present maps. |
178 | * be present. | 178 | * cpu_possible_map describes the set of CPUs which may be present |
179 | * cpu_present_map describes the set of CPUs populated | ||
179 | */ | 180 | */ |
180 | for (i = 0; i < max_cpus; i++) { | 181 | for (i = 0; i < max_cpus; i++) { |
181 | cpu_set(i, cpu_present_mask); | 182 | cpu_set(i, cpu_possible_map); |
183 | cpu_set(i, cpu_present_map); | ||
182 | } | 184 | } |
183 | 185 | ||
184 | /* | 186 | /* |
diff --git a/arch/arm/mach-omap1/leds-h2p2-debug.c b/arch/arm/mach-omap1/leds-h2p2-debug.c index 6e98290cca5c..ec0d8285f243 100644 --- a/arch/arm/mach-omap1/leds-h2p2-debug.c +++ b/arch/arm/mach-omap1/leds-h2p2-debug.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/kernel_stat.h> | 14 | #include <linux/kernel_stat.h> |
15 | #include <linux/sched.h> | 15 | #include <linux/sched.h> |
16 | #include <linux/version.h> | ||
17 | 16 | ||
18 | #include <asm/io.h> | 17 | #include <asm/io.h> |
19 | #include <asm/hardware.h> | 18 | #include <asm/hardware.h> |
diff --git a/arch/arm/nwfpe/fpmodule.c b/arch/arm/nwfpe/fpmodule.c index a806fea5c3ed..a8efcf34888e 100644 --- a/arch/arm/nwfpe/fpmodule.c +++ b/arch/arm/nwfpe/fpmodule.c | |||
@@ -24,7 +24,6 @@ | |||
24 | #include "fpa11.h" | 24 | #include "fpa11.h" |
25 | 25 | ||
26 | #include <linux/module.h> | 26 | #include <linux/module.h> |
27 | #include <linux/version.h> | ||
28 | #include <linux/config.h> | 27 | #include <linux/config.h> |
29 | 28 | ||
30 | /* XXX */ | 29 | /* XXX */ |
diff --git a/arch/arm/plat-omap/ocpi.c b/arch/arm/plat-omap/ocpi.c index 1fb16f9edfd5..2ede2ee8cae4 100644 --- a/arch/arm/plat-omap/ocpi.c +++ b/arch/arm/plat-omap/ocpi.c | |||
@@ -25,7 +25,6 @@ | |||
25 | 25 | ||
26 | #include <linux/config.h> | 26 | #include <linux/config.h> |
27 | #include <linux/module.h> | 27 | #include <linux/module.h> |
28 | #include <linux/version.h> | ||
29 | #include <linux/types.h> | 28 | #include <linux/types.h> |
30 | #include <linux/errno.h> | 29 | #include <linux/errno.h> |
31 | #include <linux/kernel.h> | 30 | #include <linux/kernel.h> |
diff --git a/arch/arm26/Kconfig b/arch/arm26/Kconfig index dc0c1936969b..1f0373267306 100644 --- a/arch/arm26/Kconfig +++ b/arch/arm26/Kconfig | |||
@@ -183,6 +183,8 @@ source "mm/Kconfig" | |||
183 | 183 | ||
184 | endmenu | 184 | endmenu |
185 | 185 | ||
186 | source "net/Kconfig" | ||
187 | |||
186 | source "drivers/base/Kconfig" | 188 | source "drivers/base/Kconfig" |
187 | 189 | ||
188 | source "drivers/parport/Kconfig" | 190 | source "drivers/parport/Kconfig" |
@@ -193,7 +195,7 @@ source "drivers/block/Kconfig" | |||
193 | 195 | ||
194 | source "drivers/md/Kconfig" | 196 | source "drivers/md/Kconfig" |
195 | 197 | ||
196 | source "net/Kconfig" | 198 | source "drivers/net/Kconfig" |
197 | 199 | ||
198 | source "drivers/ide/Kconfig" | 200 | source "drivers/ide/Kconfig" |
199 | 201 | ||
diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig index f848e3761491..e5979d68e352 100644 --- a/arch/cris/Kconfig +++ b/arch/cris/Kconfig | |||
@@ -122,6 +122,8 @@ source arch/cris/arch-v10/Kconfig | |||
122 | 122 | ||
123 | endmenu | 123 | endmenu |
124 | 124 | ||
125 | source "net/Kconfig" | ||
126 | |||
125 | # bring in ETRAX built-in drivers | 127 | # bring in ETRAX built-in drivers |
126 | menu "Drivers for built-in interfaces" | 128 | menu "Drivers for built-in interfaces" |
127 | source arch/cris/arch-v10/drivers/Kconfig | 129 | source arch/cris/arch-v10/drivers/Kconfig |
@@ -149,7 +151,7 @@ source "drivers/ieee1394/Kconfig" | |||
149 | 151 | ||
150 | source "drivers/message/i2o/Kconfig" | 152 | source "drivers/message/i2o/Kconfig" |
151 | 153 | ||
152 | source "net/Kconfig" | 154 | source "drivers/net/Kconfig" |
153 | 155 | ||
154 | source "drivers/isdn/Kconfig" | 156 | source "drivers/isdn/Kconfig" |
155 | 157 | ||
diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig index c93f95146cc2..ec85c0d6c6da 100644 --- a/arch/frv/Kconfig +++ b/arch/frv/Kconfig | |||
@@ -346,6 +346,8 @@ source "fs/Kconfig.binfmt" | |||
346 | 346 | ||
347 | endmenu | 347 | endmenu |
348 | 348 | ||
349 | source "net/Kconfig" | ||
350 | |||
349 | source "drivers/Kconfig" | 351 | source "drivers/Kconfig" |
350 | 352 | ||
351 | source "fs/Kconfig" | 353 | source "fs/Kconfig" |
diff --git a/arch/frv/mb93090-mb00/pci-irq.c b/arch/frv/mb93090-mb00/pci-irq.c index 24622d89b1ca..af981bda015c 100644 --- a/arch/frv/mb93090-mb00/pci-irq.c +++ b/arch/frv/mb93090-mb00/pci-irq.c | |||
@@ -60,7 +60,7 @@ void __init pcibios_fixup_irqs(void) | |||
60 | } | 60 | } |
61 | } | 61 | } |
62 | 62 | ||
63 | void __init pcibios_penalize_isa_irq(int irq) | 63 | void __init pcibios_penalize_isa_irq(int irq, int active) |
64 | { | 64 | { |
65 | } | 65 | } |
66 | 66 | ||
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index 62a89e812e3e..26698a49f153 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig | |||
@@ -55,6 +55,8 @@ source "fs/Kconfig.binfmt" | |||
55 | 55 | ||
56 | endmenu | 56 | endmenu |
57 | 57 | ||
58 | source "net/Kconfig" | ||
59 | |||
58 | source "drivers/base/Kconfig" | 60 | source "drivers/base/Kconfig" |
59 | 61 | ||
60 | source "drivers/mtd/Kconfig" | 62 | source "drivers/mtd/Kconfig" |
@@ -65,7 +67,7 @@ source "drivers/ide/Kconfig" | |||
65 | 67 | ||
66 | source "arch/h8300/Kconfig.ide" | 68 | source "arch/h8300/Kconfig.ide" |
67 | 69 | ||
68 | source "net/Kconfig" | 70 | source "drivers/net/Kconfig" |
69 | 71 | ||
70 | # | 72 | # |
71 | # input - input/joystick depends on it. As does USB. | 73 | # input - input/joystick depends on it. As does USB. |
@@ -179,6 +181,8 @@ source "drivers/serial/Kconfig" | |||
179 | 181 | ||
180 | source "drivers/i2c/Kconfig" | 182 | source "drivers/i2c/Kconfig" |
181 | 183 | ||
184 | source "drivers/hwmon/Kconfig" | ||
185 | |||
182 | source "drivers/usb/Kconfig" | 186 | source "drivers/usb/Kconfig" |
183 | 187 | ||
184 | endmenu | 188 | endmenu |
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index 6c02336fe2e4..a801d9d48606 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig | |||
@@ -1285,6 +1285,8 @@ source "fs/Kconfig.binfmt" | |||
1285 | 1285 | ||
1286 | endmenu | 1286 | endmenu |
1287 | 1287 | ||
1288 | source "net/Kconfig" | ||
1289 | |||
1288 | source "drivers/Kconfig" | 1290 | source "drivers/Kconfig" |
1289 | 1291 | ||
1290 | source "fs/Kconfig" | 1292 | source "fs/Kconfig" |
diff --git a/arch/i386/kernel/acpi/Makefile b/arch/i386/kernel/acpi/Makefile index ee75cb286cfe..5e291a20c03d 100644 --- a/arch/i386/kernel/acpi/Makefile +++ b/arch/i386/kernel/acpi/Makefile | |||
@@ -2,3 +2,7 @@ obj-$(CONFIG_ACPI_BOOT) := boot.o | |||
2 | obj-$(CONFIG_X86_IO_APIC) += earlyquirk.o | 2 | obj-$(CONFIG_X86_IO_APIC) += earlyquirk.o |
3 | obj-$(CONFIG_ACPI_SLEEP) += sleep.o wakeup.o | 3 | obj-$(CONFIG_ACPI_SLEEP) += sleep.o wakeup.o |
4 | 4 | ||
5 | ifneq ($(CONFIG_ACPI_PROCESSOR),) | ||
6 | obj-y += cstate.o | ||
7 | endif | ||
8 | |||
diff --git a/arch/i386/kernel/acpi/cstate.c b/arch/i386/kernel/acpi/cstate.c new file mode 100644 index 000000000000..4c3036ba65df --- /dev/null +++ b/arch/i386/kernel/acpi/cstate.c | |||
@@ -0,0 +1,103 @@ | |||
1 | /* | ||
2 | * arch/i386/kernel/acpi/cstate.c | ||
3 | * | ||
4 | * Copyright (C) 2005 Intel Corporation | ||
5 | * Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> | ||
6 | * - Added _PDC for SMP C-states on Intel CPUs | ||
7 | */ | ||
8 | |||
9 | #include <linux/kernel.h> | ||
10 | #include <linux/module.h> | ||
11 | #include <linux/init.h> | ||
12 | #include <linux/acpi.h> | ||
13 | |||
14 | #include <acpi/processor.h> | ||
15 | #include <asm/acpi.h> | ||
16 | |||
17 | static void acpi_processor_power_init_intel_pdc(struct acpi_processor_power | ||
18 | *pow) | ||
19 | { | ||
20 | struct acpi_object_list *obj_list; | ||
21 | union acpi_object *obj; | ||
22 | u32 *buf; | ||
23 | |||
24 | /* allocate and initialize pdc. It will be used later. */ | ||
25 | obj_list = kmalloc(sizeof(struct acpi_object_list), GFP_KERNEL); | ||
26 | if (!obj_list) { | ||
27 | printk(KERN_ERR "Memory allocation error\n"); | ||
28 | return; | ||
29 | } | ||
30 | |||
31 | obj = kmalloc(sizeof(union acpi_object), GFP_KERNEL); | ||
32 | if (!obj) { | ||
33 | printk(KERN_ERR "Memory allocation error\n"); | ||
34 | kfree(obj_list); | ||
35 | return; | ||
36 | } | ||
37 | |||
38 | buf = kmalloc(12, GFP_KERNEL); | ||
39 | if (!buf) { | ||
40 | printk(KERN_ERR "Memory allocation error\n"); | ||
41 | kfree(obj); | ||
42 | kfree(obj_list); | ||
43 | return; | ||
44 | } | ||
45 | |||
46 | buf[0] = ACPI_PDC_REVISION_ID; | ||
47 | buf[1] = 1; | ||
48 | buf[2] = ACPI_PDC_C_CAPABILITY_SMP; | ||
49 | |||
50 | obj->type = ACPI_TYPE_BUFFER; | ||
51 | obj->buffer.length = 12; | ||
52 | obj->buffer.pointer = (u8 *) buf; | ||
53 | obj_list->count = 1; | ||
54 | obj_list->pointer = obj; | ||
55 | pow->pdc = obj_list; | ||
56 | |||
57 | return; | ||
58 | } | ||
59 | |||
60 | /* Initialize _PDC data based on the CPU vendor */ | ||
61 | void acpi_processor_power_init_pdc(struct acpi_processor_power *pow, | ||
62 | unsigned int cpu) | ||
63 | { | ||
64 | struct cpuinfo_x86 *c = cpu_data + cpu; | ||
65 | |||
66 | pow->pdc = NULL; | ||
67 | if (c->x86_vendor == X86_VENDOR_INTEL) | ||
68 | acpi_processor_power_init_intel_pdc(pow); | ||
69 | |||
70 | return; | ||
71 | } | ||
72 | |||
73 | EXPORT_SYMBOL(acpi_processor_power_init_pdc); | ||
74 | |||
75 | /* | ||
76 | * Initialize bm_flags based on the CPU cache properties | ||
77 | * On SMP it depends on cache configuration | ||
78 | * - When cache is not shared among all CPUs, we flush cache | ||
79 | * before entering C3. | ||
80 | * - When cache is shared among all CPUs, we use bm_check | ||
81 | * mechanism as in UP case | ||
82 | * | ||
83 | * This routine is called only after all the CPUs are online | ||
84 | */ | ||
85 | void acpi_processor_power_init_bm_check(struct acpi_processor_flags *flags, | ||
86 | unsigned int cpu) | ||
87 | { | ||
88 | struct cpuinfo_x86 *c = cpu_data + cpu; | ||
89 | |||
90 | flags->bm_check = 0; | ||
91 | if (num_online_cpus() == 1) | ||
92 | flags->bm_check = 1; | ||
93 | else if (c->x86_vendor == X86_VENDOR_INTEL) { | ||
94 | /* | ||
95 | * Today all CPUs that support C3 share cache. | ||
96 | * TBD: This needs to look at cache shared map, once | ||
97 | * multi-core detection patch makes to the base. | ||
98 | */ | ||
99 | flags->bm_check = 1; | ||
100 | } | ||
101 | } | ||
102 | |||
103 | EXPORT_SYMBOL(acpi_processor_power_init_bm_check); | ||
diff --git a/arch/i386/kernel/acpi/wakeup.S b/arch/i386/kernel/acpi/wakeup.S index 39d32484f6f5..44d886c745ec 100644 --- a/arch/i386/kernel/acpi/wakeup.S +++ b/arch/i386/kernel/acpi/wakeup.S | |||
@@ -74,8 +74,9 @@ wakeup_code: | |||
74 | movw %ax,%fs | 74 | movw %ax,%fs |
75 | movw $0x0e00 + 'i', %fs:(0x12) | 75 | movw $0x0e00 + 'i', %fs:(0x12) |
76 | 76 | ||
77 | # need a gdt | 77 | # need a gdt -- use lgdtl to force 32-bit operands, in case |
78 | lgdt real_save_gdt - wakeup_code | 78 | # the GDT is located past 16 megabytes. |
79 | lgdtl real_save_gdt - wakeup_code | ||
79 | 80 | ||
80 | movl real_save_cr0 - wakeup_code, %eax | 81 | movl real_save_cr0 - wakeup_code, %eax |
81 | movl %eax, %cr0 | 82 | movl %eax, %cr0 |
diff --git a/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c b/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c index 7dcbf70fc16f..327a55d4d1c6 100644 --- a/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c +++ b/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c | |||
@@ -375,7 +375,7 @@ static int centrino_cpu_init_acpi(struct cpufreq_policy *policy) | |||
375 | arg0.buffer.pointer = (u8 *) arg0_buf; | 375 | arg0.buffer.pointer = (u8 *) arg0_buf; |
376 | arg0_buf[0] = ACPI_PDC_REVISION_ID; | 376 | arg0_buf[0] = ACPI_PDC_REVISION_ID; |
377 | arg0_buf[1] = 1; | 377 | arg0_buf[1] = 1; |
378 | arg0_buf[2] = ACPI_PDC_EST_CAPABILITY_SMP | ACPI_PDC_EST_CAPABILITY_MSR; | 378 | arg0_buf[2] = ACPI_PDC_EST_CAPABILITY_SMP_MSR; |
379 | 379 | ||
380 | p.pdc = &arg_list; | 380 | p.pdc = &arg_list; |
381 | 381 | ||
diff --git a/arch/i386/kernel/syscall_table.S b/arch/i386/kernel/syscall_table.S index 3db9a04aec6e..468500a7e894 100644 --- a/arch/i386/kernel/syscall_table.S +++ b/arch/i386/kernel/syscall_table.S | |||
@@ -291,3 +291,6 @@ ENTRY(sys_call_table) | |||
291 | .long sys_keyctl | 291 | .long sys_keyctl |
292 | .long sys_ioprio_set | 292 | .long sys_ioprio_set |
293 | .long sys_ioprio_get /* 290 */ | 293 | .long sys_ioprio_get /* 290 */ |
294 | .long sys_inotify_init | ||
295 | .long sys_inotify_add_watch | ||
296 | .long sys_inotify_rm_watch | ||
diff --git a/arch/i386/mach-voyager/voyager_basic.c b/arch/i386/mach-voyager/voyager_basic.c index 3e439ce5e1b2..8680080a6a89 100644 --- a/arch/i386/mach-voyager/voyager_basic.c +++ b/arch/i386/mach-voyager/voyager_basic.c | |||
@@ -36,6 +36,7 @@ | |||
36 | * Power off function, if any | 36 | * Power off function, if any |
37 | */ | 37 | */ |
38 | void (*pm_power_off)(void); | 38 | void (*pm_power_off)(void); |
39 | EXPORT_SYMBOL(pm_power_off); | ||
39 | 40 | ||
40 | int voyager_level = 0; | 41 | int voyager_level = 0; |
41 | 42 | ||
diff --git a/arch/i386/mach-voyager/voyager_smp.c b/arch/i386/mach-voyager/voyager_smp.c index 8c8527593da0..0e1f4208b07c 100644 --- a/arch/i386/mach-voyager/voyager_smp.c +++ b/arch/i386/mach-voyager/voyager_smp.c | |||
@@ -10,6 +10,7 @@ | |||
10 | * the voyager hal to provide the functionality | 10 | * the voyager hal to provide the functionality |
11 | */ | 11 | */ |
12 | #include <linux/config.h> | 12 | #include <linux/config.h> |
13 | #include <linux/module.h> | ||
13 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
14 | #include <linux/kernel_stat.h> | 15 | #include <linux/kernel_stat.h> |
15 | #include <linux/delay.h> | 16 | #include <linux/delay.h> |
@@ -40,6 +41,7 @@ static unsigned long cpu_irq_affinity[NR_CPUS] __cacheline_aligned = { [0 ... NR | |||
40 | /* per CPU data structure (for /proc/cpuinfo et al), visible externally | 41 | /* per CPU data structure (for /proc/cpuinfo et al), visible externally |
41 | * indexed physically */ | 42 | * indexed physically */ |
42 | struct cpuinfo_x86 cpu_data[NR_CPUS] __cacheline_aligned; | 43 | struct cpuinfo_x86 cpu_data[NR_CPUS] __cacheline_aligned; |
44 | EXPORT_SYMBOL(cpu_data); | ||
43 | 45 | ||
44 | /* physical ID of the CPU used to boot the system */ | 46 | /* physical ID of the CPU used to boot the system */ |
45 | unsigned char boot_cpu_id; | 47 | unsigned char boot_cpu_id; |
@@ -72,6 +74,7 @@ static volatile unsigned long smp_invalidate_needed; | |||
72 | /* Bitmask of currently online CPUs - used by setup.c for | 74 | /* Bitmask of currently online CPUs - used by setup.c for |
73 | /proc/cpuinfo, visible externally but still physical */ | 75 | /proc/cpuinfo, visible externally but still physical */ |
74 | cpumask_t cpu_online_map = CPU_MASK_NONE; | 76 | cpumask_t cpu_online_map = CPU_MASK_NONE; |
77 | EXPORT_SYMBOL(cpu_online_map); | ||
75 | 78 | ||
76 | /* Bitmask of CPUs present in the system - exported by i386_syms.c, used | 79 | /* Bitmask of CPUs present in the system - exported by i386_syms.c, used |
77 | * by scheduler but indexed physically */ | 80 | * by scheduler but indexed physically */ |
@@ -238,6 +241,7 @@ static cpumask_t smp_commenced_mask = CPU_MASK_NONE; | |||
238 | /* This is for the new dynamic CPU boot code */ | 241 | /* This is for the new dynamic CPU boot code */ |
239 | cpumask_t cpu_callin_map = CPU_MASK_NONE; | 242 | cpumask_t cpu_callin_map = CPU_MASK_NONE; |
240 | cpumask_t cpu_callout_map = CPU_MASK_NONE; | 243 | cpumask_t cpu_callout_map = CPU_MASK_NONE; |
244 | EXPORT_SYMBOL(cpu_callout_map); | ||
241 | 245 | ||
242 | /* The per processor IRQ masks (these are usually kept in sync) */ | 246 | /* The per processor IRQ masks (these are usually kept in sync) */ |
243 | static __u16 vic_irq_mask[NR_CPUS] __cacheline_aligned; | 247 | static __u16 vic_irq_mask[NR_CPUS] __cacheline_aligned; |
@@ -978,6 +982,7 @@ void flush_tlb_page(struct vm_area_struct * vma, unsigned long va) | |||
978 | 982 | ||
979 | preempt_enable(); | 983 | preempt_enable(); |
980 | } | 984 | } |
985 | EXPORT_SYMBOL(flush_tlb_page); | ||
981 | 986 | ||
982 | /* enable the requested IRQs */ | 987 | /* enable the requested IRQs */ |
983 | static void | 988 | static void |
@@ -1109,6 +1114,7 @@ smp_call_function (void (*func) (void *info), void *info, int retry, | |||
1109 | 1114 | ||
1110 | return 0; | 1115 | return 0; |
1111 | } | 1116 | } |
1117 | EXPORT_SYMBOL(smp_call_function); | ||
1112 | 1118 | ||
1113 | /* Sorry about the name. In an APIC based system, the APICs | 1119 | /* Sorry about the name. In an APIC based system, the APICs |
1114 | * themselves are programmed to send a timer interrupt. This is used | 1120 | * themselves are programmed to send a timer interrupt. This is used |
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c index 78ca1ecbb907..766b104ac1a1 100644 --- a/arch/i386/pci/irq.c +++ b/arch/i386/pci/irq.c | |||
@@ -1051,24 +1051,28 @@ static int __init pcibios_irq_init(void) | |||
1051 | subsys_initcall(pcibios_irq_init); | 1051 | subsys_initcall(pcibios_irq_init); |
1052 | 1052 | ||
1053 | 1053 | ||
1054 | static void pirq_penalize_isa_irq(int irq) | 1054 | static void pirq_penalize_isa_irq(int irq, int active) |
1055 | { | 1055 | { |
1056 | /* | 1056 | /* |
1057 | * If any ISAPnP device reports an IRQ in its list of possible | 1057 | * If any ISAPnP device reports an IRQ in its list of possible |
1058 | * IRQ's, we try to avoid assigning it to PCI devices. | 1058 | * IRQ's, we try to avoid assigning it to PCI devices. |
1059 | */ | 1059 | */ |
1060 | if (irq < 16) | 1060 | if (irq < 16) { |
1061 | pirq_penalty[irq] += 100; | 1061 | if (active) |
1062 | pirq_penalty[irq] += 1000; | ||
1063 | else | ||
1064 | pirq_penalty[irq] += 100; | ||
1065 | } | ||
1062 | } | 1066 | } |
1063 | 1067 | ||
1064 | void pcibios_penalize_isa_irq(int irq) | 1068 | void pcibios_penalize_isa_irq(int irq, int active) |
1065 | { | 1069 | { |
1066 | #ifdef CONFIG_ACPI_PCI | 1070 | #ifdef CONFIG_ACPI_PCI |
1067 | if (!acpi_noirq) | 1071 | if (!acpi_noirq) |
1068 | acpi_penalize_isa_irq(irq); | 1072 | acpi_penalize_isa_irq(irq, active); |
1069 | else | 1073 | else |
1070 | #endif | 1074 | #endif |
1071 | pirq_penalize_isa_irq(irq); | 1075 | pirq_penalize_isa_irq(irq, active); |
1072 | } | 1076 | } |
1073 | 1077 | ||
1074 | static int pirq_enable_irq(struct pci_dev *dev) | 1078 | static int pirq_enable_irq(struct pci_dev *dev) |
diff --git a/arch/i386/pci/visws.c b/arch/i386/pci/visws.c index 6a9248784439..314c933b6b8e 100644 --- a/arch/i386/pci/visws.c +++ b/arch/i386/pci/visws.c | |||
@@ -21,7 +21,7 @@ static int pci_visws_enable_irq(struct pci_dev *dev) { return 0; } | |||
21 | 21 | ||
22 | int (*pcibios_enable_irq)(struct pci_dev *dev) = &pci_visws_enable_irq; | 22 | int (*pcibios_enable_irq)(struct pci_dev *dev) = &pci_visws_enable_irq; |
23 | 23 | ||
24 | void __init pcibios_penalize_isa_irq(int irq) {} | 24 | void __init pcibios_penalize_isa_irq(int irq, int active) {} |
25 | 25 | ||
26 | 26 | ||
27 | unsigned int pci_bus0, pci_bus1; | 27 | unsigned int pci_bus0, pci_bus1; |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index bfdd062dd827..cbb3e0cef93a 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -416,6 +416,8 @@ endmenu | |||
416 | 416 | ||
417 | endif | 417 | endif |
418 | 418 | ||
419 | source "net/Kconfig" | ||
420 | |||
419 | source "drivers/Kconfig" | 421 | source "drivers/Kconfig" |
420 | 422 | ||
421 | source "fs/Kconfig" | 423 | source "fs/Kconfig" |
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index 542256e98e60..9609f243e5d0 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c | |||
@@ -11,6 +11,7 @@ | |||
11 | * Copyright (C) 2001 Jenna Hall <jenna.s.hall@intel.com> | 11 | * Copyright (C) 2001 Jenna Hall <jenna.s.hall@intel.com> |
12 | * Copyright (C) 2001 Takayoshi Kochi <t-kochi@bq.jp.nec.com> | 12 | * Copyright (C) 2001 Takayoshi Kochi <t-kochi@bq.jp.nec.com> |
13 | * Copyright (C) 2002 Erich Focht <efocht@ess.nec.de> | 13 | * Copyright (C) 2002 Erich Focht <efocht@ess.nec.de> |
14 | * Copyright (C) 2004 Ashok Raj <ashok.raj@intel.com> | ||
14 | * | 15 | * |
15 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 16 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
16 | * | 17 | * |
@@ -67,6 +68,11 @@ EXPORT_SYMBOL(pm_power_off); | |||
67 | unsigned char acpi_kbd_controller_present = 1; | 68 | unsigned char acpi_kbd_controller_present = 1; |
68 | unsigned char acpi_legacy_devices; | 69 | unsigned char acpi_legacy_devices; |
69 | 70 | ||
71 | static unsigned int __initdata acpi_madt_rev; | ||
72 | |||
73 | unsigned int acpi_cpei_override; | ||
74 | unsigned int acpi_cpei_phys_cpuid; | ||
75 | |||
70 | #define MAX_SAPICS 256 | 76 | #define MAX_SAPICS 256 |
71 | u16 ia64_acpiid_to_sapicid[MAX_SAPICS] = | 77 | u16 ia64_acpiid_to_sapicid[MAX_SAPICS] = |
72 | { [0 ... MAX_SAPICS - 1] = -1 }; | 78 | { [0 ... MAX_SAPICS - 1] = -1 }; |
@@ -265,10 +271,56 @@ acpi_parse_plat_int_src ( | |||
265 | (plintsrc->flags.trigger == 1) ? IOSAPIC_EDGE : IOSAPIC_LEVEL); | 271 | (plintsrc->flags.trigger == 1) ? IOSAPIC_EDGE : IOSAPIC_LEVEL); |
266 | 272 | ||
267 | platform_intr_list[plintsrc->type] = vector; | 273 | platform_intr_list[plintsrc->type] = vector; |
274 | if (acpi_madt_rev > 1) { | ||
275 | acpi_cpei_override = plintsrc->plint_flags.cpei_override_flag; | ||
276 | } | ||
277 | |||
278 | /* | ||
279 | * Save the physical id, so we can check when its being removed | ||
280 | */ | ||
281 | acpi_cpei_phys_cpuid = ((plintsrc->id << 8) | (plintsrc->eid)) & 0xffff; | ||
282 | |||
268 | return 0; | 283 | return 0; |
269 | } | 284 | } |
270 | 285 | ||
271 | 286 | ||
287 | unsigned int can_cpei_retarget(void) | ||
288 | { | ||
289 | extern int cpe_vector; | ||
290 | |||
291 | /* | ||
292 | * Only if CPEI is supported and the override flag | ||
293 | * is present, otherwise return that its re-targettable | ||
294 | * if we are in polling mode. | ||
295 | */ | ||
296 | if (cpe_vector > 0 && !acpi_cpei_override) | ||
297 | return 0; | ||
298 | else | ||
299 | return 1; | ||
300 | } | ||
301 | |||
302 | unsigned int is_cpu_cpei_target(unsigned int cpu) | ||
303 | { | ||
304 | unsigned int logical_id; | ||
305 | |||
306 | logical_id = cpu_logical_id(acpi_cpei_phys_cpuid); | ||
307 | |||
308 | if (logical_id == cpu) | ||
309 | return 1; | ||
310 | else | ||
311 | return 0; | ||
312 | } | ||
313 | |||
314 | void set_cpei_target_cpu(unsigned int cpu) | ||
315 | { | ||
316 | acpi_cpei_phys_cpuid = cpu_physical_id(cpu); | ||
317 | } | ||
318 | |||
319 | unsigned int get_cpei_target_cpu(void) | ||
320 | { | ||
321 | return acpi_cpei_phys_cpuid; | ||
322 | } | ||
323 | |||
272 | static int __init | 324 | static int __init |
273 | acpi_parse_int_src_ovr ( | 325 | acpi_parse_int_src_ovr ( |
274 | acpi_table_entry_header *header, const unsigned long end) | 326 | acpi_table_entry_header *header, const unsigned long end) |
@@ -326,6 +378,8 @@ acpi_parse_madt (unsigned long phys_addr, unsigned long size) | |||
326 | 378 | ||
327 | acpi_madt = (struct acpi_table_madt *) __va(phys_addr); | 379 | acpi_madt = (struct acpi_table_madt *) __va(phys_addr); |
328 | 380 | ||
381 | acpi_madt_rev = acpi_madt->header.revision; | ||
382 | |||
329 | /* remember the value for reference after free_initmem() */ | 383 | /* remember the value for reference after free_initmem() */ |
330 | #ifdef CONFIG_ITANIUM | 384 | #ifdef CONFIG_ITANIUM |
331 | has_8259 = 1; /* Firmware on old Itanium systems is broken */ | 385 | has_8259 = 1; /* Firmware on old Itanium systems is broken */ |
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c index 736e328b5e61..4ebbf3974381 100644 --- a/arch/ia64/kernel/mca.c +++ b/arch/ia64/kernel/mca.c | |||
@@ -271,7 +271,7 @@ ia64_mca_log_sal_error_record(int sal_info_type) | |||
271 | 271 | ||
272 | #ifdef CONFIG_ACPI | 272 | #ifdef CONFIG_ACPI |
273 | 273 | ||
274 | static int cpe_vector = -1; | 274 | int cpe_vector = -1; |
275 | 275 | ||
276 | static irqreturn_t | 276 | static irqreturn_t |
277 | ia64_mca_cpe_int_handler (int cpe_irq, void *arg, struct pt_regs *ptregs) | 277 | ia64_mca_cpe_int_handler (int cpe_irq, void *arg, struct pt_regs *ptregs) |
diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c index 6e35bff05d59..e484910246ad 100644 --- a/arch/ia64/kernel/process.c +++ b/arch/ia64/kernel/process.c | |||
@@ -196,6 +196,7 @@ update_pal_halt_status(int status) | |||
196 | void | 196 | void |
197 | default_idle (void) | 197 | default_idle (void) |
198 | { | 198 | { |
199 | local_irq_enable(); | ||
199 | while (!need_resched()) | 200 | while (!need_resched()) |
200 | if (can_do_pal_halt) | 201 | if (can_do_pal_halt) |
201 | safe_halt(); | 202 | safe_halt(); |
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index 7fc891aca446..84f89da7c640 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -41,6 +41,8 @@ | |||
41 | #include <linux/serial_core.h> | 41 | #include <linux/serial_core.h> |
42 | #include <linux/efi.h> | 42 | #include <linux/efi.h> |
43 | #include <linux/initrd.h> | 43 | #include <linux/initrd.h> |
44 | #include <linux/platform.h> | ||
45 | #include <linux/pm.h> | ||
44 | 46 | ||
45 | #include <asm/ia32.h> | 47 | #include <asm/ia32.h> |
46 | #include <asm/machvec.h> | 48 | #include <asm/machvec.h> |
@@ -816,6 +818,7 @@ cpu_init (void) | |||
816 | /* size of physical stacked register partition plus 8 bytes: */ | 818 | /* size of physical stacked register partition plus 8 bytes: */ |
817 | __get_cpu_var(ia64_phys_stacked_size_p8) = num_phys_stacked*8 + 8; | 819 | __get_cpu_var(ia64_phys_stacked_size_p8) = num_phys_stacked*8 + 8; |
818 | platform_cpu_init(); | 820 | platform_cpu_init(); |
821 | pm_idle = default_idle; | ||
819 | } | 822 | } |
820 | 823 | ||
821 | void | 824 | void |
diff --git a/arch/ia64/kernel/topology.c b/arch/ia64/kernel/topology.c index f1aafd4c05f9..d8030f3bd865 100644 --- a/arch/ia64/kernel/topology.c +++ b/arch/ia64/kernel/topology.c | |||
@@ -36,6 +36,13 @@ int arch_register_cpu(int num) | |||
36 | parent = &sysfs_nodes[cpu_to_node(num)]; | 36 | parent = &sysfs_nodes[cpu_to_node(num)]; |
37 | #endif /* CONFIG_NUMA */ | 37 | #endif /* CONFIG_NUMA */ |
38 | 38 | ||
39 | /* | ||
40 | * If CPEI cannot be re-targetted, and this is | ||
41 | * CPEI target, then dont create the control file | ||
42 | */ | ||
43 | if (!can_cpei_retarget() && is_cpu_cpei_target(num)) | ||
44 | sysfs_cpus[num].cpu.no_control = 1; | ||
45 | |||
39 | return register_cpu(&sysfs_cpus[num].cpu, num, parent); | 46 | return register_cpu(&sysfs_cpus[num].cpu, num, parent); |
40 | } | 47 | } |
41 | 48 | ||
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig index 42ca8a39798d..7772951df313 100644 --- a/arch/m32r/Kconfig +++ b/arch/m32r/Kconfig | |||
@@ -359,6 +359,8 @@ source "fs/Kconfig.binfmt" | |||
359 | 359 | ||
360 | endmenu | 360 | endmenu |
361 | 361 | ||
362 | source "net/Kconfig" | ||
363 | |||
362 | source "drivers/Kconfig" | 364 | source "drivers/Kconfig" |
363 | 365 | ||
364 | source "fs/Kconfig" | 366 | source "fs/Kconfig" |
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 691a2469ff36..178c4a3fbb72 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig | |||
@@ -450,6 +450,8 @@ source "drivers/zorro/Kconfig" | |||
450 | 450 | ||
451 | endmenu | 451 | endmenu |
452 | 452 | ||
453 | source "net/Kconfig" | ||
454 | |||
453 | source "drivers/Kconfig" | 455 | source "drivers/Kconfig" |
454 | 456 | ||
455 | menu "Character devices" | 457 | menu "Character devices" |
diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig index dbfcdc8e6087..117f183f0b43 100644 --- a/arch/m68knommu/Kconfig +++ b/arch/m68knommu/Kconfig | |||
@@ -575,6 +575,8 @@ config PM | |||
575 | 575 | ||
576 | endmenu | 576 | endmenu |
577 | 577 | ||
578 | source "net/Kconfig" | ||
579 | |||
578 | source "drivers/Kconfig" | 580 | source "drivers/Kconfig" |
579 | 581 | ||
580 | source "fs/Kconfig" | 582 | source "fs/Kconfig" |
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index bd9de7b00c0a..b578239146b5 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -1640,6 +1640,8 @@ config PM | |||
1640 | 1640 | ||
1641 | endmenu | 1641 | endmenu |
1642 | 1642 | ||
1643 | source "net/Kconfig" | ||
1644 | |||
1643 | source "drivers/Kconfig" | 1645 | source "drivers/Kconfig" |
1644 | 1646 | ||
1645 | source "fs/Kconfig" | 1647 | source "fs/Kconfig" |
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index ce327c799b44..1c2d87435233 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig | |||
@@ -190,6 +190,8 @@ source "fs/Kconfig.binfmt" | |||
190 | 190 | ||
191 | endmenu | 191 | endmenu |
192 | 192 | ||
193 | source "net/Kconfig" | ||
194 | |||
193 | source "drivers/Kconfig" | 195 | source "drivers/Kconfig" |
194 | 196 | ||
195 | source "fs/Kconfig" | 197 | source "fs/Kconfig" |
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig index 23b0d2f662c5..b833cbcd77f0 100644 --- a/arch/ppc/Kconfig +++ b/arch/ppc/Kconfig | |||
@@ -1355,6 +1355,8 @@ config PIN_TLB | |||
1355 | depends on ADVANCED_OPTIONS && 8xx | 1355 | depends on ADVANCED_OPTIONS && 8xx |
1356 | endmenu | 1356 | endmenu |
1357 | 1357 | ||
1358 | source "net/Kconfig" | ||
1359 | |||
1358 | source "drivers/Kconfig" | 1360 | source "drivers/Kconfig" |
1359 | 1361 | ||
1360 | source "fs/Kconfig" | 1362 | source "fs/Kconfig" |
diff --git a/arch/ppc/kernel/machine_kexec.c b/arch/ppc/kernel/machine_kexec.c index 84d65a87191e..a72787747df7 100644 --- a/arch/ppc/kernel/machine_kexec.c +++ b/arch/ppc/kernel/machine_kexec.c | |||
@@ -28,6 +28,12 @@ typedef NORET_TYPE void (*relocate_new_kernel_t)( | |||
28 | const extern unsigned char relocate_new_kernel[]; | 28 | const extern unsigned char relocate_new_kernel[]; |
29 | const extern unsigned int relocate_new_kernel_size; | 29 | const extern unsigned int relocate_new_kernel_size; |
30 | 30 | ||
31 | /* | ||
32 | * Provide a dummy crash_notes definition while crash dump arrives to ppc. | ||
33 | * This prevents breakage of crash_notes attribute in kernel/ksysfs.c. | ||
34 | */ | ||
35 | void *crash_notes = NULL; | ||
36 | |||
31 | void machine_shutdown(void) | 37 | void machine_shutdown(void) |
32 | { | 38 | { |
33 | if (ppc_md.machine_shutdown) | 39 | if (ppc_md.machine_shutdown) |
diff --git a/arch/ppc64/Kconfig b/arch/ppc64/Kconfig index f804f25232ac..fdd8afba7152 100644 --- a/arch/ppc64/Kconfig +++ b/arch/ppc64/Kconfig | |||
@@ -429,6 +429,8 @@ config CMDLINE | |||
429 | 429 | ||
430 | endmenu | 430 | endmenu |
431 | 431 | ||
432 | source "net/Kconfig" | ||
433 | |||
432 | source "drivers/Kconfig" | 434 | source "drivers/Kconfig" |
433 | 435 | ||
434 | source "fs/Kconfig" | 436 | source "fs/Kconfig" |
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 6600ee87f896..477ac2758bd5 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
@@ -465,6 +465,8 @@ config KEXEC | |||
465 | 465 | ||
466 | endmenu | 466 | endmenu |
467 | 467 | ||
468 | source "net/Kconfig" | ||
469 | |||
468 | config PCMCIA | 470 | config PCMCIA |
469 | bool | 471 | bool |
470 | default n | 472 | default n |
@@ -475,7 +477,7 @@ source "drivers/scsi/Kconfig" | |||
475 | 477 | ||
476 | source "drivers/s390/Kconfig" | 478 | source "drivers/s390/Kconfig" |
477 | 479 | ||
478 | source "net/Kconfig" | 480 | source "drivers/net/Kconfig" |
479 | 481 | ||
480 | source "fs/Kconfig" | 482 | source "fs/Kconfig" |
481 | 483 | ||
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index a7c8bfc11604..adc8109f8b77 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -784,6 +784,8 @@ config EMBEDDED_RAMDISK_IMAGE | |||
784 | 784 | ||
785 | endmenu | 785 | endmenu |
786 | 786 | ||
787 | source "net/Kconfig" | ||
788 | |||
787 | source "drivers/Kconfig" | 789 | source "drivers/Kconfig" |
788 | 790 | ||
789 | source "fs/Kconfig" | 791 | source "fs/Kconfig" |
diff --git a/arch/sh64/Kconfig b/arch/sh64/Kconfig index 708e59736a4d..4c3e5334adb3 100644 --- a/arch/sh64/Kconfig +++ b/arch/sh64/Kconfig | |||
@@ -268,6 +268,8 @@ source "fs/Kconfig.binfmt" | |||
268 | 268 | ||
269 | endmenu | 269 | endmenu |
270 | 270 | ||
271 | source "net/Kconfig" | ||
272 | |||
271 | source "drivers/Kconfig" | 273 | source "drivers/Kconfig" |
272 | 274 | ||
273 | source "fs/Kconfig" | 275 | source "fs/Kconfig" |
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 7a117ef473c5..aca028aa29bf 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
@@ -268,6 +268,8 @@ source "mm/Kconfig" | |||
268 | 268 | ||
269 | endmenu | 269 | endmenu |
270 | 270 | ||
271 | source "net/Kconfig" | ||
272 | |||
271 | source "drivers/Kconfig" | 273 | source "drivers/Kconfig" |
272 | 274 | ||
273 | if !SUN4 | 275 | if !SUN4 |
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index 6a4733683f0f..9afd28e2c4d5 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig | |||
@@ -525,6 +525,8 @@ source "mm/Kconfig" | |||
525 | 525 | ||
526 | endmenu | 526 | endmenu |
527 | 527 | ||
528 | source "net/Kconfig" | ||
529 | |||
528 | source "drivers/base/Kconfig" | 530 | source "drivers/base/Kconfig" |
529 | 531 | ||
530 | source "drivers/video/Kconfig" | 532 | source "drivers/video/Kconfig" |
@@ -551,7 +553,7 @@ endif | |||
551 | 553 | ||
552 | source "drivers/ieee1394/Kconfig" | 554 | source "drivers/ieee1394/Kconfig" |
553 | 555 | ||
554 | source "net/Kconfig" | 556 | source "drivers/net/Kconfig" |
555 | 557 | ||
556 | source "drivers/isdn/Kconfig" | 558 | source "drivers/isdn/Kconfig" |
557 | 559 | ||
@@ -647,6 +649,8 @@ source "drivers/input/Kconfig" | |||
647 | 649 | ||
648 | source "drivers/i2c/Kconfig" | 650 | source "drivers/i2c/Kconfig" |
649 | 651 | ||
652 | source "drivers/hwmon/Kconfig" | ||
653 | |||
650 | source "fs/Kconfig" | 654 | source "fs/Kconfig" |
651 | 655 | ||
652 | source "drivers/media/Kconfig" | 656 | source "drivers/media/Kconfig" |
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index 441fc2e52ce6..7e8e2919e186 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c | |||
@@ -45,8 +45,8 @@ extern void calibrate_delay(void); | |||
45 | /* Please don't make this stuff initdata!!! --DaveM */ | 45 | /* Please don't make this stuff initdata!!! --DaveM */ |
46 | static unsigned char boot_cpu_id; | 46 | static unsigned char boot_cpu_id; |
47 | 47 | ||
48 | cpumask_t cpu_online_map = CPU_MASK_NONE __read_mostly; | 48 | cpumask_t cpu_online_map __read_mostly = CPU_MASK_NONE; |
49 | cpumask_t phys_cpu_present_map = CPU_MASK_NONE __read_mostly; | 49 | cpumask_t phys_cpu_present_map __read_mostly = CPU_MASK_NONE; |
50 | static cpumask_t smp_commenced_mask; | 50 | static cpumask_t smp_commenced_mask; |
51 | static cpumask_t cpu_callout_map; | 51 | static cpumask_t cpu_callout_map; |
52 | 52 | ||
diff --git a/arch/um/Kconfig b/arch/um/Kconfig index 6682c7883647..f945444df49c 100644 --- a/arch/um/Kconfig +++ b/arch/um/Kconfig | |||
@@ -275,6 +275,8 @@ endmenu | |||
275 | 275 | ||
276 | source "init/Kconfig" | 276 | source "init/Kconfig" |
277 | 277 | ||
278 | source "net/Kconfig" | ||
279 | |||
278 | source "drivers/base/Kconfig" | 280 | source "drivers/base/Kconfig" |
279 | 281 | ||
280 | source "arch/um/Kconfig_char" | 282 | source "arch/um/Kconfig_char" |
@@ -287,7 +289,7 @@ config NETDEVICES | |||
287 | 289 | ||
288 | source "arch/um/Kconfig_net" | 290 | source "arch/um/Kconfig_net" |
289 | 291 | ||
290 | source "net/Kconfig" | 292 | source "drivers/net/Kconfig" |
291 | 293 | ||
292 | source "fs/Kconfig" | 294 | source "fs/Kconfig" |
293 | 295 | ||
diff --git a/arch/um/Makefile b/arch/um/Makefile index 3f073902351f..4a375bbac109 100644 --- a/arch/um/Makefile +++ b/arch/um/Makefile | |||
@@ -140,7 +140,8 @@ endef | |||
140 | #When cleaning we don't include .config, so we don't include | 140 | #When cleaning we don't include .config, so we don't include |
141 | #TT or skas makefiles and don't clean skas_ptregs.h. | 141 | #TT or skas makefiles and don't clean skas_ptregs.h. |
142 | CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/uml-config.h \ | 142 | CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/uml-config.h \ |
143 | $(GEN_HEADERS) $(ARCH_DIR)/include/skas_ptregs.h | 143 | $(GEN_HEADERS) $(ARCH_DIR)/include/skas_ptregs.h \ |
144 | $(ARCH_DIR)/include/user_constants.h | ||
144 | 145 | ||
145 | MRPROPER_FILES += $(SYMLINK_HEADERS) $(ARCH_SYMLINKS) \ | 146 | MRPROPER_FILES += $(SYMLINK_HEADERS) $(ARCH_SYMLINKS) \ |
146 | $(addprefix $(ARCH_DIR)/kernel/,$(KERN_SYMLINKS)) $(ARCH_DIR)/os \ | 147 | $(addprefix $(ARCH_DIR)/kernel/,$(KERN_SYMLINKS)) $(ARCH_DIR)/os \ |
diff --git a/arch/v850/Kconfig b/arch/v850/Kconfig index 27febd6ffa80..89c053b6c2c4 100644 --- a/arch/v850/Kconfig +++ b/arch/v850/Kconfig | |||
@@ -250,6 +250,8 @@ source "fs/Kconfig.binfmt" | |||
250 | 250 | ||
251 | endmenu | 251 | endmenu |
252 | 252 | ||
253 | source "net/Kconfig" | ||
254 | |||
253 | ############################################################################# | 255 | ############################################################################# |
254 | 256 | ||
255 | source "drivers/base/Kconfig" | 257 | source "drivers/base/Kconfig" |
@@ -283,7 +285,7 @@ source "drivers/ieee1394/Kconfig" | |||
283 | 285 | ||
284 | source "drivers/message/i2o/Kconfig" | 286 | source "drivers/message/i2o/Kconfig" |
285 | 287 | ||
286 | source "net/Kconfig" | 288 | source "drivers/net/Kconfig" |
287 | 289 | ||
288 | source "drivers/isdn/Kconfig" | 290 | source "drivers/isdn/Kconfig" |
289 | 291 | ||
diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig index d09437b5c48f..4b8326177c52 100644 --- a/arch/x86_64/Kconfig +++ b/arch/x86_64/Kconfig | |||
@@ -515,6 +515,8 @@ config UID16 | |||
515 | 515 | ||
516 | endmenu | 516 | endmenu |
517 | 517 | ||
518 | source "net/Kconfig" | ||
519 | |||
518 | source drivers/Kconfig | 520 | source drivers/Kconfig |
519 | 521 | ||
520 | source "drivers/firmware/Kconfig" | 522 | source "drivers/firmware/Kconfig" |
diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S index 61c12758ca70..2a94f9b60b2d 100644 --- a/arch/x86_64/kernel/vmlinux.lds.S +++ b/arch/x86_64/kernel/vmlinux.lds.S | |||
@@ -62,8 +62,8 @@ SECTIONS | |||
62 | } | 62 | } |
63 | 63 | ||
64 | #define VSYSCALL_ADDR (-10*1024*1024) | 64 | #define VSYSCALL_ADDR (-10*1024*1024) |
65 | #define VSYSCALL_PHYS_ADDR ((LOADADDR(.data.cacheline_aligned) + SIZEOF(.data.cacheline_aligned) + 4095) & ~(4095)) | 65 | #define VSYSCALL_PHYS_ADDR ((LOADADDR(.data.read_mostly) + SIZEOF(.data.read_mostly) + 4095) & ~(4095)) |
66 | #define VSYSCALL_VIRT_ADDR ((ADDR(.data.cacheline_aligned) + SIZEOF(.data.cacheline_aligned) + 4095) & ~(4095)) | 66 | #define VSYSCALL_VIRT_ADDR ((ADDR(.data.read_mostly) + SIZEOF(.data.read_mostly) + 4095) & ~(4095)) |
67 | 67 | ||
68 | #define VLOAD_OFFSET (VSYSCALL_ADDR - VSYSCALL_PHYS_ADDR) | 68 | #define VLOAD_OFFSET (VSYSCALL_ADDR - VSYSCALL_PHYS_ADDR) |
69 | #define VLOAD(x) (ADDR(x) - VLOAD_OFFSET) | 69 | #define VLOAD(x) (ADDR(x) - VLOAD_OFFSET) |
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index c9b5d298e3c4..2b6257bec4c3 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig | |||
@@ -228,6 +228,8 @@ source "fs/Kconfig.binfmt" | |||
228 | 228 | ||
229 | endmenu | 229 | endmenu |
230 | 230 | ||
231 | source "net/Kconfig" | ||
232 | |||
231 | source "drivers/Kconfig" | 233 | source "drivers/Kconfig" |
232 | 234 | ||
233 | source "fs/Kconfig" | 235 | source "fs/Kconfig" |
diff --git a/arch/xtensa/kernel/asm-offsets.c b/arch/xtensa/kernel/asm-offsets.c index 840cd9a1d3d2..7cd1d7f8f608 100644 --- a/arch/xtensa/kernel/asm-offsets.c +++ b/arch/xtensa/kernel/asm-offsets.c | |||
@@ -15,7 +15,6 @@ | |||
15 | #include <asm/processor.h> | 15 | #include <asm/processor.h> |
16 | 16 | ||
17 | #include <linux/types.h> | 17 | #include <linux/types.h> |
18 | #include <linux/sched.h> | ||
19 | #include <linux/stddef.h> | 18 | #include <linux/stddef.h> |
20 | #include <linux/thread_info.h> | 19 | #include <linux/thread_info.h> |
21 | #include <linux/ptrace.h> | 20 | #include <linux/ptrace.h> |
diff --git a/arch/xtensa/kernel/syscalls.c b/arch/xtensa/kernel/syscalls.c index 7270509c44de..f20c6494c518 100644 --- a/arch/xtensa/kernel/syscalls.c +++ b/arch/xtensa/kernel/syscalls.c | |||
@@ -69,8 +69,8 @@ int sys_pipe(int __user *userfds) | |||
69 | /* | 69 | /* |
70 | * Common code for old and new mmaps. | 70 | * Common code for old and new mmaps. |
71 | */ | 71 | */ |
72 | long sys_mmap2(unsigned long addr, unsigned long len, unsigned long prot, | 72 | long sys_mmap(unsigned long addr, unsigned long len, unsigned long prot, |
73 | unsigned long flags, unsigned long fd, unsigned long pgoff) | 73 | unsigned long flags, unsigned long fd, unsigned long pgoff) |
74 | { | 74 | { |
75 | int error = -EBADF; | 75 | int error = -EBADF; |
76 | struct file * file = NULL; | 76 | struct file * file = NULL; |
diff --git a/arch/xtensa/kernel/syscalls.h b/arch/xtensa/kernel/syscalls.h index 07580696b602..216c10a31501 100644 --- a/arch/xtensa/kernel/syscalls.h +++ b/arch/xtensa/kernel/syscalls.h | |||
@@ -42,7 +42,7 @@ SYSCALL(sys_mknod, 3) | |||
42 | SYSCALL(sys_chmod, 2) /* 15 */ | 42 | SYSCALL(sys_chmod, 2) /* 15 */ |
43 | SYSCALL(sys_lchown, 3) | 43 | SYSCALL(sys_lchown, 3) |
44 | SYSCALL(sys_ni_syscall, 0) | 44 | SYSCALL(sys_ni_syscall, 0) |
45 | SYSCALL(sys_stat, 2) | 45 | SYSCALL(sys_newstat, 2) |
46 | SYSCALL(sys_lseek, 3) | 46 | SYSCALL(sys_lseek, 3) |
47 | SYSCALL(sys_getpid, 0) /* 20 */ | 47 | SYSCALL(sys_getpid, 0) /* 20 */ |
48 | SYSCALL(sys_mount, 5) | 48 | SYSCALL(sys_mount, 5) |
@@ -52,7 +52,7 @@ SYSCALL(sys_getuid, 0) | |||
52 | SYSCALL(sys_ni_syscall, 1) /* 25 */ | 52 | SYSCALL(sys_ni_syscall, 1) /* 25 */ |
53 | SYSCALL(sys_ptrace, 4) | 53 | SYSCALL(sys_ptrace, 4) |
54 | SYSCALL(sys_ni_syscall, 1) | 54 | SYSCALL(sys_ni_syscall, 1) |
55 | SYSCALL(sys_fstat, 2) | 55 | SYSCALL(sys_newfstat, 2) |
56 | SYSCALL(sys_ni_syscall, 0) | 56 | SYSCALL(sys_ni_syscall, 0) |
57 | SYSCALL(sys_utime, 2) /* 30 */ | 57 | SYSCALL(sys_utime, 2) /* 30 */ |
58 | SYSCALL(sys_ni_syscall, 0) | 58 | SYSCALL(sys_ni_syscall, 0) |
@@ -108,7 +108,7 @@ SYSCALL(sys_getgroups, 2) /* 80 */ | |||
108 | SYSCALL(sys_setgroups, 2) | 108 | SYSCALL(sys_setgroups, 2) |
109 | SYSCALL(sys_ni_syscall, 0) | 109 | SYSCALL(sys_ni_syscall, 0) |
110 | SYSCALL(sys_symlink, 2) | 110 | SYSCALL(sys_symlink, 2) |
111 | SYSCALL(sys_lstat, 2) | 111 | SYSCALL(sys_newlstat, 2) |
112 | SYSCALL(sys_readlink, 3) /* 85 */ | 112 | SYSCALL(sys_readlink, 3) /* 85 */ |
113 | SYSCALL(sys_uselib, 1) | 113 | SYSCALL(sys_uselib, 1) |
114 | SYSCALL(sys_swapon, 2) | 114 | SYSCALL(sys_swapon, 2) |
diff --git a/arch/xtensa/kernel/traps.c b/arch/xtensa/kernel/traps.c index 804246e743b1..225d64d73f04 100644 --- a/arch/xtensa/kernel/traps.c +++ b/arch/xtensa/kernel/traps.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/module.h> | 29 | #include <linux/module.h> |
30 | #include <linux/stringify.h> | 30 | #include <linux/stringify.h> |
31 | #include <linux/kallsyms.h> | 31 | #include <linux/kallsyms.h> |
32 | #include <linux/delay.h> | ||
32 | 33 | ||
33 | #include <asm/ptrace.h> | 34 | #include <asm/ptrace.h> |
34 | #include <asm/timex.h> | 35 | #include <asm/timex.h> |
@@ -488,8 +489,7 @@ void die(const char * str, struct pt_regs * regs, long err) | |||
488 | 489 | ||
489 | if (panic_on_oops) { | 490 | if (panic_on_oops) { |
490 | printk(KERN_EMERG "Fatal exception: panic in 5 seconds\n"); | 491 | printk(KERN_EMERG "Fatal exception: panic in 5 seconds\n"); |
491 | set_current_state(TASK_UNINTERRUPTIBLE); | 492 | ssleep(5); |
492 | schedule_timeout(5 * HZ); | ||
493 | panic("Fatal exception"); | 493 | panic("Fatal exception"); |
494 | } | 494 | } |
495 | do_exit(err); | 495 | do_exit(err); |
diff --git a/arch/xtensa/kernel/vmlinux.lds.S b/arch/xtensa/kernel/vmlinux.lds.S index 476b2b53cd01..5ed71dfc8110 100644 --- a/arch/xtensa/kernel/vmlinux.lds.S +++ b/arch/xtensa/kernel/vmlinux.lds.S | |||
@@ -90,10 +90,10 @@ SECTIONS | |||
90 | *(.literal .text) | 90 | *(.literal .text) |
91 | *(.srom.text) | 91 | *(.srom.text) |
92 | VMLINUX_SYMBOL(__sched_text_start) = .; | 92 | VMLINUX_SYMBOL(__sched_text_start) = .; |
93 | *(.sched.text.literal .sched.text) | 93 | *(.sched.literal .sched.text) |
94 | VMLINUX_SYMBOL(__sched_text_end) = .; | 94 | VMLINUX_SYMBOL(__sched_text_end) = .; |
95 | VMLINUX_SYMBOL(__lock_text_start) = .; | 95 | VMLINUX_SYMBOL(__lock_text_start) = .; |
96 | *(.spinlock.text.literal .spinlock.text) | 96 | *(.spinlock.literal .spinlock.text) |
97 | VMLINUX_SYMBOL(__lock_text_end) = .; | 97 | VMLINUX_SYMBOL(__lock_text_end) = .; |
98 | 98 | ||
99 | } | 99 | } |
@@ -164,7 +164,7 @@ SECTIONS | |||
164 | __init_begin = .; | 164 | __init_begin = .; |
165 | .init.text : { | 165 | .init.text : { |
166 | _sinittext = .; | 166 | _sinittext = .; |
167 | *(.init.text.literal) *(.init.text) | 167 | *(.init.literal) *(.init.text) |
168 | _einittext = .; | 168 | _einittext = .; |
169 | } | 169 | } |
170 | 170 | ||