diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2006-05-29 23:51:37 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-06-09 07:20:57 -0400 |
commit | a5bba930d802009c259e56c8d53086d96f63813b (patch) | |
tree | 8dd60002042bc0795b3d0544fcae7f5082405b16 /include | |
parent | 98a90c02792f22afd8161f96fc9b9f0f0eb0880e (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')
-rw-r--r-- | include/asm-powerpc/elf.h | 2 | ||||
-rw-r--r-- | include/asm-powerpc/mmu.h | 1 | ||||
-rw-r--r-- | include/asm-powerpc/page.h | 3 | ||||
-rw-r--r-- | include/asm-powerpc/processor.h | 1 |
4 files changed, 5 insertions, 2 deletions
diff --git a/include/asm-powerpc/elf.h b/include/asm-powerpc/elf.h index 94d228f9c6a..319655ce66c 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 31f721994bd..96e47d1ce97 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 ae610b62048..a315d0c0d96 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); |
193 | extern int page_is_ram(unsigned long pfn); | 193 | extern int page_is_ram(unsigned long pfn); |
194 | 194 | ||
195 | struct vm_area_struct; | ||
196 | extern 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 93f83efeb31..d5c7ef1cca2 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 */ |