[PATCH][RFC] remove paca pointer from the naca

Stephen Rothwell sfr at canb.auug.org.au
Fri Dec 10 18:48:37 EST 2004


Hi all,

This patch just removes the paca pointer from the naca (and the one
reference to it).  It turns out that it was just there so that the
iSeries startup code could find the paca in order to pass a member
of it to iSeries_early_init - which now takes no arguments ...

Built and booted on iSeries (which is the only thing affected).
Built on pSeries and pmac.
-- 
Cheers,
Stephen Rothwell                    sfr at canb.auug.org.au
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-10 16:26:44.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-10 16:26:51.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 */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://ozlabs.org/pipermail/linuxppc64-dev/attachments/20041210/3cd105e8/attachment.pgp 


More information about the Linuxppc64-dev mailing list