diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-30 19:48:53 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-30 19:48:53 -0500 |
commit | 6232665040f9a23fafd9d94d4ae8d5a2dc850f65 (patch) | |
tree | 21ee1b178d0f96ad9f4932e4da8abccf2fbeae96 /arch | |
parent | 94ed294c20ef07fffa40817c68155fba35dd67f1 (diff) | |
parent | c18d1250c7425dddd2633ce4eaf03d5015e68a0f (diff) |
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 5a41e75ae1fe..c9307c99a1dc 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -80,7 +80,7 @@ config GENERIC_TIME_VSYSCALL | |||
80 | bool | 80 | bool |
81 | default y | 81 | default y |
82 | 82 | ||
83 | config ARCH_SETS_UP_PER_CPU_AREA | 83 | config HAVE_SETUP_PER_CPU_AREA |
84 | def_bool y | 84 | def_bool y |
85 | 85 | ||
86 | config DMI | 86 | config DMI |
diff --git a/arch/ia64/kernel/module.c b/arch/ia64/kernel/module.c index e699eb6c44be..e58f4367cf11 100644 --- a/arch/ia64/kernel/module.c +++ b/arch/ia64/kernel/module.c | |||
@@ -940,14 +940,3 @@ module_arch_cleanup (struct module *mod) | |||
940 | if (mod->arch.core_unw_table) | 940 | if (mod->arch.core_unw_table) |
941 | unw_remove_unwind_table(mod->arch.core_unw_table); | 941 | unw_remove_unwind_table(mod->arch.core_unw_table); |
942 | } | 942 | } |
943 | |||
944 | #ifdef CONFIG_SMP | ||
945 | void | ||
946 | percpu_modcopy (void *pcpudst, const void *src, unsigned long size) | ||
947 | { | ||
948 | unsigned int i; | ||
949 | for_each_possible_cpu(i) { | ||
950 | memcpy(pcpudst + per_cpu_offset(i), src, size); | ||
951 | } | ||
952 | } | ||
953 | #endif /* CONFIG_SMP */ | ||
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index fb85f6b72fcf..bb16443b6817 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -42,7 +42,7 @@ config GENERIC_HARDIRQS | |||
42 | bool | 42 | bool |
43 | default y | 43 | default y |
44 | 44 | ||
45 | config ARCH_SETS_UP_PER_CPU_AREA | 45 | config HAVE_SETUP_PER_CPU_AREA |
46 | def_bool PPC64 | 46 | def_bool PPC64 |
47 | 47 | ||
48 | config IRQ_PER_CPU | 48 | config IRQ_PER_CPU |
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index 26f5791baa33..73fc05d0bfad 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig | |||
@@ -66,7 +66,7 @@ config AUDIT_ARCH | |||
66 | bool | 66 | bool |
67 | default y | 67 | default y |
68 | 68 | ||
69 | config ARCH_SETS_UP_PER_CPU_AREA | 69 | config HAVE_SETUP_PER_CPU_AREA |
70 | def_bool y | 70 | def_bool y |
71 | 71 | ||
72 | config ARCH_NO_VIRT_TO_BUS | 72 | config ARCH_NO_VIRT_TO_BUS |
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c index fbeb55d71e76..523e993ee90c 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c | |||
@@ -1328,6 +1328,11 @@ pgd_t swapper_pg_dir[2048]; | |||
1328 | static void sun4u_pgprot_init(void); | 1328 | static void sun4u_pgprot_init(void); |
1329 | static void sun4v_pgprot_init(void); | 1329 | static void sun4v_pgprot_init(void); |
1330 | 1330 | ||
1331 | /* Dummy function */ | ||
1332 | void __init setup_per_cpu_areas(void) | ||
1333 | { | ||
1334 | } | ||
1335 | |||
1331 | void __init paging_init(void) | 1336 | void __init paging_init(void) |
1332 | { | 1337 | { |
1333 | unsigned long end_pfn, pages_avail, shift, phys_base; | 1338 | 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 6d7ef11e7975..ae0ef2e304c7 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) | |||
91 | ".previous\n" | 91 | ".previous\n" |
92 | ".section __ex_table,\"a\"\n" | 92 | ".section __ex_table,\"a\"\n" |
93 | " .align 8\n" | 93 | " .align 8\n" |
94 | #ifdef CONFIG_X86_32 | ||
95 | " .long 0b\n" | ||
96 | " .long 2b\n" | ||
97 | #else | ||
94 | " .quad 0b\n" | 98 | " .quad 0b\n" |
95 | " .quad 2b\n" | 99 | " .quad 2b\n" |
100 | #endif | ||
96 | ".previous\n" | 101 | ".previous\n" |
97 | : [rslt] "=r" (result) | 102 | : [rslt] "=r" (result) |
98 | : [fake_code] "r" (address), [zero] "r" (0UL), "0" (result) | 103 | : [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 8bab2b2efaff..9c4ffd5bedb2 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, | |||
817 | #endif | 817 | #endif |
818 | return n; | 818 | return n; |
819 | } | 819 | } |
820 | EXPORT_SYMBOL(__copy_from_user_ll_nocache); | ||
820 | 821 | ||
821 | unsigned long __copy_from_user_ll_nocache_nozero(void *to, const void __user *from, | 822 | unsigned long __copy_from_user_ll_nocache_nozero(void *to, const void __user *from, |
822 | unsigned long n) | 823 | unsigned long n) |
@@ -831,6 +832,7 @@ unsigned long __copy_from_user_ll_nocache_nozero(void *to, const void __user *fr | |||
831 | #endif | 832 | #endif |
832 | return n; | 833 | return n; |
833 | } | 834 | } |
835 | EXPORT_SYMBOL(__copy_from_user_ll_nocache_nozero); | ||
834 | 836 | ||
835 | /** | 837 | /** |
836 | * copy_to_user: - Copy a block of data into user space. | 838 | * copy_to_user: - Copy a block of data into user space. |