diff options
Diffstat (limited to 'arch/powerpc/kernel/vdso.c')
-rw-r--r-- | arch/powerpc/kernel/vdso.c | 15 |
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(); |