summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/entry_32.S
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2005-10-26 17:05:24 +1000
committerPaul Mackerras <paulus@samba.org>2005-10-26 17:05:24 +1000
commit033ef338b6e007dc081c6282a4f2a9dd761f8cd2 (patch)
tree3c77fad71c3d9ba04ddcdaea33063aaf7520ddb0 /arch/powerpc/kernel/entry_32.S
parentf9bd170a87948a9e077149b70fb192c563770fdf (diff)
downloadlinux-033ef338b6e007dc081c6282a4f2a9dd761f8cd2.tar.gz
linux-033ef338b6e007dc081c6282a4f2a9dd761f8cd2.tar.bz2
linux-033ef338b6e007dc081c6282a4f2a9dd761f8cd2.zip
powerpc: Merge rtas.c into arch/powerpc/kernel
This splits arch/ppc64/kernel/rtas.c into arch/powerpc/kernel/rtas.c, which contains generic RTAS functions useful on any CHRP platform, and arch/powerpc/platforms/pseries/rtas-fw.[ch], which contain some pSeries-specific firmware flashing bits. The parts of rtas.c that are to do with pSeries-specific error logging are protected by a new CONFIG_RTAS_ERROR_LOGGING symbol. The inclusion of rtas.o is controlled by the CONFIG_PPC_RTAS symbol, and the relevant platforms select that. Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/entry_32.S')
-rw-r--r--arch/powerpc/kernel/entry_32.S12
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S
index 37b4396ca978..960da7bea043 100644
--- a/arch/powerpc/kernel/entry_32.S
+++ b/arch/powerpc/kernel/entry_32.S
@@ -954,7 +954,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_601)
* here so it's easy to add arch-specific sections later.
* -- Cort
*/
-#ifdef CONFIG_PPC_OF
+#ifdef CONFIG_PPC_RTAS
/*
* On CHRP, the Run-Time Abstraction Services (RTAS) have to be
* called with the MMU off.
@@ -963,14 +963,13 @@ _GLOBAL(enter_rtas)
stwu r1,-INT_FRAME_SIZE(r1)
mflr r0
stw r0,INT_FRAME_SIZE+4(r1)
- lis r4,rtas_data@ha
- lwz r4,rtas_data@l(r4)
+ LOADADDR(r4, rtas)
lis r6,1f@ha /* physical return address for rtas */
addi r6,r6,1f@l
tophys(r6,r6)
tophys(r7,r1)
- lis r8,rtas_entry@ha
- lwz r8,rtas_entry@l(r8)
+ lwz r8,RTASENTRY(r4)
+ lwz r4,RTASBASE(r4)
mfmsr r9
stw r9,8(r1)
LOAD_MSR_KERNEL(r0,MSR_KERNEL)
@@ -978,7 +977,6 @@ _GLOBAL(enter_rtas)
MTMSRD(r0) /* don't get trashed */
li r9,MSR_KERNEL & ~(MSR_IR|MSR_DR)
mtlr r6
- CLR_TOP32(r7)
mtspr SPRN_SPRG2,r7
mtspr SPRN_SRR0,r8
mtspr SPRN_SRR1,r9
@@ -999,4 +997,4 @@ machine_check_in_rtas:
twi 31,0,0
/* XXX load up BATs and panic */
-#endif /* CONFIG_PPC_OF */
+#endif /* CONFIG_PPC_RTAS */