diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-31 11:48:53 +1100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-31 11:48:53 +1100 |
commit | 6232665040f9a23fafd9d94d4ae8d5a2dc850f65 (patch) | |
tree | 21ee1b178d0f96ad9f4932e4da8abccf2fbeae96 /arch | |
parent | 94ed294c20ef07fffa40817c68155fba35dd67f1 (diff) | |
parent | c18d1250c7425dddd2633ce4eaf03d5015e68a0f (diff) | |
download | op-kernel-dev-6232665040f9a23fafd9d94d4ae8d5a2dc850f65.zip op-kernel-dev-6232665040f9a23fafd9d94d4ae8d5a2dc850f65.tar.gz |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
alpha: fix x86.git merge build error
ia64: on UP percpu variables are not small memory model
x86: fix arch/x86/kernel/test_nx.c modular build bug
s390: use generic percpu linux-2.6.git
POWERPC: use generic per cpu
ia64: use generic percpu
SPARC64: use generic percpu
percpu: change Kconfig to HAVE_SETUP_PER_CPU_AREA
modules: fold percpu_modcopy into module.c
x86: export copy_from_user_ll_nocache[_nozero]
x86: fix duplicated TIF on 64-bit
Diffstat (limited to 'arch')
-rw-r--r-- | arch/ia64/Kconfig | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/module.c | 11 | ||||
-rw-r--r-- | arch/powerpc/Kconfig | 2 | ||||
-rw-r--r-- | arch/sparc64/Kconfig | 2 | ||||
-rw-r--r-- | arch/sparc64/mm/init.c | 5 | ||||
-rw-r--r-- | arch/x86/kernel/test_nx.c | 5 | ||||
-rw-r--r-- | arch/x86/lib/usercopy_32.c | 2 |
7 files changed, 15 insertions, 14 deletions
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 5a41e75..c9307c9 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -80,7 +80,7 @@ config GENERIC_TIME_VSYSCALL bool default y -config ARCH_SETS_UP_PER_CPU_AREA +config HAVE_SETUP_PER_CPU_AREA def_bool y config DMI diff --git a/arch/ia64/kernel/module.c b/arch/ia64/kernel/module.c index e699eb6..e58f436 100644 --- a/arch/ia64/kernel/module.c +++ b/arch/ia64/kernel/module.c @@ -940,14 +940,3 @@ module_arch_cleanup (struct module *mod) if (mod->arch.core_unw_table) unw_remove_unwind_table(mod->arch.core_unw_table); } - -#ifdef CONFIG_SMP -void -percpu_modcopy (void *pcpudst, const void *src, unsigned long size) -{ - unsigned int i; - for_each_possible_cpu(i) { - memcpy(pcpudst + per_cpu_offset(i), src, size); - } -} -#endif /* CONFIG_SMP */ diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index fb85f6b..bb16443 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -42,7 +42,7 @@ config GENERIC_HARDIRQS bool default y -config ARCH_SETS_UP_PER_CPU_AREA +config HAVE_SETUP_PER_CPU_AREA def_bool PPC64 config IRQ_PER_CPU diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index 26f5791..73fc05d 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig @@ -66,7 +66,7 @@ config AUDIT_ARCH bool default y -config ARCH_SETS_UP_PER_CPU_AREA +config HAVE_SETUP_PER_CPU_AREA def_bool y config ARCH_NO_VIRT_TO_BUS diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c index fbeb55d..523e993 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c @@ -1328,6 +1328,11 @@ pgd_t swapper_pg_dir[2048]; static void sun4u_pgprot_init(void); static void sun4v_pgprot_init(void); +/* Dummy function */ +void __init setup_per_cpu_areas(void) +{ +} + void __init paging_init(void) { unsigned long end_pfn, pages_avail, shift, phys_base; diff --git a/arch/x86/kernel/test_nx.c b/arch/x86/kernel/test_nx.c index 6d7ef11..ae0ef2e 100644 --- a/arch/x86/kernel/test_nx.c +++ b/arch/x86/kernel/test_nx.c @@ -91,8 +91,13 @@ static noinline int test_address(void *address) ".previous\n" ".section __ex_table,\"a\"\n" " .align 8\n" +#ifdef CONFIG_X86_32 + " .long 0b\n" + " .long 2b\n" +#else " .quad 0b\n" " .quad 2b\n" +#endif ".previous\n" : [rslt] "=r" (result) : [fake_code] "r" (address), [zero] "r" (0UL), "0" (result) diff --git a/arch/x86/lib/usercopy_32.c b/arch/x86/lib/usercopy_32.c index 8bab2b2..9c4ffd5 100644 --- a/arch/x86/lib/usercopy_32.c +++ b/arch/x86/lib/usercopy_32.c @@ -817,6 +817,7 @@ unsigned long __copy_from_user_ll_nocache(void *to, const void __user *from, #endif return n; } +EXPORT_SYMBOL(__copy_from_user_ll_nocache); unsigned long __copy_from_user_ll_nocache_nozero(void *to, const void __user *from, unsigned long n) @@ -831,6 +832,7 @@ unsigned long __copy_from_user_ll_nocache_nozero(void *to, const void __user *fr #endif return n; } +EXPORT_SYMBOL(__copy_from_user_ll_nocache_nozero); /** * copy_to_user: - Copy a block of data into user space. |