Reza Arbab <ar...@linux.vnet.ibm.com> writes: > diff --git a/arch/powerpc/mm/pgtable-radix.c b/arch/powerpc/mm/pgtable-radix.c > index 623a0dc..2ce1354 100644 > --- a/arch/powerpc/mm/pgtable-radix.c > +++ b/arch/powerpc/mm/pgtable-radix.c > @@ -107,54 +107,66 @@ int radix__map_kernel_page(unsigned long ea, unsigned > long pa, > return 0; > } > > +static inline void __meminit print_mapping(unsigned long start, > + unsigned long end, > + unsigned long size) > +{ > + if (end <= start) > + return; > + > + pr_info("Mapped range 0x%lx - 0x%lx with 0x%lx\n", start, end, size); > +} > + > +static int __meminit create_physical_mapping(unsigned long start, > + unsigned long end) > +{ > + unsigned long addr, mapping_size; > + > + start = _ALIGN_UP(start, PAGE_SIZE); > + for (addr = start; addr < end; addr += mapping_size) { > + unsigned long gap, previous_size; > + int rc; > + > + gap = end - addr; > + previous_size = mapping_size; > + > + if (IS_ALIGNED(addr, PUD_SIZE) && gap >= PUD_SIZE && > + mmu_psize_defs[MMU_PAGE_1G].shift) > + mapping_size = PUD_SIZE; > + else if (IS_ALIGNED(addr, PMD_SIZE) && gap >= PMD_SIZE && > + mmu_psize_defs[MMU_PAGE_2M].shift) > + mapping_size = PMD_SIZE; > + else > + mapping_size = PAGE_SIZE; > + > + if (mapping_size != previous_size) { > + print_mapping(start, addr, previous_size); > + start = addr; > + } > + > + rc = radix__map_kernel_page((unsigned long)__va(addr), addr, > + PAGE_KERNEL_X, mapping_size); > + if (rc) > + return rc; > + } > + > + print_mapping(start, addr, mapping_size);
Doesn't build. In file included from ../include/linux/kernel.h:13:0, from ../include/linux/sched.h:17, from ../arch/powerpc/mm/pgtable-radix.c:11: ../arch/powerpc/mm/pgtable-radix.c: In function ‘create_physical_mapping’: ../include/linux/printk.h:299:2: error: ‘mapping_size’ may be used uninitialized in this function [-Werror=maybe-uninitialized] printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~ ../arch/powerpc/mm/pgtable-radix.c:123:22: note: ‘mapping_size’ was declared here unsigned long addr, mapping_size; ^~~~~~~~~~~~ cheers