aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-01-30 19:48:53 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2008-01-30 19:48:53 -0500
commit6232665040f9a23fafd9d94d4ae8d5a2dc850f65 (patch)
tree21ee1b178d0f96ad9f4932e4da8abccf2fbeae96 /arch
parent94ed294c20ef07fffa40817c68155fba35dd67f1 (diff)
parentc18d1250c7425dddd2633ce4eaf03d5015e68a0f (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/Kconfig2
-rw-r--r--arch/ia64/kernel/module.c11
-rw-r--r--arch/powerpc/Kconfig2
-rw-r--r--arch/sparc64/Kconfig2
-rw-r--r--arch/sparc64/mm/init.c5
-rw-r--r--arch/x86/kernel/test_nx.c5
-rw-r--r--arch/x86/lib/usercopy_32.c2
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
83config ARCH_SETS_UP_PER_CPU_AREA 83config HAVE_SETUP_PER_CPU_AREA
84 def_bool y 84 def_bool y
85 85
86config DMI 86config 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
945void
946percpu_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
45config ARCH_SETS_UP_PER_CPU_AREA 45config HAVE_SETUP_PER_CPU_AREA
46 def_bool PPC64 46 def_bool PPC64
47 47
48config IRQ_PER_CPU 48config 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
69config ARCH_SETS_UP_PER_CPU_AREA 69config HAVE_SETUP_PER_CPU_AREA
70 def_bool y 70 def_bool y
71 71
72config ARCH_NO_VIRT_TO_BUS 72config 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];
1328static void sun4u_pgprot_init(void); 1328static void sun4u_pgprot_init(void);
1329static void sun4v_pgprot_init(void); 1329static void sun4v_pgprot_init(void);
1330 1330
1331/* Dummy function */
1332void __init setup_per_cpu_areas(void)
1333{
1334}
1335
1331void __init paging_init(void) 1336void __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}
820EXPORT_SYMBOL(__copy_from_user_ll_nocache);
820 821
821unsigned long __copy_from_user_ll_nocache_nozero(void *to, const void __user *from, 822unsigned 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}
835EXPORT_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.