Cc more people. On 09/08/17 at 10:10am, Bhupesh Sharma wrote: > Kernel commit 2f18d533757da3899f4bedab0b2c051b080079dc lowered the > max real address on ppc64 to 53 bits. > > Make similar changes in makedumpfile (on basis of the underlying kernel > version), without which the makedumpfile will fail to create a dumpfile > and instead throw a SEGV fault as shown below on kernels >= v4.11: > > # makedumpfile --split -d 31 -x vmlinux vmcore dumpfile_{1,2,3} 2>&1 > > The kernel version is not supported. > The makedumpfile operation may be incomplete. > [ 1196.252094] makedumpfile[2367]: unhandled signal 11 at > 00000100f7011ca8 nip 000000001001eecc lr 000000001001f3c0 code 30001 > Segmentation fault > > Signed-off-by: Bhupesh Sharma <bhsharma at redhat.com> > --- > makedumpfile.h | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/makedumpfile.h b/makedumpfile.h > index 7d81bbcf2234..142753d84e8d 100644 > --- a/makedumpfile.h > +++ b/makedumpfile.h > @@ -684,8 +684,9 @@ unsigned long get_kvbase_arm64(void); > #define PMD_MASKED_BITS_64K_4_6 0xc0000000000000ffUL > > #define PTE_RPN_MASK_DEFAULT 0xffffffffffffffffUL > -#define PTE_RPN_SIZE_L4_4_6 (info->page_size == 65536 ? 41 : 45) > -#define PTE_RPN_MASK_L4_4_6 (((1UL << PTE_RPN_SIZE_L4_4_6) - 1) << info->page_shift) > +#define PAGE_PA_MAX_L4_4_6 (info->kernel_version >= KERNEL_VERSION(4,11,0) ? 53 : 57) > +#define PTE_RPN_MASK_L4_4_6 \ > + (((1UL << PAGE_PA_MAX_L4_4_6) - 1) & ~((1UL << info->page_shift) - 1)) > #define PTE_RPN_SHIFT_L4_4_6 info->page_shift > > #define PGD_MASKED_BITS_4_7 0xc0000000000000ffUL > -- > 2.7.4 >