config PROC_DEVICETREE
        bool "Support for Open Firmware device tree in /proc"
-       depends on PPC_OF && PROC_FS
+       depends on (PPC_OF || PPC_ISERIES) && PROC_FS
        help
          This option adds a device-tree directory under /proc which contains
          an image of the device tree that the kernel copies from Open
 
 # Makefile for the linux ppc-specific parts of the memory manager.
 #
 
+ifeq ($(CONFIG_PPC64),y)
+EXTRA_CFLAGS   += -mno-minimal-toc
+endif
+
 obj-y                          := fault.o mem.o lmb.o
 obj-$(CONFIG_PPC32)            += init_32.o pgtable_32.o mmu_context_32.o \
                                   tlb_32.o
 
+EXTRA_CFLAGS   += -mno-minimal-toc
+
 obj-y += hvlog.o hvlpconfig.o lpardata.o setup.o mf.o lpevents.o \
        hvcall.o proc.o htab.o iommu.o misc.o
 obj-$(CONFIG_PCI) += pci.o irq.o vpdinfo.o
 
        u32 loadAreaFirstChunk, loadAreaLastChunk, loadAreaSize;
        u32 nextPhysChunk;
        u32 hptFirstChunk, hptLastChunk, hptSizeChunks, hptSizePages;
-       u32 num_ptegs;
        u32 totalChunks,moreChunks;
        u32 currChunk, thisChunk, absChunk;
        u32 currDword;
        printk("HPT absolute addr = %016lx, size = %dK\n",
                        chunk_to_addr(hptFirstChunk), hptSizeChunks * 256);
 
-       /* Fill in the hashed page table hash mask */
-       num_ptegs = hptSizePages *
-               (PAGE_SIZE / (sizeof(hpte_t) * HPTES_PER_GROUP));
-       htab_hash_mask = num_ptegs - 1;
+       ppc64_pft_size = __ilog2(hptSizePages * PAGE_SIZE);
 
        /*
         * The actual hashed page table is in the hypervisor,