aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2006-05-29 23:51:37 -0400
committerPaul Mackerras <paulus@samba.org>2006-06-09 07:20:57 -0400
commita5bba930d802009c259e56c8d53086d96f63813b (patch)
tree8dd60002042bc0795b3d0544fcae7f5082405b16 /include/asm-powerpc
parent98a90c02792f22afd8161f96fc9b9f0f0eb0880e (diff)
[PATCH] powerpc vdso updates
This patch cleans up some locking & error handling in the ppc vdso and moves the vdso base pointer from the thread struct to the mm context where it more logically belongs. It brings the powerpc implementation closer to Ingo's new x86 one and also adds an arch_vma_name() function allowing to print [vsdo] in /proc/<pid>/maps if Ingo's x86 vdso patch is also applied. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-powerpc')
-rw-r--r--include/asm-powerpc/elf.h2
-rw-r--r--include/asm-powerpc/mmu.h1
-rw-r--r--include/asm-powerpc/page.h3
-rw-r--r--include/asm-powerpc/processor.h1
4 files changed, 5 insertions, 2 deletions
diff --git a/include/asm-powerpc/elf.h b/include/asm-powerpc/elf.h
index 94d228f9c6ac..319655ce66c0 100644
--- a/include/asm-powerpc/elf.h
+++ b/include/asm-powerpc/elf.h
@@ -294,7 +294,7 @@ do { \
294 NEW_AUX_ENT(AT_DCACHEBSIZE, dcache_bsize); \ 294 NEW_AUX_ENT(AT_DCACHEBSIZE, dcache_bsize); \
295 NEW_AUX_ENT(AT_ICACHEBSIZE, icache_bsize); \ 295 NEW_AUX_ENT(AT_ICACHEBSIZE, icache_bsize); \
296 NEW_AUX_ENT(AT_UCACHEBSIZE, ucache_bsize); \ 296 NEW_AUX_ENT(AT_UCACHEBSIZE, ucache_bsize); \
297 VDSO_AUX_ENT(AT_SYSINFO_EHDR, current->thread.vdso_base) \ 297 VDSO_AUX_ENT(AT_SYSINFO_EHDR, current->mm->context.vdso_base) \
298} while (0) 298} while (0)
299 299
300/* PowerPC64 relocations defined by the ABIs */ 300/* PowerPC64 relocations defined by the ABIs */
diff --git a/include/asm-powerpc/mmu.h b/include/asm-powerpc/mmu.h
index 31f721994bd8..96e47d1ce979 100644
--- a/include/asm-powerpc/mmu.h
+++ b/include/asm-powerpc/mmu.h
@@ -360,6 +360,7 @@ typedef struct {
360#ifdef CONFIG_HUGETLB_PAGE 360#ifdef CONFIG_HUGETLB_PAGE
361 u16 low_htlb_areas, high_htlb_areas; 361 u16 low_htlb_areas, high_htlb_areas;
362#endif 362#endif
363 unsigned long vdso_base;
363} mm_context_t; 364} mm_context_t;
364 365
365 366
diff --git a/include/asm-powerpc/page.h b/include/asm-powerpc/page.h
index ae610b620487..a315d0c0d96a 100644
--- a/include/asm-powerpc/page.h
+++ b/include/asm-powerpc/page.h
@@ -192,6 +192,9 @@ extern void copy_user_page(void *to, void *from, unsigned long vaddr,
192 struct page *p); 192 struct page *p);
193extern int page_is_ram(unsigned long pfn); 193extern int page_is_ram(unsigned long pfn);
194 194
195struct vm_area_struct;
196extern const char *arch_vma_name(struct vm_area_struct *vma);
197
195#include <asm-generic/memory_model.h> 198#include <asm-generic/memory_model.h>
196#endif /* __ASSEMBLY__ */ 199#endif /* __ASSEMBLY__ */
197 200
diff --git a/include/asm-powerpc/processor.h b/include/asm-powerpc/processor.h
index 93f83efeb310..d5c7ef1cca26 100644
--- a/include/asm-powerpc/processor.h
+++ b/include/asm-powerpc/processor.h
@@ -153,7 +153,6 @@ struct thread_struct {
153 unsigned long start_tb; /* Start purr when proc switched in */ 153 unsigned long start_tb; /* Start purr when proc switched in */
154 unsigned long accum_tb; /* Total accumilated purr for process */ 154 unsigned long accum_tb; /* Total accumilated purr for process */
155#endif 155#endif
156 unsigned long vdso_base; /* base of the vDSO library */
157 unsigned long dabr; /* Data address breakpoint register */ 156 unsigned long dabr; /* Data address breakpoint register */
158#ifdef CONFIG_ALTIVEC 157#ifdef CONFIG_ALTIVEC
159 /* Complete AltiVec register set */ 158 /* Complete AltiVec register set */