diff options
Diffstat (limited to 'arch')
27 files changed, 104 insertions, 53 deletions
diff --git a/arch/cris/arch-v32/kernel/smp.c b/arch/cris/arch-v32/kernel/smp.c index 2d0023f2d49b..77e655f26560 100644 --- a/arch/cris/arch-v32/kernel/smp.c +++ b/arch/cris/arch-v32/kernel/smp.c | |||
@@ -195,7 +195,7 @@ int setup_profiling_timer(unsigned int multiplier) | |||
195 | */ | 195 | */ |
196 | unsigned long cache_decay_ticks = 1; | 196 | unsigned long cache_decay_ticks = 1; |
197 | 197 | ||
198 | int __devinit __cpu_up(unsigned int cpu) | 198 | int __cpuinit __cpu_up(unsigned int cpu) |
199 | { | 199 | { |
200 | smp_boot_one_cpu(cpu); | 200 | smp_boot_one_cpu(cpu); |
201 | return cpu_online(cpu) ? 0 : -ENOSYS; | 201 | return cpu_online(cpu) ? 0 : -ENOSYS; |
diff --git a/arch/i386/defconfig b/arch/i386/defconfig index 88b7c1cf65a2..5d80edfc61b7 100644 --- a/arch/i386/defconfig +++ b/arch/i386/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.19-git14 | 3 | # Linux kernel version: 2.6.20-rc3 |
4 | # Sat Dec 9 21:23:14 2006 | 4 | # Fri Jan 5 11:54:46 2007 |
5 | # | 5 | # |
6 | CONFIG_X86_32=y | 6 | CONFIG_X86_32=y |
7 | CONFIG_GENERIC_TIME=y | 7 | CONFIG_GENERIC_TIME=y |
@@ -1287,6 +1287,11 @@ CONFIG_USB_MON=y | |||
1287 | # | 1287 | # |
1288 | 1288 | ||
1289 | # | 1289 | # |
1290 | # Virtualization | ||
1291 | # | ||
1292 | # CONFIG_KVM is not set | ||
1293 | |||
1294 | # | ||
1290 | # File systems | 1295 | # File systems |
1291 | # | 1296 | # |
1292 | CONFIG_EXT2_FS=y | 1297 | CONFIG_EXT2_FS=y |
@@ -1471,6 +1476,8 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y | |||
1471 | # CONFIG_ENABLE_MUST_CHECK is not set | 1476 | # CONFIG_ENABLE_MUST_CHECK is not set |
1472 | CONFIG_MAGIC_SYSRQ=y | 1477 | CONFIG_MAGIC_SYSRQ=y |
1473 | CONFIG_UNUSED_SYMBOLS=y | 1478 | CONFIG_UNUSED_SYMBOLS=y |
1479 | # CONFIG_DEBUG_FS is not set | ||
1480 | # CONFIG_HEADERS_CHECK is not set | ||
1474 | CONFIG_DEBUG_KERNEL=y | 1481 | CONFIG_DEBUG_KERNEL=y |
1475 | CONFIG_LOG_BUF_SHIFT=18 | 1482 | CONFIG_LOG_BUF_SHIFT=18 |
1476 | CONFIG_DETECT_SOFTLOCKUP=y | 1483 | CONFIG_DETECT_SOFTLOCKUP=y |
@@ -1489,12 +1496,10 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
1489 | # CONFIG_DEBUG_HIGHMEM is not set | 1496 | # CONFIG_DEBUG_HIGHMEM is not set |
1490 | CONFIG_DEBUG_BUGVERBOSE=y | 1497 | CONFIG_DEBUG_BUGVERBOSE=y |
1491 | # CONFIG_DEBUG_INFO is not set | 1498 | # CONFIG_DEBUG_INFO is not set |
1492 | # CONFIG_DEBUG_FS is not set | ||
1493 | # CONFIG_DEBUG_VM is not set | 1499 | # CONFIG_DEBUG_VM is not set |
1494 | # CONFIG_DEBUG_LIST is not set | 1500 | # CONFIG_DEBUG_LIST is not set |
1495 | # CONFIG_FRAME_POINTER is not set | 1501 | # CONFIG_FRAME_POINTER is not set |
1496 | # CONFIG_FORCED_INLINING is not set | 1502 | # CONFIG_FORCED_INLINING is not set |
1497 | # CONFIG_HEADERS_CHECK is not set | ||
1498 | # CONFIG_RCU_TORTURE_TEST is not set | 1503 | # CONFIG_RCU_TORTURE_TEST is not set |
1499 | # CONFIG_LKDTM is not set | 1504 | # CONFIG_LKDTM is not set |
1500 | CONFIG_EARLY_PRINTK=y | 1505 | CONFIG_EARLY_PRINTK=y |
@@ -1527,6 +1532,7 @@ CONFIG_CRC32=y | |||
1527 | # CONFIG_LIBCRC32C is not set | 1532 | # CONFIG_LIBCRC32C is not set |
1528 | CONFIG_ZLIB_INFLATE=y | 1533 | CONFIG_ZLIB_INFLATE=y |
1529 | CONFIG_PLIST=y | 1534 | CONFIG_PLIST=y |
1535 | CONFIG_IOMAP_COPY=y | ||
1530 | CONFIG_GENERIC_HARDIRQS=y | 1536 | CONFIG_GENERIC_HARDIRQS=y |
1531 | CONFIG_GENERIC_IRQ_PROBE=y | 1537 | CONFIG_GENERIC_IRQ_PROBE=y |
1532 | CONFIG_GENERIC_PENDING_IRQ=y | 1538 | CONFIG_GENERIC_PENDING_IRQ=y |
diff --git a/arch/i386/kernel/cpu/cyrix.c b/arch/i386/kernel/cpu/cyrix.c index c0c3b59de32c..abcff92f994c 100644 --- a/arch/i386/kernel/cpu/cyrix.c +++ b/arch/i386/kernel/cpu/cyrix.c | |||
@@ -173,7 +173,7 @@ static void __cpuinit geode_configure(void) | |||
173 | ccr4 = getCx86(CX86_CCR4); | 173 | ccr4 = getCx86(CX86_CCR4); |
174 | ccr4 |= 0x38; /* FPU fast, DTE cache, Mem bypass */ | 174 | ccr4 |= 0x38; /* FPU fast, DTE cache, Mem bypass */ |
175 | 175 | ||
176 | setCx86(CX86_CCR3, ccr3); | 176 | setCx86(CX86_CCR4, ccr4); |
177 | 177 | ||
178 | set_cx86_memwb(); | 178 | set_cx86_memwb(); |
179 | set_cx86_reorder(); | 179 | set_cx86_reorder(); |
diff --git a/arch/i386/kernel/mpparse.c b/arch/i386/kernel/mpparse.c index 2ce67228dff8..49bff3596bff 100644 --- a/arch/i386/kernel/mpparse.c +++ b/arch/i386/kernel/mpparse.c | |||
@@ -36,7 +36,7 @@ | |||
36 | 36 | ||
37 | /* Have we found an MP table */ | 37 | /* Have we found an MP table */ |
38 | int smp_found_config; | 38 | int smp_found_config; |
39 | unsigned int __initdata maxcpus = NR_CPUS; | 39 | unsigned int __cpuinitdata maxcpus = NR_CPUS; |
40 | 40 | ||
41 | /* | 41 | /* |
42 | * Various Linux-internal data structures created from the | 42 | * Various Linux-internal data structures created from the |
@@ -102,9 +102,9 @@ static int __init mpf_checksum(unsigned char *mp, int len) | |||
102 | */ | 102 | */ |
103 | 103 | ||
104 | static int mpc_record; | 104 | static int mpc_record; |
105 | static struct mpc_config_translation *translation_table[MAX_MPC_ENTRY] __initdata; | 105 | static struct mpc_config_translation *translation_table[MAX_MPC_ENTRY] __cpuinitdata; |
106 | 106 | ||
107 | static void __devinit MP_processor_info (struct mpc_config_processor *m) | 107 | static void __cpuinit MP_processor_info (struct mpc_config_processor *m) |
108 | { | 108 | { |
109 | int ver, apicid; | 109 | int ver, apicid; |
110 | physid_mask_t phys_cpu; | 110 | physid_mask_t phys_cpu; |
@@ -822,7 +822,7 @@ void __init mp_register_lapic_address(u64 address) | |||
822 | Dprintk("Boot CPU = %d\n", boot_cpu_physical_apicid); | 822 | Dprintk("Boot CPU = %d\n", boot_cpu_physical_apicid); |
823 | } | 823 | } |
824 | 824 | ||
825 | void __devinit mp_register_lapic (u8 id, u8 enabled) | 825 | void __cpuinit mp_register_lapic (u8 id, u8 enabled) |
826 | { | 826 | { |
827 | struct mpc_config_processor processor; | 827 | struct mpc_config_processor processor; |
828 | int boot_cpu = 0; | 828 | int boot_cpu = 0; |
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index 6f6cb7b31d18..4b31ad70c1ac 100644 --- a/arch/i386/kernel/setup.c +++ b/arch/i386/kernel/setup.c | |||
@@ -77,7 +77,7 @@ extern struct resource code_resource; | |||
77 | extern struct resource data_resource; | 77 | extern struct resource data_resource; |
78 | 78 | ||
79 | /* cpu data as detected by the assembly code in head.S */ | 79 | /* cpu data as detected by the assembly code in head.S */ |
80 | struct cpuinfo_x86 new_cpu_data __initdata = { 0, 0, 0, 0, -1, 1, 0, 0, -1 }; | 80 | struct cpuinfo_x86 new_cpu_data __cpuinitdata = { 0, 0, 0, 0, -1, 1, 0, 0, -1 }; |
81 | /* common cpu data for all cpus */ | 81 | /* common cpu data for all cpus */ |
82 | struct cpuinfo_x86 boot_cpu_data __read_mostly = { 0, 0, 0, 0, -1, 1, 0, 0, -1 }; | 82 | struct cpuinfo_x86 boot_cpu_data __read_mostly = { 0, 0, 0, 0, -1, 1, 0, 0, -1 }; |
83 | EXPORT_SYMBOL(boot_cpu_data); | 83 | EXPORT_SYMBOL(boot_cpu_data); |
@@ -495,7 +495,7 @@ static void set_mca_bus(int x) { } | |||
495 | #endif | 495 | #endif |
496 | 496 | ||
497 | /* Overridden in paravirt.c if CONFIG_PARAVIRT */ | 497 | /* Overridden in paravirt.c if CONFIG_PARAVIRT */ |
498 | char * __attribute__((weak)) memory_setup(void) | 498 | char * __init __attribute__((weak)) memory_setup(void) |
499 | { | 499 | { |
500 | return machine_specific_memory_setup(); | 500 | return machine_specific_memory_setup(); |
501 | } | 501 | } |
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index 300d9b38d02e..dea7ef9d3e82 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c | |||
@@ -159,7 +159,7 @@ void __init smp_alloc_memory(void) | |||
159 | * a given CPU | 159 | * a given CPU |
160 | */ | 160 | */ |
161 | 161 | ||
162 | static void __devinit smp_store_cpu_info(int id) | 162 | static void __cpuinit smp_store_cpu_info(int id) |
163 | { | 163 | { |
164 | struct cpuinfo_x86 *c = cpu_data + id; | 164 | struct cpuinfo_x86 *c = cpu_data + id; |
165 | 165 | ||
@@ -364,7 +364,7 @@ extern void calibrate_delay(void); | |||
364 | 364 | ||
365 | static atomic_t init_deasserted; | 365 | static atomic_t init_deasserted; |
366 | 366 | ||
367 | static void __devinit smp_callin(void) | 367 | static void __cpuinit smp_callin(void) |
368 | { | 368 | { |
369 | int cpuid, phys_id; | 369 | int cpuid, phys_id; |
370 | unsigned long timeout; | 370 | unsigned long timeout; |
@@ -538,7 +538,7 @@ set_cpu_sibling_map(int cpu) | |||
538 | /* | 538 | /* |
539 | * Activate a secondary processor. | 539 | * Activate a secondary processor. |
540 | */ | 540 | */ |
541 | static void __devinit start_secondary(void *unused) | 541 | static void __cpuinit start_secondary(void *unused) |
542 | { | 542 | { |
543 | /* | 543 | /* |
544 | * Don't put *anything* before secondary_cpu_init(), SMP | 544 | * Don't put *anything* before secondary_cpu_init(), SMP |
@@ -931,7 +931,7 @@ static inline struct task_struct * alloc_idle_task(int cpu) | |||
931 | #define alloc_idle_task(cpu) fork_idle(cpu) | 931 | #define alloc_idle_task(cpu) fork_idle(cpu) |
932 | #endif | 932 | #endif |
933 | 933 | ||
934 | static int __devinit do_boot_cpu(int apicid, int cpu) | 934 | static int __cpuinit do_boot_cpu(int apicid, int cpu) |
935 | /* | 935 | /* |
936 | * NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad | 936 | * NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad |
937 | * (ie clustered apic addressing mode), this is a LOGICAL apic ID. | 937 | * (ie clustered apic addressing mode), this is a LOGICAL apic ID. |
@@ -1432,7 +1432,7 @@ void __cpu_die(unsigned int cpu) | |||
1432 | } | 1432 | } |
1433 | #endif /* CONFIG_HOTPLUG_CPU */ | 1433 | #endif /* CONFIG_HOTPLUG_CPU */ |
1434 | 1434 | ||
1435 | int __devinit __cpu_up(unsigned int cpu) | 1435 | int __cpuinit __cpu_up(unsigned int cpu) |
1436 | { | 1436 | { |
1437 | #ifdef CONFIG_HOTPLUG_CPU | 1437 | #ifdef CONFIG_HOTPLUG_CPU |
1438 | int ret=0; | 1438 | int ret=0; |
diff --git a/arch/i386/kernel/tsc.c b/arch/i386/kernel/tsc.c index 1bbe45dca7a0..2cfc7b09b925 100644 --- a/arch/i386/kernel/tsc.c +++ b/arch/i386/kernel/tsc.c | |||
@@ -24,7 +24,7 @@ | |||
24 | */ | 24 | */ |
25 | unsigned int tsc_khz; | 25 | unsigned int tsc_khz; |
26 | 26 | ||
27 | int tsc_disable __cpuinitdata = 0; | 27 | int tsc_disable; |
28 | 28 | ||
29 | #ifdef CONFIG_X86_TSC | 29 | #ifdef CONFIG_X86_TSC |
30 | static int __init tsc_setup(char *str) | 30 | static int __init tsc_setup(char *str) |
diff --git a/arch/i386/mach-generic/bigsmp.c b/arch/i386/mach-generic/bigsmp.c index 33d9f93557ba..8a210fa915b5 100644 --- a/arch/i386/mach-generic/bigsmp.c +++ b/arch/i386/mach-generic/bigsmp.c | |||
@@ -45,7 +45,7 @@ static struct dmi_system_id __initdata bigsmp_dmi_table[] = { | |||
45 | }; | 45 | }; |
46 | 46 | ||
47 | 47 | ||
48 | static __init int probe_bigsmp(void) | 48 | static int probe_bigsmp(void) |
49 | { | 49 | { |
50 | if (def_to_bigsmp) | 50 | if (def_to_bigsmp) |
51 | dmi_bigsmp = 1; | 51 | dmi_bigsmp = 1; |
diff --git a/arch/i386/mach-generic/default.c b/arch/i386/mach-generic/default.c index 96c19821e47d..8685208d8512 100644 --- a/arch/i386/mach-generic/default.c +++ b/arch/i386/mach-generic/default.c | |||
@@ -18,7 +18,7 @@ | |||
18 | #include <asm/mach-default/mach_mpparse.h> | 18 | #include <asm/mach-default/mach_mpparse.h> |
19 | 19 | ||
20 | /* should be called last. */ | 20 | /* should be called last. */ |
21 | static __init int probe_default(void) | 21 | static int probe_default(void) |
22 | { | 22 | { |
23 | return 1; | 23 | return 1; |
24 | } | 24 | } |
diff --git a/arch/i386/mach-generic/es7000.c b/arch/i386/mach-generic/es7000.c index aa144d82334d..b8963a5a3b25 100644 --- a/arch/i386/mach-generic/es7000.c +++ b/arch/i386/mach-generic/es7000.c | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <asm/mach-es7000/mach_mpparse.h> | 19 | #include <asm/mach-es7000/mach_mpparse.h> |
20 | #include <asm/mach-es7000/mach_wakecpu.h> | 20 | #include <asm/mach-es7000/mach_wakecpu.h> |
21 | 21 | ||
22 | static __init int probe_es7000(void) | 22 | static int probe_es7000(void) |
23 | { | 23 | { |
24 | /* probed later in mptable/ACPI hooks */ | 24 | /* probed later in mptable/ACPI hooks */ |
25 | return 0; | 25 | return 0; |
diff --git a/arch/i386/mach-generic/summit.c b/arch/i386/mach-generic/summit.c index f7e5d66648dc..74883ccb8f73 100644 --- a/arch/i386/mach-generic/summit.c +++ b/arch/i386/mach-generic/summit.c | |||
@@ -18,7 +18,7 @@ | |||
18 | #include <asm/mach-summit/mach_ipi.h> | 18 | #include <asm/mach-summit/mach_ipi.h> |
19 | #include <asm/mach-summit/mach_mpparse.h> | 19 | #include <asm/mach-summit/mach_mpparse.h> |
20 | 20 | ||
21 | static __init int probe_summit(void) | 21 | static int probe_summit(void) |
22 | { | 22 | { |
23 | /* probed later in mptable/ACPI hooks */ | 23 | /* probed later in mptable/ACPI hooks */ |
24 | return 0; | 24 | return 0; |
diff --git a/arch/i386/mm/init.c b/arch/i386/mm/init.c index 60a7e57af197..c5c5ea700cc7 100644 --- a/arch/i386/mm/init.c +++ b/arch/i386/mm/init.c | |||
@@ -283,7 +283,7 @@ void __init add_one_highpage_init(struct page *page, int pfn, int bad_ppro) | |||
283 | SetPageReserved(page); | 283 | SetPageReserved(page); |
284 | } | 284 | } |
285 | 285 | ||
286 | static int add_one_highpage_hotplug(struct page *page, unsigned long pfn) | 286 | static int __meminit add_one_highpage_hotplug(struct page *page, unsigned long pfn) |
287 | { | 287 | { |
288 | free_new_highpage(page); | 288 | free_new_highpage(page); |
289 | totalram_pages++; | 289 | totalram_pages++; |
@@ -300,7 +300,7 @@ static int add_one_highpage_hotplug(struct page *page, unsigned long pfn) | |||
300 | * has been added dynamically that would be | 300 | * has been added dynamically that would be |
301 | * onlined here is in HIGHMEM | 301 | * onlined here is in HIGHMEM |
302 | */ | 302 | */ |
303 | void online_page(struct page *page) | 303 | void __meminit online_page(struct page *page) |
304 | { | 304 | { |
305 | ClearPageReserved(page); | 305 | ClearPageReserved(page); |
306 | add_one_highpage_hotplug(page, page_to_pfn(page)); | 306 | add_one_highpage_hotplug(page, page_to_pfn(page)); |
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c index 1a3d8a2feb94..1373fae7657f 100644 --- a/arch/ia64/mm/init.c +++ b/arch/ia64/mm/init.c | |||
@@ -543,7 +543,8 @@ virtual_memmap_init (u64 start, u64 end, void *arg) | |||
543 | 543 | ||
544 | if (map_start < map_end) | 544 | if (map_start < map_end) |
545 | memmap_init_zone((unsigned long)(map_end - map_start), | 545 | memmap_init_zone((unsigned long)(map_end - map_start), |
546 | args->nid, args->zone, page_to_pfn(map_start)); | 546 | args->nid, args->zone, page_to_pfn(map_start), |
547 | MEMMAP_EARLY); | ||
547 | return 0; | 548 | return 0; |
548 | } | 549 | } |
549 | 550 | ||
@@ -552,7 +553,7 @@ memmap_init (unsigned long size, int nid, unsigned long zone, | |||
552 | unsigned long start_pfn) | 553 | unsigned long start_pfn) |
553 | { | 554 | { |
554 | if (!vmem_map) | 555 | if (!vmem_map) |
555 | memmap_init_zone(size, nid, zone, start_pfn); | 556 | memmap_init_zone(size, nid, zone, start_pfn, MEMMAP_EARLY); |
556 | else { | 557 | else { |
557 | struct page *start; | 558 | struct page *start; |
558 | struct memmap_init_callback_data args; | 559 | struct memmap_init_callback_data args; |
diff --git a/arch/m32r/kernel/smpboot.c b/arch/m32r/kernel/smpboot.c index fa7865609495..48d376f47e1a 100644 --- a/arch/m32r/kernel/smpboot.c +++ b/arch/m32r/kernel/smpboot.c | |||
@@ -351,7 +351,7 @@ static void __init do_boot_cpu(int phys_id) | |||
351 | } | 351 | } |
352 | } | 352 | } |
353 | 353 | ||
354 | int __devinit __cpu_up(unsigned int cpu_id) | 354 | int __cpuinit __cpu_up(unsigned int cpu_id) |
355 | { | 355 | { |
356 | int timeout; | 356 | int timeout; |
357 | 357 | ||
diff --git a/arch/mips/au1000/common/pci.c b/arch/mips/au1000/common/pci.c index da591f674893..9f8ce08e173b 100644 --- a/arch/mips/au1000/common/pci.c +++ b/arch/mips/au1000/common/pci.c | |||
@@ -39,15 +39,15 @@ | |||
39 | 39 | ||
40 | /* TBD */ | 40 | /* TBD */ |
41 | static struct resource pci_io_resource = { | 41 | static struct resource pci_io_resource = { |
42 | .start = PCI_IO_START, | 42 | .start = (resource_size_t)PCI_IO_START, |
43 | .end = PCI_IO_END, | 43 | .end = (resource_size_t)PCI_IO_END, |
44 | .name = "PCI IO space", | 44 | .name = "PCI IO space", |
45 | .flags = IORESOURCE_IO | 45 | .flags = IORESOURCE_IO |
46 | }; | 46 | }; |
47 | 47 | ||
48 | static struct resource pci_mem_resource = { | 48 | static struct resource pci_mem_resource = { |
49 | .start = PCI_MEM_START, | 49 | .start = (resource_size_t)PCI_MEM_START, |
50 | .end = PCI_MEM_END, | 50 | .end = (resource_size_t)PCI_MEM_END, |
51 | .name = "PCI memory space", | 51 | .name = "PCI memory space", |
52 | .flags = IORESOURCE_MEM | 52 | .flags = IORESOURCE_MEM |
53 | }; | 53 | }; |
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c index b061c9aa6302..de3fae260ff8 100644 --- a/arch/mips/kernel/linux32.c +++ b/arch/mips/kernel/linux32.c | |||
@@ -440,14 +440,26 @@ sys32_ipc (u32 call, int first, int second, int third, u32 ptr, u32 fifth) | |||
440 | } | 440 | } |
441 | 441 | ||
442 | #ifdef CONFIG_MIPS32_N32 | 442 | #ifdef CONFIG_MIPS32_N32 |
443 | asmlinkage long sysn32_semctl(int semid, int semnum, int cmd, union semun arg) | 443 | asmlinkage long sysn32_semctl(int semid, int semnum, int cmd, u32 arg) |
444 | { | 444 | { |
445 | /* compat_sys_semctl expects a pointer to union semun */ | 445 | /* compat_sys_semctl expects a pointer to union semun */ |
446 | u32 __user *uptr = compat_alloc_user_space(sizeof(u32)); | 446 | u32 __user *uptr = compat_alloc_user_space(sizeof(u32)); |
447 | if (put_user(ptr_to_compat(arg.__pad), uptr)) | 447 | if (put_user(arg, uptr)) |
448 | return -EFAULT; | 448 | return -EFAULT; |
449 | return compat_sys_semctl(semid, semnum, cmd, uptr); | 449 | return compat_sys_semctl(semid, semnum, cmd, uptr); |
450 | } | 450 | } |
451 | |||
452 | asmlinkage long sysn32_msgsnd(int msqid, u32 msgp, unsigned msgsz, int msgflg) | ||
453 | { | ||
454 | return compat_sys_msgsnd(msqid, msgsz, msgflg, compat_ptr(msgp)); | ||
455 | } | ||
456 | |||
457 | asmlinkage long sysn32_msgrcv(int msqid, u32 msgp, size_t msgsz, int msgtyp, | ||
458 | int msgflg) | ||
459 | { | ||
460 | return compat_sys_msgrcv(msqid, msgsz, msgtyp, msgflg, IPC_64, | ||
461 | compat_ptr(msgp)); | ||
462 | } | ||
451 | #endif | 463 | #endif |
452 | 464 | ||
453 | struct sysctl_args32 | 465 | struct sysctl_args32 |
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S index 34567d81f940..a7bff2a54723 100644 --- a/arch/mips/kernel/scall64-n32.S +++ b/arch/mips/kernel/scall64-n32.S | |||
@@ -187,8 +187,8 @@ EXPORT(sysn32_call_table) | |||
187 | PTR sysn32_semctl | 187 | PTR sysn32_semctl |
188 | PTR sys_shmdt /* 6065 */ | 188 | PTR sys_shmdt /* 6065 */ |
189 | PTR sys_msgget | 189 | PTR sys_msgget |
190 | PTR compat_sys_msgsnd | 190 | PTR sysn32_msgsnd |
191 | PTR compat_sys_msgrcv | 191 | PTR sysn32_msgrcv |
192 | PTR compat_sys_msgctl | 192 | PTR compat_sys_msgctl |
193 | PTR compat_sys_fcntl /* 6070 */ | 193 | PTR compat_sys_fcntl /* 6070 */ |
194 | PTR sys_flock | 194 | PTR sys_flock |
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c index f2a8701e414d..0555fc554f65 100644 --- a/arch/mips/kernel/smp.c +++ b/arch/mips/kernel/smp.c | |||
@@ -271,7 +271,7 @@ void __devinit smp_prepare_boot_cpu(void) | |||
271 | * and keep control until "cpu_online(cpu)" is set. Note: cpu is | 271 | * and keep control until "cpu_online(cpu)" is set. Note: cpu is |
272 | * physical, not logical. | 272 | * physical, not logical. |
273 | */ | 273 | */ |
274 | int __devinit __cpu_up(unsigned int cpu) | 274 | int __cpuinit __cpu_up(unsigned int cpu) |
275 | { | 275 | { |
276 | struct task_struct *idle; | 276 | struct task_struct *idle; |
277 | 277 | ||
diff --git a/arch/mips/philips/pnx8550/common/time.c b/arch/mips/philips/pnx8550/common/time.c index f80acae07cee..68def3880a1c 100644 --- a/arch/mips/philips/pnx8550/common/time.c +++ b/arch/mips/philips/pnx8550/common/time.c | |||
@@ -79,6 +79,7 @@ void pnx8550_time_init(void) | |||
79 | */ | 79 | */ |
80 | mips_hpt_frequency = 27UL * ((1000000UL * n)/(m * pow2p)); | 80 | mips_hpt_frequency = 27UL * ((1000000UL * n)/(m * pow2p)); |
81 | cpj = (mips_hpt_frequency + HZ / 2) / HZ; | 81 | cpj = (mips_hpt_frequency + HZ / 2) / HZ; |
82 | write_c0_count(0); | ||
82 | timer_ack(); | 83 | timer_ack(); |
83 | 84 | ||
84 | /* Setup Timer 2 */ | 85 | /* Setup Timer 2 */ |
diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c index 4a23a97b06cd..12cc019307ad 100644 --- a/arch/parisc/kernel/smp.c +++ b/arch/parisc/kernel/smp.c | |||
@@ -608,7 +608,7 @@ void smp_cpus_done(unsigned int cpu_max) | |||
608 | } | 608 | } |
609 | 609 | ||
610 | 610 | ||
611 | int __devinit __cpu_up(unsigned int cpu) | 611 | int __cpuinit __cpu_up(unsigned int cpu) |
612 | { | 612 | { |
613 | if (cpu != 0 && cpu < parisc_max_cpus) | 613 | if (cpu != 0 && cpu < parisc_max_cpus) |
614 | smp_boot_one_cpu(cpu); | 614 | smp_boot_one_cpu(cpu); |
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index 9b28c238b6c0..0e8beca460af 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c | |||
@@ -468,7 +468,7 @@ static int __devinit cpu_enable(unsigned int cpu) | |||
468 | return -ENOSYS; | 468 | return -ENOSYS; |
469 | } | 469 | } |
470 | 470 | ||
471 | int __devinit __cpu_up(unsigned int cpu) | 471 | int __cpuinit __cpu_up(unsigned int cpu) |
472 | { | 472 | { |
473 | int c; | 473 | int c; |
474 | 474 | ||
diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c index 7f2944d3ec2a..cd3d93e8c211 100644 --- a/arch/s390/mm/vmem.c +++ b/arch/s390/mm/vmem.c | |||
@@ -61,7 +61,8 @@ void memmap_init(unsigned long size, int nid, unsigned long zone, | |||
61 | 61 | ||
62 | if (map_start < map_end) | 62 | if (map_start < map_end) |
63 | memmap_init_zone((unsigned long)(map_end - map_start), | 63 | memmap_init_zone((unsigned long)(map_end - map_start), |
64 | nid, zone, page_to_pfn(map_start)); | 64 | nid, zone, page_to_pfn(map_start), |
65 | MEMMAP_EARLY); | ||
65 | } | 66 | } |
66 | } | 67 | } |
67 | 68 | ||
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index 0a4958536bcd..fc99f7b8012f 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c | |||
@@ -1388,7 +1388,7 @@ void __devinit smp_prepare_boot_cpu(void) | |||
1388 | { | 1388 | { |
1389 | } | 1389 | } |
1390 | 1390 | ||
1391 | int __devinit __cpu_up(unsigned int cpu) | 1391 | int __cpuinit __cpu_up(unsigned int cpu) |
1392 | { | 1392 | { |
1393 | int ret = smp_boot_one_cpu(cpu); | 1393 | int ret = smp_boot_one_cpu(cpu); |
1394 | 1394 | ||
diff --git a/arch/x86_64/defconfig b/arch/x86_64/defconfig index 9cc7c21547a2..69584c295305 100644 --- a/arch/x86_64/defconfig +++ b/arch/x86_64/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.19-git14 | 3 | # Linux kernel version: 2.6.20-rc3 |
4 | # Sat Dec 9 21:23:09 2006 | 4 | # Fri Jan 5 11:54:41 2007 |
5 | # | 5 | # |
6 | CONFIG_X86_64=y | 6 | CONFIG_X86_64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
@@ -1056,6 +1056,7 @@ CONFIG_HWMON=y | |||
1056 | # CONFIG_SENSORS_LM92 is not set | 1056 | # CONFIG_SENSORS_LM92 is not set |
1057 | # CONFIG_SENSORS_MAX1619 is not set | 1057 | # CONFIG_SENSORS_MAX1619 is not set |
1058 | # CONFIG_SENSORS_PC87360 is not set | 1058 | # CONFIG_SENSORS_PC87360 is not set |
1059 | # CONFIG_SENSORS_PC87427 is not set | ||
1059 | # CONFIG_SENSORS_SIS5595 is not set | 1060 | # CONFIG_SENSORS_SIS5595 is not set |
1060 | # CONFIG_SENSORS_SMSC47M1 is not set | 1061 | # CONFIG_SENSORS_SMSC47M1 is not set |
1061 | # CONFIG_SENSORS_SMSC47M192 is not set | 1062 | # CONFIG_SENSORS_SMSC47M192 is not set |
@@ -1066,6 +1067,7 @@ CONFIG_SENSORS_SMSC47B397=m | |||
1066 | # CONFIG_SENSORS_W83781D is not set | 1067 | # CONFIG_SENSORS_W83781D is not set |
1067 | # CONFIG_SENSORS_W83791D is not set | 1068 | # CONFIG_SENSORS_W83791D is not set |
1068 | # CONFIG_SENSORS_W83792D is not set | 1069 | # CONFIG_SENSORS_W83792D is not set |
1070 | # CONFIG_SENSORS_W83793 is not set | ||
1069 | # CONFIG_SENSORS_W83L785TS is not set | 1071 | # CONFIG_SENSORS_W83L785TS is not set |
1070 | # CONFIG_SENSORS_W83627HF is not set | 1072 | # CONFIG_SENSORS_W83627HF is not set |
1071 | # CONFIG_SENSORS_W83627EHF is not set | 1073 | # CONFIG_SENSORS_W83627EHF is not set |
@@ -1311,6 +1313,11 @@ CONFIG_USB_MON=y | |||
1311 | # | 1313 | # |
1312 | 1314 | ||
1313 | # | 1315 | # |
1316 | # Virtualization | ||
1317 | # | ||
1318 | # CONFIG_KVM is not set | ||
1319 | |||
1320 | # | ||
1314 | # Firmware Drivers | 1321 | # Firmware Drivers |
1315 | # | 1322 | # |
1316 | # CONFIG_EDD is not set | 1323 | # CONFIG_EDD is not set |
@@ -1502,6 +1509,8 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y | |||
1502 | # CONFIG_ENABLE_MUST_CHECK is not set | 1509 | # CONFIG_ENABLE_MUST_CHECK is not set |
1503 | CONFIG_MAGIC_SYSRQ=y | 1510 | CONFIG_MAGIC_SYSRQ=y |
1504 | CONFIG_UNUSED_SYMBOLS=y | 1511 | CONFIG_UNUSED_SYMBOLS=y |
1512 | CONFIG_DEBUG_FS=y | ||
1513 | # CONFIG_HEADERS_CHECK is not set | ||
1505 | CONFIG_DEBUG_KERNEL=y | 1514 | CONFIG_DEBUG_KERNEL=y |
1506 | CONFIG_LOG_BUF_SHIFT=18 | 1515 | CONFIG_LOG_BUF_SHIFT=18 |
1507 | CONFIG_DETECT_SOFTLOCKUP=y | 1516 | CONFIG_DETECT_SOFTLOCKUP=y |
@@ -1519,12 +1528,10 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
1519 | # CONFIG_DEBUG_KOBJECT is not set | 1528 | # CONFIG_DEBUG_KOBJECT is not set |
1520 | CONFIG_DEBUG_BUGVERBOSE=y | 1529 | CONFIG_DEBUG_BUGVERBOSE=y |
1521 | # CONFIG_DEBUG_INFO is not set | 1530 | # CONFIG_DEBUG_INFO is not set |
1522 | CONFIG_DEBUG_FS=y | ||
1523 | # CONFIG_DEBUG_VM is not set | 1531 | # CONFIG_DEBUG_VM is not set |
1524 | # CONFIG_DEBUG_LIST is not set | 1532 | # CONFIG_DEBUG_LIST is not set |
1525 | # CONFIG_FRAME_POINTER is not set | 1533 | # CONFIG_FRAME_POINTER is not set |
1526 | # CONFIG_FORCED_INLINING is not set | 1534 | # CONFIG_FORCED_INLINING is not set |
1527 | # CONFIG_HEADERS_CHECK is not set | ||
1528 | # CONFIG_RCU_TORTURE_TEST is not set | 1535 | # CONFIG_RCU_TORTURE_TEST is not set |
1529 | # CONFIG_LKDTM is not set | 1536 | # CONFIG_LKDTM is not set |
1530 | # CONFIG_DEBUG_RODATA is not set | 1537 | # CONFIG_DEBUG_RODATA is not set |
@@ -1553,3 +1560,4 @@ CONFIG_CRC32=y | |||
1553 | # CONFIG_LIBCRC32C is not set | 1560 | # CONFIG_LIBCRC32C is not set |
1554 | CONFIG_ZLIB_INFLATE=y | 1561 | CONFIG_ZLIB_INFLATE=y |
1555 | CONFIG_PLIST=y | 1562 | CONFIG_PLIST=y |
1563 | CONFIG_IOMAP_COPY=y | ||
diff --git a/arch/x86_64/ia32/ia32_aout.c b/arch/x86_64/ia32/ia32_aout.c index be87df506f39..fe83edb93c10 100644 --- a/arch/x86_64/ia32/ia32_aout.c +++ b/arch/x86_64/ia32/ia32_aout.c | |||
@@ -241,7 +241,7 @@ static u32 __user *create_aout_tables(char __user *p, struct linux_binprm *bprm) | |||
241 | get_user(c,p++); | 241 | get_user(c,p++); |
242 | } while (c); | 242 | } while (c); |
243 | } | 243 | } |
244 | put_user(NULL,argv); | 244 | put_user(0, argv); |
245 | current->mm->arg_end = current->mm->env_start = (unsigned long) p; | 245 | current->mm->arg_end = current->mm->env_start = (unsigned long) p; |
246 | while (envc-->0) { | 246 | while (envc-->0) { |
247 | char c; | 247 | char c; |
@@ -250,7 +250,7 @@ static u32 __user *create_aout_tables(char __user *p, struct linux_binprm *bprm) | |||
250 | get_user(c,p++); | 250 | get_user(c,p++); |
251 | } while (c); | 251 | } while (c); |
252 | } | 252 | } |
253 | put_user(NULL,envp); | 253 | put_user(0, envp); |
254 | current->mm->env_end = (unsigned long) p; | 254 | current->mm->env_end = (unsigned long) p; |
255 | return sp; | 255 | return sp; |
256 | } | 256 | } |
diff --git a/arch/x86_64/kernel/pci-calgary.c b/arch/x86_64/kernel/pci-calgary.c index 87d90cb68a74..3d65b1d4c2b3 100644 --- a/arch/x86_64/kernel/pci-calgary.c +++ b/arch/x86_64/kernel/pci-calgary.c | |||
@@ -1068,6 +1068,8 @@ void __init detect_calgary(void) | |||
1068 | if (!early_pci_allowed()) | 1068 | if (!early_pci_allowed()) |
1069 | return; | 1069 | return; |
1070 | 1070 | ||
1071 | printk(KERN_DEBUG "Calgary: detecting Calgary via BIOS EBDA area\n"); | ||
1072 | |||
1071 | ptr = (unsigned long)phys_to_virt(get_bios_ebda()); | 1073 | ptr = (unsigned long)phys_to_virt(get_bios_ebda()); |
1072 | 1074 | ||
1073 | rio_table_hdr = NULL; | 1075 | rio_table_hdr = NULL; |
@@ -1088,14 +1090,14 @@ void __init detect_calgary(void) | |||
1088 | offset = *((unsigned short *)(ptr + offset)); | 1090 | offset = *((unsigned short *)(ptr + offset)); |
1089 | } | 1091 | } |
1090 | if (!rio_table_hdr) { | 1092 | if (!rio_table_hdr) { |
1091 | printk(KERN_ERR "Calgary: Unable to locate " | 1093 | printk(KERN_DEBUG "Calgary: Unable to locate Rio Grande table " |
1092 | "Rio Grande Table in EBDA - bailing!\n"); | 1094 | "in EBDA - bailing!\n"); |
1093 | return; | 1095 | return; |
1094 | } | 1096 | } |
1095 | 1097 | ||
1096 | ret = build_detail_arrays(); | 1098 | ret = build_detail_arrays(); |
1097 | if (ret) { | 1099 | if (ret) { |
1098 | printk(KERN_ERR "Calgary: build_detail_arrays ret %d\n", ret); | 1100 | printk(KERN_DEBUG "Calgary: build_detail_arrays ret %d\n", ret); |
1099 | return; | 1101 | return; |
1100 | } | 1102 | } |
1101 | 1103 | ||
@@ -1128,6 +1130,9 @@ void __init detect_calgary(void) | |||
1128 | } | 1130 | } |
1129 | } | 1131 | } |
1130 | 1132 | ||
1133 | printk(KERN_DEBUG "Calgary: finished detection, Calgary %s\n", | ||
1134 | calgary_found ? "found" : "not found"); | ||
1135 | |||
1131 | if (calgary_found) { | 1136 | if (calgary_found) { |
1132 | iommu_detected = 1; | 1137 | iommu_detected = 1; |
1133 | calgary_detected = 1; | 1138 | calgary_detected = 1; |
diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c index 9f05bc9b2dad..5cc76d0d331f 100644 --- a/arch/x86_64/kernel/time.c +++ b/arch/x86_64/kernel/time.c | |||
@@ -656,6 +656,25 @@ core_initcall(cpufreq_tsc); | |||
656 | */ | 656 | */ |
657 | 657 | ||
658 | #define TICK_COUNT 100000000 | 658 | #define TICK_COUNT 100000000 |
659 | #define TICK_MIN 5000 | ||
660 | |||
661 | /* | ||
662 | * Some platforms take periodic SMI interrupts with 5ms duration. Make sure none | ||
663 | * occurs between the reads of the hpet & TSC. | ||
664 | */ | ||
665 | static void __init read_hpet_tsc(int *hpet, int *tsc) | ||
666 | { | ||
667 | int tsc1, tsc2, hpet1; | ||
668 | |||
669 | do { | ||
670 | tsc1 = get_cycles_sync(); | ||
671 | hpet1 = hpet_readl(HPET_COUNTER); | ||
672 | tsc2 = get_cycles_sync(); | ||
673 | } while (tsc2 - tsc1 > TICK_MIN); | ||
674 | *hpet = hpet1; | ||
675 | *tsc = tsc2; | ||
676 | } | ||
677 | |||
659 | 678 | ||
660 | static unsigned int __init hpet_calibrate_tsc(void) | 679 | static unsigned int __init hpet_calibrate_tsc(void) |
661 | { | 680 | { |
@@ -666,13 +685,11 @@ static unsigned int __init hpet_calibrate_tsc(void) | |||
666 | local_irq_save(flags); | 685 | local_irq_save(flags); |
667 | local_irq_disable(); | 686 | local_irq_disable(); |
668 | 687 | ||
669 | hpet_start = hpet_readl(HPET_COUNTER); | 688 | read_hpet_tsc(&hpet_start, &tsc_start); |
670 | rdtscl(tsc_start); | ||
671 | 689 | ||
672 | do { | 690 | do { |
673 | local_irq_disable(); | 691 | local_irq_disable(); |
674 | hpet_now = hpet_readl(HPET_COUNTER); | 692 | read_hpet_tsc(&hpet_now, &tsc_now); |
675 | tsc_now = get_cycles_sync(); | ||
676 | local_irq_restore(flags); | 693 | local_irq_restore(flags); |
677 | } while ((tsc_now - tsc_start) < TICK_COUNT && | 694 | } while ((tsc_now - tsc_start) < TICK_COUNT && |
678 | (hpet_now - hpet_start) < TICK_COUNT); | 695 | (hpet_now - hpet_start) < TICK_COUNT); |