Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
powerpc/cell/axon-msi: Fix MSI after kexec
powerpc: Fix bootmem reservation on uninitialized node
powerpc: Check for valid hugepage size in hugetlb_get_unmapped_area

+17 -5
+3
arch/powerpc/mm/hugetlbpage.c
··· 507 507 { 508 508 struct hstate *hstate = hstate_file(file); 509 509 int mmu_psize = shift_to_mmu_psize(huge_page_shift(hstate)); 510 + 511 + if (!mmu_huge_psizes[mmu_psize]) 512 + return -EINVAL; 510 513 return slice_get_unmapped_area(addr, len, flags, mmu_psize, 1, 0); 511 514 } 512 515
+11 -5
arch/powerpc/mm/numa.c
··· 901 901 if (end_pfn > node_ar.end_pfn) 902 902 reserve_size = (node_ar.end_pfn << PAGE_SHIFT) 903 903 - (start_pfn << PAGE_SHIFT); 904 - dbg("reserve_bootmem %lx %lx nid=%d\n", physbase, 905 - reserve_size, node_ar.nid); 906 - reserve_bootmem_node(NODE_DATA(node_ar.nid), physbase, 907 - reserve_size, BOOTMEM_DEFAULT); 904 + /* 905 + * Only worry about *this* node, others may not 906 + * yet have valid NODE_DATA(). 907 + */ 908 + if (node_ar.nid == nid) { 909 + dbg("reserve_bootmem %lx %lx nid=%d\n", 910 + physbase, reserve_size, node_ar.nid); 911 + reserve_bootmem_node(NODE_DATA(node_ar.nid), 912 + physbase, reserve_size, 913 + BOOTMEM_DEFAULT); 914 + } 908 915 /* 909 916 * if reserved region is contained in the active region 910 917 * then done. ··· 936 929 void __init do_init_bootmem(void) 937 930 { 938 931 int nid; 939 - unsigned int i; 940 932 941 933 min_low_pfn = 0; 942 934 max_low_pfn = lmb_end_of_DRAM() >> PAGE_SHIFT;
+3
arch/powerpc/platforms/cell/axon_msi.c
··· 413 413 MSIC_CTRL_IRQ_ENABLE | MSIC_CTRL_ENABLE | 414 414 MSIC_CTRL_FIFO_SIZE); 415 415 416 + msic->read_offset = dcr_read(msic->dcr_host, MSIC_WRITE_OFFSET_REG) 417 + & MSIC_FIFO_SIZE_MASK; 418 + 416 419 device->dev.platform_data = msic; 417 420 418 421 ppc_md.setup_msi_irqs = axon_msi_setup_msi_irqs;