lkml.org 
[lkml]   [2004]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
Date
From
Subject[PATCH] ppc32 support for Apple Xserve G5s
Hi,

The following patch makes ppc32 work on Xserve G5 systems (ppc64 support
was already there, I just backported a few bits).

http://powerpc.no-name-yet.com/patches/xserve-g5.diff

diff -ru kernel-source-2.6.7.orig/arch/ppc/kernel/cpu_setup_power4.S kernel-source-2.6.7/arch/ppc/kernel/cpu_setup_power4.S
--- kernel-source-2.6.7.orig/arch/ppc/kernel/cpu_setup_power4.S 2004-06-16 06:19:43.000000000 +0100
+++ kernel-source-2.6.7/arch/ppc/kernel/cpu_setup_power4.S 2004-07-15 13:16:44.000000000 +0100
@@ -112,7 +112,9 @@
/* We only deal with 970 for now */
mfspr r0,SPRN_PVR
srwi r0,r0,16
- cmpwi r0,0x39
+ cmpwi cr0,r0,0x39
+ cmpwi cr1,r0,0x3c
+ cror 4*cr0+eq,4*cr0+eq,4*cr1+eq
bne 1f

/* Save HID0,1,4 and 5 */
@@ -144,7 +146,9 @@
/* We only deal with 970 for now */
mfspr r0,SPRN_PVR
srwi r0,r0,16
- cmpwi r0,0x39
+ cmpwi cr0,r0,0x39
+ cmpwi cr1,r0,0x3c
+ cror 4*cr0+eq,4*cr0+eq,4*cr1+eq
bne 1f

/* Clear interrupt prefix */
diff -ru kernel-source-2.6.7.orig/arch/ppc/kernel/cputable.c kernel-source-2.6.7/arch/ppc/kernel/cputable.c
--- kernel-source-2.6.7.orig/arch/ppc/kernel/cputable.c 2004-06-16 06:19:26.000000000 +0100
+++ kernel-source-2.6.7/arch/ppc/kernel/cputable.c 2004-07-15 13:29:54.000000000 +0100
@@ -419,6 +419,15 @@
128, 128,
__setup_cpu_ppc970
},
+ { /* PPC970FX */
+ 0xffff0000, 0x003c0000, "PPC970FX",
+ CPU_FTR_COMMON |
+ CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE |
+ CPU_FTR_ALTIVEC_COMP | CPU_FTR_CAN_NAP,
+ COMMON_PPC | PPC_FEATURE_64 | PPC_FEATURE_ALTIVEC_COMP,
+ 128, 128,
+ __setup_cpu_ppc970
+ },
#endif /* CONFIG_POWER4 */
#ifdef CONFIG_8xx
{ /* 8xx */
diff -ru kernel-source-2.6.7.orig/arch/ppc/platforms/pmac_feature.c kernel-source-2.6.7/arch/ppc/platforms/pmac_feature.c
--- kernel-source-2.6.7.orig/arch/ppc/platforms/pmac_feature.c 2004-06-16 06:20:03.000000000 +0100
+++ kernel-source-2.6.7/arch/ppc/platforms/pmac_feature.c 2004-07-15 11:23:44.000000000 +0100
@@ -2137,6 +2137,10 @@
PMAC_TYPE_POWERMAC_G5, g5_features,
0,
},
+ { "RackMac3,1", "XServe G5",
+ PMAC_TYPE_POWERMAC_G5, g5_features,
+ 0,
+ },
#endif /* CONFIG_POWER4 */
};

Our system didn't have a video card, only a serial console, so I had to
apply the following to get any feedback at all. Other people in a
similar situation might find it useful. However, I've no idea why it was
disabled in the first place, so I'm not asking for this to be applied,
merely curious ...

diff -ru kernel-source-2.6.7.orig/arch/ppc/kernel/head.S kernel-source-2.6.7/arch/ppc/kernel/head.S
--- kernel-source-2.6.7.orig/arch/ppc/kernel/head.S 2004-06-16 06:19:35.000000000 +0100
+++ kernel-source-2.6.7/arch/ppc/kernel/head.S 2004-07-15 14:02:22.000000000 +0100
@@ -1617,7 +1617,7 @@
lis r4,0x2000 /* set pseudo-segment reg 12 */
ori r5,r4,0x0ccc
mtsr 12,r5
-#if 0
+#if 1
ori r5,r4,0x0888 /* set pseudo-segment reg 8 */
mtsr 8,r5 /* (for access to serial port) */
#endif
Thanks,

--
Colin Watson [cjwatson@flatline.org.uk]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:04    [W:0.022 / U:2.304 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site