[PATCH 5/11] PPC64: remove the paca pointer form the naca

From: Stephen Rothwell
Date: Mon Jan 03 2005 - 23:55:18 EST


Hi Andrew,

The only place that was using the paca pointer that was in the naca was
some assembler that used it to find a parameter to pass to some C code.
That C code did not even declare that parameter!

Remove the paca pointer.

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/

diff -ruN linus-bk-naca.4/arch/ppc64/kernel/asm-offsets.c linus-bk-naca.5/arch/ppc64/kernel/asm-offsets.c
--- linus-bk-naca.4/arch/ppc64/kernel/asm-offsets.c 2004-12-31 14:52:14.000000000 +1100
+++ linus-bk-naca.5/arch/ppc64/kernel/asm-offsets.c 2004-12-10 17:27:14.000000000 +1100
@@ -28,7 +28,6 @@
#include <asm/pgtable.h>
#include <asm/processor.h>

-#include <asm/naca.h>
#include <asm/paca.h>
#include <asm/iSeries/ItLpPaca.h>
#include <asm/iSeries/ItLpQueue.h>
@@ -68,8 +67,6 @@
#endif /* CONFIG_ALTIVEC */
DEFINE(MM, offsetof(struct task_struct, mm));

- /* naca */
- DEFINE(PACA, offsetof(struct naca_struct, paca));
DEFINE(DCACHEL1LINESIZE, offsetof(struct ppc64_caches, dline_size));
DEFINE(DCACHEL1LOGLINESIZE, offsetof(struct ppc64_caches, log_dline_size));
DEFINE(DCACHEL1LINESPERPAGE, offsetof(struct ppc64_caches, dlines_per_page));
diff -ruN linus-bk-naca.4/arch/ppc64/kernel/head.S linus-bk-naca.5/arch/ppc64/kernel/head.S
--- linus-bk-naca.4/arch/ppc64/kernel/head.S 2004-11-26 12:08:51.000000000 +1100
+++ linus-bk-naca.5/arch/ppc64/kernel/head.S 2004-12-10 18:40:24.000000000 +1100
@@ -517,12 +517,7 @@
__start_naca:
#ifdef CONFIG_PPC_ISERIES
.llong itVpdAreas
-#else
- .llong 0x0
#endif
- .llong 0x0
- .llong 0x0
- .llong paca

. = SYSTEMCFG_PHYS_ADDR
.globl __end_naca
@@ -1241,6 +1236,7 @@
#endif
#endif
b 3b /* Loop until told to go */
+
#ifdef CONFIG_PPC_ISERIES
_STATIC(__start_initialization_iSeries)
/* Clear out the BSS */
@@ -1278,10 +1274,6 @@
SET_REG_TO_CONST(r4, NACA_VIRT_ADDR)
std r4,0(r9) /* set the naca pointer */

- /* Get the pointer to the segment table */
- ld r6,PACA(r4) /* Get the base paca pointer */
- ld r4,PACASTABVIRT(r6)
-
bl .iSeries_early_setup

/* relocation is on at this point */
diff -ruN linus-bk-naca.4/include/asm-ppc64/naca.h linus-bk-naca.5/include/asm-ppc64/naca.h
--- linus-bk-naca.4/include/asm-ppc64/naca.h 2004-12-31 14:53:21.000000000 +1100
+++ linus-bk-naca.5/include/asm-ppc64/naca.h 2004-12-10 18:42:14.000000000 +1100
@@ -11,7 +11,6 @@
*/

#include <asm/types.h>
-#include <asm/systemcfg.h>

#ifndef __ASSEMBLY__

@@ -20,7 +19,6 @@
void *xItVpdAreas; /* VPD Data 0x00 */
void *xRamDisk; /* iSeries ramdisk 0x08 */
u64 xRamDiskSize; /* In pages 0x10 */
- struct paca_struct *paca; /* Ptr to an array of pacas 0x18 */
u64 debug_switch; /* Debug print control 0x20 */
u64 banner; /* Ptr to banner string 0x28 */
u64 log; /* Ptr to log buffer 0x30 */

Attachment: pgp00000.pgp
Description: PGP signature