aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2006-12-11 00:31:42 -0500
committerPaul Mackerras <paulus@samba.org>2006-12-11 00:31:42 -0500
commit973c1fabc70deb10f12a0eaab2f50c2263784257 (patch)
tree5b0ef183757049d241d0709f0cea9e370627b687 /arch/powerpc
parent4383162c8f2fa75d916c4901b0d1ebcac7aeaf74 (diff)
parentd10f73480b991da2aa1c000ed38eda3e4a987292 (diff)
Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/Kconfig2
-rw-r--r--arch/powerpc/kernel/cputable.c5
-rw-r--r--arch/powerpc/kernel/head_32.S7
-rw-r--r--arch/powerpc/kernel/of_device.c4
-rw-r--r--arch/powerpc/kernel/ppc_ksyms.c2
-rw-r--r--arch/powerpc/kernel/traps.c2
-rw-r--r--arch/powerpc/sysdev/Makefile3
7 files changed, 16 insertions, 9 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index f524b3bf68c8..a35212b7346e 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -707,7 +707,7 @@ config FORCE_MAX_ZONEORDER
707 707
708config MATH_EMULATION 708config MATH_EMULATION
709 bool "Math emulation" 709 bool "Math emulation"
710 depends on 4xx || 8xx || E200 || E500 710 depends on 4xx || 8xx || E200 || PPC_83xx || E500
711 ---help--- 711 ---help---
712 Some PowerPC chips designed for embedded applications do not have 712 Some PowerPC chips designed for embedded applications do not have
713 a floating-point unit and therefore do not implement the 713 a floating-point unit and therefore do not implement the
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index 9d1614c3ce67..b742013bb9da 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -833,7 +833,7 @@ static struct cpu_spec cpu_specs[] = {
833 .pvr_mask = 0x7fff0000, 833 .pvr_mask = 0x7fff0000,
834 .pvr_value = 0x00840000, 834 .pvr_value = 0x00840000,
835 .cpu_name = "e300c2", 835 .cpu_name = "e300c2",
836 .cpu_features = CPU_FTRS_E300, 836 .cpu_features = CPU_FTRS_E300C2,
837 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU, 837 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
838 .icache_bsize = 32, 838 .icache_bsize = 32,
839 .dcache_bsize = 32, 839 .dcache_bsize = 32,
@@ -1136,8 +1136,7 @@ static struct cpu_spec cpu_specs[] = {
1136 .pvr_mask = 0xff000fff, 1136 .pvr_mask = 0xff000fff,
1137 .pvr_value = 0x53000890, 1137 .pvr_value = 0x53000890,
1138 .cpu_name = "440SPe Rev. A", 1138 .cpu_name = "440SPe Rev. A",
1139 .cpu_features = CPU_FTR_SPLIT_ID_CACHE | 1139 .cpu_features = CPU_FTRS_44X,
1140 CPU_FTR_USE_TB,
1141 .cpu_user_features = COMMON_USER_BOOKE, 1140 .cpu_user_features = COMMON_USER_BOOKE,
1142 .icache_bsize = 32, 1141 .icache_bsize = 32,
1143 .dcache_bsize = 32, 1142 .dcache_bsize = 32,
diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S
index d88e182e40b3..9417cf5b4b7e 100644
--- a/arch/powerpc/kernel/head_32.S
+++ b/arch/powerpc/kernel/head_32.S
@@ -437,6 +437,13 @@ Alignment:
437/* Floating-point unavailable */ 437/* Floating-point unavailable */
438 . = 0x800 438 . = 0x800
439FPUnavailable: 439FPUnavailable:
440BEGIN_FTR_SECTION
441/*
442 * Certain Freescale cores don't have a FPU and treat fp instructions
443 * as a FP Unavailable exception. Redirect to illegal/emulation handling.
444 */
445 b ProgramCheck
446END_FTR_SECTION_IFSET(CPU_FTR_FPU_UNAVAILABLE)
440 EXCEPTION_PROLOG 447 EXCEPTION_PROLOG
441 bne load_up_fpu /* if from user, just load it up */ 448 bne load_up_fpu /* if from user, just load it up */
442 addi r3,r1,STACK_FRAME_OVERHEAD 449 addi r3,r1,STACK_FRAME_OVERHEAD
diff --git a/arch/powerpc/kernel/of_device.c b/arch/powerpc/kernel/of_device.c
index 8a06724e029e..e921514e655b 100644
--- a/arch/powerpc/kernel/of_device.c
+++ b/arch/powerpc/kernel/of_device.c
@@ -109,9 +109,7 @@ int of_device_register(struct of_device *ofdev)
109 if (rc) 109 if (rc)
110 return rc; 110 return rc;
111 111
112 device_create_file(&ofdev->dev, &dev_attr_devspec); 112 return device_create_file(&ofdev->dev, &dev_attr_devspec);
113
114 return 0;
115} 113}
116 114
117void of_device_unregister(struct of_device *ofdev) 115void of_device_unregister(struct of_device *ofdev)
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
index 9179f0739ea2..95776b6af4e2 100644
--- a/arch/powerpc/kernel/ppc_ksyms.c
+++ b/arch/powerpc/kernel/ppc_ksyms.c
@@ -208,7 +208,7 @@ EXPORT_SYMBOL(mmu_hash_lock); /* For MOL */
208extern long *intercept_table; 208extern long *intercept_table;
209EXPORT_SYMBOL(intercept_table); 209EXPORT_SYMBOL(intercept_table);
210#endif /* CONFIG_PPC_STD_MMU_32 */ 210#endif /* CONFIG_PPC_STD_MMU_32 */
211#if defined(CONFIG_40x) || defined(CONFIG_BOOKE) 211#ifdef CONFIG_PPC_DCR_NATIVE
212EXPORT_SYMBOL(__mtdcr); 212EXPORT_SYMBOL(__mtdcr);
213EXPORT_SYMBOL(__mfdcr); 213EXPORT_SYMBOL(__mfdcr);
214#endif 214#endif
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 0d4e203fa7a0..fde820e52d03 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -782,6 +782,8 @@ void __kprobes program_check_exception(struct pt_regs *regs)
782 unsigned int reason = get_reason(regs); 782 unsigned int reason = get_reason(regs);
783 extern int do_mathemu(struct pt_regs *regs); 783 extern int do_mathemu(struct pt_regs *regs);
784 784
785 /* We can now get here via a FP Unavailable exception if the core
786 * has no FPU, in that case no reason flags will be set */
785#ifdef CONFIG_MATH_EMULATION 787#ifdef CONFIG_MATH_EMULATION
786 /* (reason & REASON_ILLEGAL) would be the obvious thing here, 788 /* (reason & REASON_ILLEGAL) would be the obvious thing here,
787 * but there seems to be a hardware bug on the 405GP (RevD) 789 * but there seems to be a hardware bug on the 405GP (RevD)
diff --git a/arch/powerpc/sysdev/Makefile b/arch/powerpc/sysdev/Makefile
index 6cc34597a620..04d4917eb303 100644
--- a/arch/powerpc/sysdev/Makefile
+++ b/arch/powerpc/sysdev/Makefile
@@ -5,7 +5,8 @@ endif
5obj-$(CONFIG_MPIC) += mpic.o 5obj-$(CONFIG_MPIC) += mpic.o
6obj-$(CONFIG_PPC_INDIRECT_PCI) += indirect_pci.o 6obj-$(CONFIG_PPC_INDIRECT_PCI) += indirect_pci.o
7obj-$(CONFIG_PPC_MPC106) += grackle.o 7obj-$(CONFIG_PPC_MPC106) += grackle.o
8obj-$(CONFIG_PPC_DCR) += dcr.o dcr-low.o 8obj-$(CONFIG_PPC_DCR) += dcr.o
9obj-$(CONFIG_PPC_DCR_NATIVE) += dcr-low.o
9obj-$(CONFIG_U3_DART) += dart_iommu.o 10obj-$(CONFIG_U3_DART) += dart_iommu.o
10obj-$(CONFIG_MMIO_NVRAM) += mmio_nvram.o 11obj-$(CONFIG_MMIO_NVRAM) += mmio_nvram.o
11obj-$(CONFIG_FSL_SOC) += fsl_soc.o 12obj-$(CONFIG_FSL_SOC) += fsl_soc.o