summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2004-02-04 21:20:24 -0800
committerLinus Torvalds <torvalds@home.osdl.org>2004-02-04 21:20:24 -0800
commitd4e883c113a3c14fc2d56841683d193150d80c68 (patch)
treedcb1f1beddfd4bb819f67ee744e82fc274181384
parenteb085eea1654ee94adb05344e097be083511c605 (diff)
[PATCH] ppc64: Remove pvr from the paca
From: Anton Blanchard <anton@samba.org> Slowly removing non essential things from the paca
-rw-r--r--arch/ppc64/kernel/setup.c6
-rw-r--r--arch/ppc64/kernel/smp.c4
-rw-r--r--include/asm-ppc64/paca.h3
3 files changed, 9 insertions, 4 deletions
diff --git a/arch/ppc64/kernel/setup.c b/arch/ppc64/kernel/setup.c
index 27292d6cfd2a..ab761aff6221 100644
--- a/arch/ppc64/kernel/setup.c
+++ b/arch/ppc64/kernel/setup.c
@@ -283,6 +283,10 @@ EXPORT_SYMBOL(machine_halt);
unsigned long ppc_proc_freq;
unsigned long ppc_tb_freq;
+#ifdef CONFIG_SMP
+DEFINE_PER_CPU(unsigned int, pvr);
+#endif
+
static int show_cpuinfo(struct seq_file *m, void *v)
{
unsigned long cpu_id = (unsigned long)v - 1;
@@ -302,7 +306,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
return 0;
#ifdef CONFIG_SMP
- pvr = paca[cpu_id].pvr;
+ pvr = per_cpu(pvr, cpu_id);
#else
pvr = _get_PVR();
#endif
diff --git a/arch/ppc64/kernel/smp.c b/arch/ppc64/kernel/smp.c
index a3cf10c6a1a1..2b2d286fec65 100644
--- a/arch/ppc64/kernel/smp.c
+++ b/arch/ppc64/kernel/smp.c
@@ -575,9 +575,11 @@ extern struct gettimeofday_struct do_gtod;
struct thread_info *current_set[NR_CPUS];
+DECLARE_PER_CPU(unsigned int, pvr);
+
static void __devinit smp_store_cpu_info(int id)
{
- paca[id].pvr = _get_PVR();
+ per_cpu(pvr, id) = _get_PVR();
}
void __init smp_prepare_cpus(unsigned int max_cpus)
diff --git a/include/asm-ppc64/paca.h b/include/asm-ppc64/paca.h
index 1babe35028d5..24a2e99faae1 100644
--- a/include/asm-ppc64/paca.h
+++ b/include/asm-ppc64/paca.h
@@ -64,14 +64,13 @@ struct paca_struct {
u16 xHwProcNum; /* Physical processor number 0x1A */
u32 default_decr; /* Default decrementer value 0x1c */
u64 xKsave; /* Saved Kernel stack addr or zero 0x20 */
- u64 pvr; /* Processor version register 0x28 */
struct ItLpQueue *lpQueuePtr; /* LpQueue handled by this processor 0x30 */
u64 xTOC; /* Kernel TOC address 0x38 */
STAB xStab_data; /* Segment table information 0x40,0x48,0x50 */
u8 *exception_sp; /* 0x58 */
u8 xProcEnabled; /* 0x59 */
u8 prof_enabled; /* 1=iSeries profiling enabled 0x60 */
- u8 resv1[30]; /* 0x61-0x7F */
+ u8 resv1[38]; /* 0x61-0x7F */
/*=====================================================================================
* CACHE_LINE_2 0x0080 - 0x00FF