aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/vdso.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/vdso.c')
-rw-r--r--arch/powerpc/kernel/vdso.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c
index 7d14bb697d40..9eb5b9b536a7 100644
--- a/arch/powerpc/kernel/vdso.c
+++ b/arch/powerpc/kernel/vdso.c
@@ -24,7 +24,6 @@
24#include <linux/memblock.h> 24#include <linux/memblock.h>
25 25
26#include <asm/pgtable.h> 26#include <asm/pgtable.h>
27#include <asm/system.h>
28#include <asm/processor.h> 27#include <asm/processor.h>
29#include <asm/mmu.h> 28#include <asm/mmu.h>
30#include <asm/mmu_context.h> 29#include <asm/mmu_context.h>
@@ -263,17 +262,11 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)
263 * the "data" page of the vDSO or you'll stop getting kernel updates 262 * the "data" page of the vDSO or you'll stop getting kernel updates
264 * and your nice userland gettimeofday will be totally dead. 263 * and your nice userland gettimeofday will be totally dead.
265 * It's fine to use that for setting breakpoints in the vDSO code 264 * It's fine to use that for setting breakpoints in the vDSO code
266 * pages though 265 * pages though.
267 *
268 * Make sure the vDSO gets into every core dump.
269 * Dumping its contents makes post-mortem fully interpretable later
270 * without matching up the same kernel and hardware config to see
271 * what PC values meant.
272 */ 266 */
273 rc = install_special_mapping(mm, vdso_base, vdso_pages << PAGE_SHIFT, 267 rc = install_special_mapping(mm, vdso_base, vdso_pages << PAGE_SHIFT,
274 VM_READ|VM_EXEC| 268 VM_READ|VM_EXEC|
275 VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC| 269 VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC,
276 VM_ALWAYSDUMP,
277 vdso_pagelist); 270 vdso_pagelist);
278 if (rc) { 271 if (rc) {
279 current->mm->context.vdso_base = 0; 272 current->mm->context.vdso_base = 0;
@@ -727,10 +720,10 @@ static int __init vdso_init(void)
727 vdso_data->version.minor = SYSTEMCFG_MINOR; 720 vdso_data->version.minor = SYSTEMCFG_MINOR;
728 vdso_data->processor = mfspr(SPRN_PVR); 721 vdso_data->processor = mfspr(SPRN_PVR);
729 /* 722 /*
730 * Fake the old platform number for pSeries and iSeries and add 723 * Fake the old platform number for pSeries and add
731 * in LPAR bit if necessary 724 * in LPAR bit if necessary
732 */ 725 */
733 vdso_data->platform = machine_is(iseries) ? 0x200 : 0x100; 726 vdso_data->platform = 0x100;
734 if (firmware_has_feature(FW_FEATURE_LPAR)) 727 if (firmware_has_feature(FW_FEATURE_LPAR))
735 vdso_data->platform |= 1; 728 vdso_data->platform |= 1;
736 vdso_data->physicalMemorySize = memblock_phys_mem_size(); 729 vdso_data->physicalMemorySize = memblock_phys_mem_size();