)]}'
{
  "log": [
    {
      "commit": "8b31e49d1d75729c1da9009664ba52abd1adc628",
      "tree": "046095a0cce051a471c7af93784c024c29a4f99b",
      "parents": [
        "f637a49e507c88354ab32b5d914e06acfb7ee00d"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed May 27 13:50:33 2009 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed May 27 16:33:59 2009 +1000"
      },
      "message": "powerpc: Fix up dma_alloc_coherent() on platforms without cache coherency.\n\nThe implementation we just revived has issues, such as using a\nKconfig-defined virtual address area in kernel space that nothing\nactually carves out (and thus will overlap whatever is there),\nor having some dependencies on being self contained in a single\nPTE page which adds unnecessary constraints on the kernel virtual\naddress space.\n\nThis fixes it by using more classic PTE accessors and automatically\nlocating the area for consistent memory, carving an appropriate hole\nin the kernel virtual address space, leaving only the size of that\narea as a Kconfig option. It also brings some dma-mask related fixes\nfrom the ARM implementation which was almost identical initially but\ngrew its own fixes.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f637a49e507c88354ab32b5d914e06acfb7ee00d",
      "tree": "60ec94bc3dcf323028faf8b7fd31e6d4c73f2bb5",
      "parents": [
        "b16e7766d6436835f473ba823ad04fbdfe5e9cbd"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed May 27 13:44:50 2009 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed May 27 16:32:50 2009 +1000"
      },
      "message": "powerpc: Minor cleanups of kernel virt address space definitions\n\nMake FIXADDR_TOP a compile time constant and cleanup a\ncouple of definitions relative to the layout of the kernel\naddress space on ppc32. We also print out that layout at\nboot time for debugging purposes.\n\nThis is a pre-requisite for properly fixing non-coherent\nDMA allocactions.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "b16e7766d6436835f473ba823ad04fbdfe5e9cbd",
      "tree": "7eae18fe2341e6482a16d55af1667800400ee5ea",
      "parents": [
        "84532a0fc3d5811dca8e3726fe4d372ea87bd7c6"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed May 27 13:36:10 2009 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed May 27 16:32:05 2009 +1000"
      },
      "message": "powerpc: Move dma-noncoherent.c from arch/powerpc/lib to arch/powerpc/mm\n\n(pre-requisite to make the next patches more palatable)\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "8e35961b57da14cb64cb0e4e1b7e3aabda6396fe",
      "tree": "a3382764e95b0b760e667f43ddd88d7628c746d7",
      "parents": [
        "59a3759d0fe8d969888c741bb33f4946e4d3750d"
      ],
      "author": {
        "name": "Hideo Saito",
        "email": "hsaito.ppc@gmail.com",
        "time": "Sun May 24 15:33:34 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue May 26 13:46:49 2009 +1000"
      },
      "message": "powerpc/mm: Fix broken MMU PID stealing on !SMP\n\nThe recent rework of the MMU PID handling for non-hash CPUs has a\nsubtle bug in the !SMP \"optimized\" variant of the PID stealing\nfunction.  It clears the PID in the mm context before it calls\nlocal_flush_tlb_mm(). However, the later will not flush anything\nif the PID in the context is clear...\n\nSigned-off-by: Hideo Saito \u003chsaito.ppc@gmail.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "af3e4aca47d2e05a545a5e10ba5c7193e0b665e0",
      "tree": "975177790c7172e360ad7f716096845b4494952b",
      "parents": [
        "86460103c412f9e11aeb7950cce64b9e51539d4d"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Thu Apr 30 10:59:19 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon May 18 15:19:04 2009 +1000"
      },
      "message": "powerpc: Do not assert pte_locked for hugepage PTE entries\n\nWith CONFIG_DEBUG_VM, an assertion is made when changing the protection\nflags of a PTE that the PTE is locked. Huge pages use a different pagetable\nformat and the assertion is bogus and will always trigger with a bug looking\nsomething like\n\n Unable to handle kernel paging request for data at address 0xf1a00235800006f8\n Faulting instruction address: 0xc000000000034a80\n Oops: Kernel access of bad area, sig: 11 [#1]\n SMP NR_CPUS\u003d32 NUMA Maple\n Modules linked in: dm_snapshot dm_mirror dm_region_hash\n  dm_log dm_mod loop evdev ext3 jbd mbcache sg sd_mod ide_pci_generic\n  pata_amd ata_generic ipr libata tg3 libphy scsi_mod windfarm_pid\n  windfarm_smu_sat windfarm_max6690_sensor windfarm_lm75_sensor\n  windfarm_cpufreq_clamp windfarm_core i2c_powermac\n NIP: c000000000034a80 LR: c000000000034b18 CTR: 0000000000000003\n REGS: c000000003037600 TRAP: 0300   Not tainted (2.6.30-rc3-autokern1)\n MSR: 9000000000009032 \u003cEE,ME,IR,DR\u003e  CR: 28002484  XER: 200fffff\n DAR: f1a00235800006f8, DSISR: 0000000040010000\n TASK \u003d c0000002e54cc740[2960] \u0027map_high_trunca\u0027 THREAD: c000000003034000 CPU: 2\n GPR00: 4000000000000000 c000000003037880 c000000000895d30 c0000002e5a2e500\n GPR04: 00000000a0000000 c0000002edc40880 0000005700000393 0000000000000001\n GPR08: f000000011ac0000 01a00235800006e8 00000000000000f5 f1a00235800006e8\n GPR12: 0000000028000484 c0000000008dd780 0000000000001000 0000000000000000\n GPR16: fffffffffffff000 0000000000000000 00000000a0000000 c000000003037a20\n GPR20: c0000002e5f4ece8 0000000000001000 c0000002edc40880 0000000000000000\n GPR24: c0000002e5f4ece8 0000000000000000 00000000a0000000 c0000002e5f4ece8\n GPR28: 0000005700000393 c0000002e5a2e500 00000000a0000000 c000000003037880\n NIP [c000000000034a80] .assert_pte_locked+0xa4/0xd0\n LR [c000000000034b18] .ptep_set_access_flags+0x6c/0xb4\n Call Trace:\n [c000000003037880] [c000000003037990] 0xc000000003037990 (unreliable)\n [c000000003037910] [c000000000034b18] .ptep_set_access_flags+0x6c/0xb4\n [c0000000030379b0] [c00000000014bef8] .hugetlb_cow+0x124/0x674\n [c000000003037b00] [c00000000014c930] .hugetlb_fault+0x4e8/0x6f8\n [c000000003037c00] [c00000000013443c] .handle_mm_fault+0xac/0x828\n [c000000003037cf0] [c0000000000340a8] .do_page_fault+0x39c/0x584\n [c000000003037e30] [c0000000000057b0] handle_page_fault+0x20/0x5c\n Instruction dump:\n 7d29582a 7d200074 7800d182 0b000000 3c004000 3960ffff 780007c6 796b00c4\n 7d290214 7929a302 1d290068 7d6b4a14 \u003c800b0010\u003e 7c000074 7800d182 0b000000\n\nThis patch fixes the problem by not asseting the PTE is locked for VMAs\nbacked by huge pages.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "49a849652513235a244dfbf5e58c54f796bd1148",
      "tree": "809fe33bad6255fab153fb5a7f03170150ab88c7",
      "parents": [
        "31207dab7d2e63795eb15823947bd2f7025b08e2"
      ],
      "author": {
        "name": "Becky Bruce",
        "email": "beckyb@kernel.crashing.org",
        "time": "Fri May 08 12:19:27 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri May 15 16:43:41 2009 +1000"
      },
      "message": "powerpc: Allow mem\u003dx cmdline to work with 4G+\n\nWe\u0027re currently choking on mem\u003d4g (and above) due to memory_limit\nbeing specified as an unsigned long. Make memory_limit\nphys_addr_t to fix this.\n\nSigned-off-by: Becky Bruce \u003cbeckyb@kernel.crashing.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "b62c31ae401c6df25c61b206681a6e904ef97169",
      "tree": "42ae15a818eccb959353816b97eec9db572ae77b",
      "parents": [
        "323d23aeac4918c7a540b597a26fa7a67645593a"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu Apr 23 22:56:11 2009 +1000"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Thu Apr 23 08:52:16 2009 -0500"
      },
      "message": "powerpc: fix for long standing bug noticed by gcc 4.4.0\n\nPrevious gcc versions didn\u0027t notice this because one of the preceding\n#ifs always evaluated to true.\n\ngcc 4.4.0 produced this error:\n\narch/powerpc/mm/tlb_nohash_low.S:206:6: error: #elif with no expression\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: Josh Boyer \u003cjwboyer@linux.vnet.ibm.com\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "323d23aeac4918c7a540b597a26fa7a67645593a",
      "tree": "6d8861e65b1753168552f8e4b22a1f82d4ad7a41",
      "parents": [
        "6329db8bd60fbc0832f30c350b0181b8d865573e"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Thu Apr 23 08:51:22 2009 -0500"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Thu Apr 23 08:51:22 2009 -0500"
      },
      "message": "Revert \"powerpc: Add support for early tlbilx opcode\"\n\nThis reverts commit e9965577406a2148ade97b5e0ce7c448b4ba4ef6.  Our HW\nguys were able to fix this so it never sees the light of day.\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "24f1ce803c55f645429e6a7dd94763fbace84b0a",
      "tree": "0f80fc2e3699845379437780c793850bc59e37aa",
      "parents": [
        "5bd3ef84d73c2ea7b4babbad060909753c4828d4"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Thu Apr 16 04:47:32 2009 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Apr 22 14:56:34 2009 +1000"
      },
      "message": "powerpc: Fix crash on CPU hotplug\n\nearly_init_mmu_secondary() is called at CPU hotplug time, so it\nmust be marked as __cpuinit, not __init.\n\nCaused by 757c74d2 (\"powerpc/mm: Introduce early_init_mmu() on 64-bit\").\n\nTested-by: Sachin Sant \u003csachinp@in.ibm.com\u003e\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "52ce67f157f8c5623524dc6c5b2ddd6a0d2aa774",
      "tree": "944b206ad2613a5417d2d7029d15a5b601660614",
      "parents": [
        "54ca40dcb5b956c30495e8c7b73c9ad636fb58bd"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Tue Apr 07 21:58:07 2009 -0500"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Tue Apr 07 22:11:10 2009 -0500"
      },
      "message": "powerpc/mm: Fix compile warning\n\narch/powerpc/mm/tlb_nohash.c: In function \u0027flush_tlb_mm\u0027:\narch/powerpc/mm/tlb_nohash.c:128: warning: unused variable \u0027cpu_mask\u0027\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e9965577406a2148ade97b5e0ce7c448b4ba4ef6",
      "tree": "c1291c2942e50af47c9391f6308d5f9c17377220",
      "parents": [
        "7281f5dc2c9582f3efaed9b367837ca6117d7b7f"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Mon Apr 06 23:36:50 2009 -0500"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Tue Apr 07 01:36:30 2009 -0500"
      },
      "message": "powerpc: Add support for early tlbilx opcode\n\nDuring the ISA 2.06 development the opcode for tlbilx changed and some\nearly implementations used to old opcode.  Add support for a MMU_FTR\nfixup to deal with this.\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "757c74d298dc8438760b8dea275c4c6e0ac8a77f",
      "tree": "77c694ad28230b3714c039fe54ab5497febfd4ac",
      "parents": [
        "a033a487f8ae79800a15774cb6565cbbca685fc6"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Mar 19 19:34:16 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Mar 24 13:47:34 2009 +1100"
      },
      "message": "powerpc/mm: Introduce early_init_mmu() on 64-bit\n\nThis moves some MMU related init code out of setup_64.c into hash_utils_64.c\nand calls it early_init_mmu() and early_init_mmu_secondary(). This will\nmake it easier to plug in a new MMU type.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "ff7c660092de1f70e156cf95784a4b55556412d9",
      "tree": "8d55c21e650478da862320e0369d9decba182951",
      "parents": [
        "d62cbf45a84d442a6b79d993c05edfb283bab8f8"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Mar 19 19:34:13 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Mar 24 13:47:34 2009 +1100"
      },
      "message": "powerpc/mm: Fix printk type warning in mmu_context_nohash\n\nWe need to use %zu instead of %d when printing a sizeof()\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "d62cbf45a84d442a6b79d993c05edfb283bab8f8",
      "tree": "930ba143139eb299d045c040175789a3efb541b2",
      "parents": [
        "71087002cf807e25056dba4e4028a9f204dc9ffd"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Mar 19 19:34:11 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Mar 24 13:47:33 2009 +1100"
      },
      "message": "powerpc/mm: Rename arch/powerpc/kernel/mmap.c to mmap_64.c\n\nThis file is only useful on 64-bit, so we name it accordingly.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "8d1cf34e7ad5c7738ce20d20bd7f002f562cb8b5",
      "tree": "f731b8b2d3e71e7287bed977bdd7fc9ea6942d45",
      "parents": [
        "2a7d55fda58eb4e3652252d4f71222bd1ff90c5e"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Mar 19 19:34:08 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Mar 24 13:47:33 2009 +1100"
      },
      "message": "powerpc/mm: Tweak PTE bit combination definitions\n\nThis patch tweaks the way some PTE bit combinations are defined, in such a\nway that the 32 and 64-bit variant become almost identical and that will\nmake it easier to bring in a new common pte-* file for the new variant\nof the Book3-E support.\n\nThe combination of bits defining access to kernel pages are now clearly\nseparated from the combination used by userspace and the core VM. The\nresulting generated code should remain identical unless I made a mistake.\n\nNote: While at it, I removed a non-sensical statement related to CONFIG_KGDB\nin ppc_mmu_32.c which could cause kernel mappings to be user accessible when\nthat option is enabled. Probably something that bitrot.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "56aa4129e87be43676c6e3eac41a6aa553877802",
      "tree": "51fff04b2393a6e2ae6f6ab2b27126428eec651d",
      "parents": [
        "f5ac590e79d693d4239997265405535a2e0c36bd"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Mar 15 18:16:43 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Mar 24 13:47:29 2009 +1100"
      },
      "message": "cpumask: Use mm_cpumask() wrapper instead of cpu_vm_mask\n\nMakes code futureproof against the impending change to mm-\u003ecpu_vm_mask.\n\nIt\u0027s also a chance to use the new cpumask_ ops which take a pointer\n(the older ones are deprecated, but there\u0027s no hurry for arch code).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "9e5efaa9360f26e0052d16f7a40d002a6a18863b",
      "tree": "e337345b30c7da10e6c00f4305dec8b5b73afc12",
      "parents": [
        "353bca5ed4e0705ed4a1ac7b82491b223c3b55ba"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Mar 10 17:24:37 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Mar 11 17:11:34 2009 +1100"
      },
      "message": "powerpc/mm: Properly wire up get_user_pages_fast() on 32-bit\n\nWhile we did add support for _PAGE_SPECIAL on some 32-bit platforms,\nwe never actually built get_user_pages_fast() on them. This fixes\nit which requires a little bit of ifdef\u0027ing around.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "1cdab55d8a8313f77a95fb8ca966dc4334f8e810",
      "tree": "09649768514553e9c25d1a5a53a5cd567d0e138d",
      "parents": [
        "16962e7ce1dce29e1e92d231ac7d6844d7385d54"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sun Feb 22 16:19:14 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Mar 11 17:10:14 2009 +1100"
      },
      "message": "powerpc: Wire up /proc/vmallocinfo to our ioremap()\n\nThis adds the necessary bits and pieces to powerpc implementation of\nioremap to benefit from caller tracking in /proc/vmallocinfo, at least\nfor ioremap\u0027s done after mem init as the older ones aren\u0027t tracked.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c3071951d0acd33b5c3f820fb5eaa3a9c2a8f212",
      "tree": "d52a9b1142c7d0f753f497f611f05cccbc12950f",
      "parents": [
        "c026c98739c7e435440e76cbcd96e0f8ebeeada0"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Tue Feb 10 22:26:06 2009 -0600"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Mon Mar 09 09:25:38 2009 -0500"
      },
      "message": "powerpc/fsl-booke: Add support for tlbilx instructions\n\nThe e500mc core supports the new tlbilx instructions that do core\nlocal invalidates and also provide us the ability to take down\nall TLB entries matching a given PID.\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "002b0ec73dd8b784004e5a013ad9f2fa6274af5a",
      "tree": "8d614f85805a4884fcf485f292eb158c7aceb0af",
      "parents": [
        "a5adc91a4b44b5d1706b9d906cc14fe4f312afe9"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Sun Feb 22 01:50:06 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Feb 23 15:53:21 2009 +1100"
      },
      "message": "powerpc: Increase stack gap on 64bit binaries\n\nOn 64bit there is a possibility our stack and mmap randomisation will put\nthe two close enough such that we can\u0027t expand our stack to match the ulimit\nspecified.\n\nTo avoid this, start the upper mmap address at 1GB + 128MB below the top of our\naddress space, so in the worst case we end up with the same ~128MB hole as in\n32bit. This works because we randomise the stack over a 1GB range.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "a5adc91a4b44b5d1706b9d906cc14fe4f312afe9",
      "tree": "f0f5053b44b53fea4065bd05aeb9f0a53090d9dd",
      "parents": [
        "912f9ee21c836081e3c96dfe61025841ebeb95da"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Sun Feb 22 01:50:05 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Feb 23 15:53:21 2009 +1100"
      },
      "message": "powerpc: Ensure random space between stack and mmaps\n\nget_random_int() returns the same value within a 1 jiffy interval. This means\nthat the mmap and stack regions will almost always end up the same distance\napart, making a relative offset based attack possible.\n\nTo fix this, shift the randomness we use for the mmap region by 1 bit.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "9f14c42d7582bf33bbe1e133d897a6942ceae08e",
      "tree": "fe95aaa735051496863f81f413afb2d3c128fb75",
      "parents": [
        "13a2cb3694d7237e6cc3e94fcb311b81908ccd06"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Sun Feb 22 01:50:01 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Feb 23 15:53:07 2009 +1100"
      },
      "message": "powerpc: Randomise mmap start address\n\nRandomise mmap start address - 8MB on 32bit and 1GB on 64bit tasks.\nUntil ppc32 uses the mmap.c functionality, this is ppc64 specific.\n\nBefore:\n\n# ./test \u0026 cat /proc/${!}/maps|tail -2|head -1\nf75fe000-f7fff000 rw-p f75fe000 00:00 0\nf75fe000-f7fff000 rw-p f75fe000 00:00 0\nf75fe000-f7fff000 rw-p f75fe000 00:00 0\nf75fe000-f7fff000 rw-p f75fe000 00:00 0\nf75fe000-f7fff000 rw-p f75fe000 00:00 0\n\nAfter:\n# ./test \u0026 cat /proc/${!}/maps|tail -2|head -1\nf718b000-f7b8c000 rw-p f718b000 00:00 0\nf7551000-f7f52000 rw-p f7551000 00:00 0\nf6ee7000-f78e8000 rw-p f6ee7000 00:00 0\nf74d4000-f7ed5000 rw-p f74d4000 00:00 0\nf6e9d000-f789e000 rw-p f6e9d000 00:00 0\n\nSimilar for 64bit, but with 1GB of scatter:\n# ./test \u0026 cat /proc/${!}/maps|tail -2|head -1\nfffb97b5000-fffb97b6000 rw-p fffb97b5000 00:00 0\nfffce9a3000-fffce9a4000 rw-p fffce9a3000 00:00 0\nfffeaaf2000-fffeaaf3000 rw-p fffeaaf2000 00:00 0\nfffd88ac000-fffd88ad000 rw-p fffd88ac000 00:00 0\nfffbc62e000-fffbc62f000 rw-p fffbc62e000 00:00 0\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "13a2cb3694d7237e6cc3e94fcb311b81908ccd06",
      "tree": "a2d0dfaa1b054059e0c384e05c97e3dff8ddb277",
      "parents": [
        "a465f9b694bcfa4957d06751c0274ded49421c82"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Sun Feb 22 01:50:00 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Feb 23 15:53:06 2009 +1100"
      },
      "message": "powerpc: Rearrange mmap.c\n\nRearrange mmap.c to better match the x86 version.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "0f16ef7fd3880575b59d0b0f0c9a2ef96e057522",
      "tree": "f6fb686562a88813dc83d8d13bee00adf524e4c1",
      "parents": [
        "f52862f4070fb930e407d466aa82d8efcc98c9ed"
      ],
      "author": {
        "name": "Nathan Fontenot",
        "email": "nfont@austin.ibm.com",
        "time": "Tue Feb 17 08:08:30 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Feb 23 15:53:04 2009 +1100"
      },
      "message": "powerpc/numa: Cleanup hot_add_scn_to_nid\n\nThis patch reworks the hot_add_scn_to_nid and its supporting functions\nto make them easier to understand.  There are no functional changes in\nthis patch and has been tested on machine with memory represented in the\ndevice tree as memory nodes and in the ibm,dynamic-memory property.\n\nMy previous patch that introduced support for hotplug memory add on\nsystems whose memory was represented by the ibm,dynamic-memory property\nof the device tree only left the code more unintelligible.  This\nwill hopefully makes things easier to understand.\n\nSigned-off-by: Nathan Fontenot \u003cnfont@austin.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "13870b657578bcce167978ee93dc02bf54e3beb0",
      "tree": "c7c5ece57c707eacf465af5b954c7b4234b71d96",
      "parents": [
        "33f00dcedb0e22cdb156a23632814fc580fcfcf8"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Fri Feb 13 11:57:30 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Feb 23 10:48:58 2009 +1100"
      },
      "message": "powerpc/mm: Reduce hashtable size when using 64kB pages\n\nAt the moment we size the hashtable based on 4kB pages / 2, even on a\n64kB kernel. This results in a hashtable that is much larger than it\nneeds to be.\n\nGrab the real page size and size the hashtable based on that\n\nNote: This only has effect on non hypervisor machines.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "3b7faeb49e7c35db857b595c389436994ab1275e",
      "tree": "973208eb935876ebed9f2baf262ed08351764752",
      "parents": [
        "82a0a1cc8f94bc59e5919715bc03fc8353fa770d",
        "96a8bac5895a41b0fb05a6aa7c3fa1ea631a91fe"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 18 13:23:30 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 18 13:23:30 2009 +1100"
      },
      "message": "Merge commit \u0027kumar/next\u0027 into next\n"
    },
    {
      "commit": "82a0a1cc8f94bc59e5919715bc03fc8353fa770d",
      "tree": "c25f19a0ae1f7cb75319b585c1d473cfed463f22",
      "parents": [
        "8d30c14cab30d405a05f2aaceda1e9ad57800f36",
        "5955c7a2cfb6a35429adea5dc480002b15ca8cfc"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 18 13:19:25 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 18 13:19:25 2009 +1100"
      },
      "message": "Merge commit \u0027origin/master\u0027 into next\n\nManual merge of:\n\tarch/powerpc/include/asm/pgtable-ppc32.h\n"
    },
    {
      "commit": "06eccea6c34e00c8fedce49229ed35fa84619fb7",
      "tree": "3f548f91cec3e10dc28a7ab36728e266cb41fb44",
      "parents": [
        "fbc78b07ba53ace155f27491c81a009e541a93ad"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Thu Feb 12 12:36:04 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Feb 13 16:37:45 2009 +1100"
      },
      "message": "powerpc/mm: Fix numa reserve bootmem page selection\n\nFix the powerpc NUMA reserve bootmem page selection logic.\n\ncommit 8f64e1f2d1e09267ac926e15090fd505c1c0cbcb (powerpc: Reserve\nin bootmem lmb reserved regions that cross NUMA nodes) changed\nthe logic for how the powerpc LMB reserved regions were converted\nto bootmen reserved regions.  As the folowing discussion reports,\nthe new logic was not correct.\n\nmark_reserved_regions_for_nid() goes through each LMB on the\nsystem that specifies a reserved area.  It searches for\nactive regions that intersect with that LMB and are on the\nspecified node.  It attempts to bootmem-reserve only the area\nwhere the active region and the reserved LMB intersect.  We\ncan not reserve things on other nodes as they may not have\nbootmem structures allocated, yet.\n\nWe base the size of the bootmem reservation on two possible\nthings.  Normally, we just make the reservation start and\nstop exactly at the start and end of the LMB.\n\nHowever, the LMB reservations are not aware of NUMA nodes and\non occasion a single LMB may cross into several adjacent\nactive regions.  Those may even be on different NUMA nodes\nand will require separate calls to the bootmem reserve\nfunctions.  So, the bootmem reservation must be trimmed to\nfit inside the current active region.\n\nThat\u0027s all fine and dandy, but we trim the reservation\nin a page-aligned fashion.  That\u0027s bad because we start the\nreservation at a non-page-aligned address: physbase.\n\nThe reservation may only span 2 bytes, but that those bytes\nmay span two pfns and cause a reserve_size of 2*PAGE_SIZE.\n\nTake the case where you reserve 0x2 bytes at 0x0fff and\nwhere the active region ends at 0x1000.  You\u0027ll jump into\nthat if() statment, but node_ar.end_pfn\u003d0x1 and\nstart_pfn\u003d0x0.  You\u0027ll end up with a reserve_size\u003d0x1000,\nand then call\n\n  reserve_bootmem_node(node, physbase\u003d0xfff, size\u003d0x1000);\n\n0x1000 may not be on the same node as 0xfff.  Oops.\n\nIn almost all the vm code, end_\u003canything\u003e is not inclusive.\nIf you have an end_pfn of 0x1234, page 0x1234 is not\nincluded in the range.  Using PFN_UP instead of the\n(\u003e\u003e \u003e\u003e PAGE_SHIFT) will make this consistent with the other VM\ncode.\n\nWe also need to do math for the reserved size with physbase\ninstead of start_pfn.  node_ar.end_pfn \u003c\u003c PAGE_SHIFT is\n*precisely* the end of the node.  However,\n(start_pfn \u003c\u003c PAGE_SHIFT) is *NOT* precisely the beginning\nof the reserved area.  That is, of course, physbase.\nIf we don\u0027t use physbase here, the reserve_size can be\nmade too large.\n\nFrom: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nTested-by: Geoff Levand \u003cgeoffrey.levand@am.sony.com\u003e  Tested on PS3.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "96a8bac5895a41b0fb05a6aa7c3fa1ea631a91fe",
      "tree": "62b44d0d1613b8cba537d5dd9b0d80d1b6adaa7e",
      "parents": [
        "70fe3af8403f85196bb74f22ce4813db7dfedc1a"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Thu Feb 12 09:39:23 2009 -0600"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Thu Feb 12 16:54:53 2009 -0600"
      },
      "message": "powerpc/fsl-booke: Fix compile warning\n\narch/powerpc/mm/fsl_booke_mmu.c: In function \u0027adjust_total_lowmem\u0027:\narch/powerpc/mm/fsl_booke_mmu.c:221: warning: format \u0027%ld\u0027 expects type \u0027long int\u0027, but argument 3 has type \u0027phys_addr_t\u0027\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "d66c82ea456853a71d88359b0c19a92ac1d393ff",
      "tree": "13346439fc4f4186c096ae19387934c0d1dd3841",
      "parents": [
        "a2404746f13b9df2cc6ee48010e921b9efdbba74"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Tue Feb 10 18:10:50 2009 -0600"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Thu Feb 12 16:37:11 2009 -0600"
      },
      "message": "powerpc/fsl-booke: Add new ISA 2.06 page sizes and MAS defines\n\nThe Power ISA 2.06 added power of two page sizes to the embedded MMU\narchitecture.  Its done it such a way to be code compatiable with the\nexisting HW.  Made the minor code changes to support both power of two\nand power of four page sizes.  Also added some new MAS bits and macros\nthat are defined as part of the 2.06 ISA.  Renamed some things to use\nthe \u0027Book-3e\u0027 concept to convey the new MMU that is based on the\nFreescale Book-E MMU programming model.\n\nNote, its still invalid to try and use a page size that isn\u0027t supported\nby cpu.\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f99fb8a2cbf0fd9ce9b2d5d298943d0d4dc479f7",
      "tree": "6412544d8bfa43be47dd959a999680c077240d80",
      "parents": [
        "1db8508cf483dc1ecf66141f90a7c03659d69512"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Tue Feb 10 10:57:46 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 11 16:07:02 2009 +1100"
      },
      "message": "powerpc/mm: Fix _PAGE_COHERENT support on classic ppc32 HW\n\nThe following commit:\n\ncommit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744\nAuthor: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nDate:   Thu Dec 18 19:13:51 2008 +0000\n\n    powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED\n\nbroke setting of the _PAGE_COHERENT bit in the PPC HW PTE.  Since we now\nactually set _PAGE_COHERENT in the Linux PTE we shouldn\u0027t be clearing it\nout before we propogate it to the PPC HW PTE.\n\nReported-by: Martyn Welch \u003cmartyn.welch@gefanuc.com\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "8d30c14cab30d405a05f2aaceda1e9ad57800f36",
      "tree": "f3c0f11b3ce157601719119b2fe4b6a869828ae8",
      "parents": [
        "4b7ad3593634c593d0e891ea415f9cf1bbcfcbd2"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 10 16:02:37 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 11 16:00:10 2009 +1100"
      },
      "message": "powerpc/mm: Rework I$/D$ coherency (v3)\n\nThis patch reworks the way we do I and D cache coherency on PowerPC.\n\nThe \"old\" way was split in 3 different parts depending on the processor type:\n\n   - Hash with per-page exec support (64-bit and \u003e\u003d POWER4 only) does it\nat hashing time, by preventing exec on unclean pages and cleaning pages\non exec faults.\n\n   - Everything without per-page exec support (32-bit hash, 8xx, and\n64-bit \u003c POWER4) does it for all page going to user space in update_mmu_cache().\n\n   - Embedded with per-page exec support does it from do_page_fault() on\nexec faults, in a way similar to what the hash code does.\n\nThat leads to confusion, and bugs. For example, the method using update_mmu_cache()\nis racy on SMP where another processor can see the new PTE and hash it in before\nwe have cleaned the cache, and then blow trying to execute. This is hard to hit but\nI think it has bitten us in the past.\n\nAlso, it\u0027s inefficient for embedded where we always end up having to do at least\none more page fault.\n\nThis reworks the whole thing by moving the cache sync into two main call sites,\nthough we keep different behaviours depending on the HW capability. The call\nsites are set_pte_at() which is now made out of line, and ptep_set_access_flags()\nwhich joins the former in pgtable.c\n\nThe base idea for Embedded with per-page exec support, is that we now do the\nflush at set_pte_at() time when coming from an exec fault, which allows us\nto avoid the double fault problem completely (we can even improve the situation\nmore by implementing TLB preload in update_mmu_cache() but that\u0027s for later).\n\nIf for some reason we didn\u0027t do it there and we try to execute, we\u0027ll hit\nthe page fault, which will do a minor fault, which will hit ptep_set_access_flags()\nto do things like update _PAGE_ACCESSED or _PAGE_DIRTY if needed, we just make\nthis guys also perform the I/D cache sync for exec faults now. This second path\nis the catch all for things that weren\u0027t cleaned at set_pte_at() time.\n\nFor cpus without per-pag exec support, we always do the sync at set_pte_at(),\nthus guaranteeing that when the PTE is visible to other processors, the cache\nis clean.\n\nFor the 64-bit hash with per-page exec support case, we keep the old mechanism\nfor now. I\u0027ll look into changing it later, once I\u0027ve reworked a bit how we\nuse _PAGE_EXEC.\n\nThis is also a first step for adding _PAGE_EXEC support for embedded platforms\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "91b0f5ec53336cfc6b2cd894a248dfadab9f34a6",
      "tree": "0da3591e973e9dc0750b47bc63d82bcc1d157184",
      "parents": [
        "2e74778c76521f180516a593fb2b2786d6fffa4e"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Feb 09 20:42:17 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 11 16:00:07 2009 +1100"
      },
      "message": "powerpc/mm: Move 64-bit unmapped_area to top of address space\n\nWe currently place mmaps just below the stack on 32bit, but leave them\nin the middle of the address space on 64bit:\n\n00100000-00120000 r-xp 00100000 00:00 0                    [vdso]\n10000000-10010000 r-xp 00000000 08:06 179534               /tmp/sleep\n10010000-10020000 rw-p 00000000 08:06 179534               /tmp/sleep\n10020000-10130000 rw-p 10020000 00:00 0                    [heap]\n40000000000-40000030000 r-xp 00000000 08:06 440743         /lib64/ld-2.9.so\n40000030000-40000040000 rw-p 00020000 08:06 440743         /lib64/ld-2.9.so\n40000050000-400001f0000 r-xp 00000000 08:06 440671         /lib64/libc-2.9.so\n400001f0000-40000200000 r--p 00190000 08:06 440671         /lib64/libc-2.9.so\n40000200000-40000220000 rw-p 001a0000 08:06 440671         /lib64/libc-2.9.so\n40000220000-40008230000 rw-p 40000220000 00:00 0\nfffffbc0000-fffffd10000 rw-p fffffeb0000 00:00 0           [stack]\n\nRight now it isn\u0027t an issue, but at some stage we will run into mmap or\nhugetlb allocation issues. Using the same layout as 32bit gives us a\nsome breathing room. This matches what x86-64 is doing too.\n\n00100000-00103000 r-xp 00100000 00:00 0                    [vdso]\n10000000-10001000 r-xp 00000000 08:06 554894               /tmp/test\n10010000-10011000 r--p 00000000 08:06 554894               /tmp/test\n10011000-10012000 rw-p 00001000 08:06 554894               /tmp/test\n10012000-10113000 rw-p 10012000 00:00 0                    [heap]\nfffefdf7000-ffff7df8000 rw-p fffefdf7000 00:00 0\nffff7df8000-ffff7f97000 r-xp 00000000 08:06 130591         /lib64/libc-2.9.so\nffff7f97000-ffff7fa6000 ---p 0019f000 08:06 130591         /lib64/libc-2.9.so\nffff7fa6000-ffff7faa000 r--p 0019e000 08:06 130591         /lib64/libc-2.9.so\nffff7faa000-ffff7fc0000 rw-p 001a2000 08:06 130591         /lib64/libc-2.9.so\nffff7fc0000-ffff7fc4000 rw-p ffff7fc0000 00:00 0\nffff7fc4000-ffff7fec000 r-xp 00000000 08:06 130663         /lib64/ld-2.9.so\nffff7fee000-ffff7ff0000 rw-p ffff7fee000 00:00 0\nffff7ffa000-ffff7ffb000 rw-p ffff7ffa000 00:00 0\nffff7ffb000-ffff7ffc000 r--p 00027000 08:06 130663         /lib64/ld-2.9.so\nffff7ffc000-ffff7fff000 rw-p 00028000 08:06 130663         /lib64/ld-2.9.so\nffff7fff000-ffff8000000 rw-p ffff7fff000 00:00 0\nfffffc59000-fffffc6e000 rw-p ffffffeb000 00:00 0           [stack]\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "8b16cd238d414b8942a23f0f753cdc57b17c231a",
      "tree": "a66ea5d382ecf4b89797af0bf933e5694fb53db0",
      "parents": [
        "20fcefe5a0a354b0cc78ec4634d9f72dab5f1ee9"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Thu Jan 08 02:19:45 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 11 13:37:59 2009 +1100"
      },
      "message": "powerpc/numa: Remove redundant find_cpu_node()\n\nUse of_get_cpu_node, which is a superset of numa.c\u0027s find_cpu_node in\na less restrictive section (text vs cpuinit).\n\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "20fcefe5a0a354b0cc78ec4634d9f72dab5f1ee9",
      "tree": "4ee7d4097a4e88f885cdae12748bb31779e25e5b",
      "parents": [
        "6a4d7a90fc452171eabb4b5b23ab780451ae7f5b"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Thu Jan 08 02:19:43 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 11 13:37:58 2009 +1100"
      },
      "message": "powerpc/numa: Avoid possible reference beyond prop. length in find_min_common_depth()\n\nfind_min_common_depth() was checking the property length incorrectly.\nThe value is in bytes not cells, and it is using the second entry.\n\nSigned-off-By: Milton Miller \u003cmiltonm@bga.com\u003e\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "edbc29d76ddbc9bd56e1cbc772188f70c616ffe1",
      "tree": "71b994ba493c46e10189c090fd17fe2da80281ec",
      "parents": [
        "1db8508cf483dc1ecf66141f90a7c03659d69512",
        "a0e8618c71b9b685977c1407dee928d86c5bdc2c"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 11 13:37:44 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 11 13:37:44 2009 +1100"
      },
      "message": "Merge commit \u0027kumar/next\u0027 into next\n"
    },
    {
      "commit": "6c24b17453c8dc444a746e45b8a404498fc9fcf7",
      "tree": "4164ccb60ca89ac37daa7f3f9c52a164473227b7",
      "parents": [
        "08c6e3a57877ceda5c2f4c99ae7d433b8eef779a"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Mon Feb 09 21:08:07 2009 -0600"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Mon Feb 09 21:11:55 2009 -0600"
      },
      "message": "powerpc/fsl-booke: Fix mapping functions to use phys_addr_t\n\nFixed v_mapped_by_tlbcam() and p_mapped_by_tlbcam() to use phys_addr_t\ninstead of unsigned long.  In 36-bit physical mode we really need these\nfunctions to deal with phys_addr_t when trying to match a physical\naddress or when returning one.\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "96051465fdc29e00dd14b484a45daac089c657f8",
      "tree": "4aa82c96d9a7e8c8b3b0c0c7f4ada4bf903ea422",
      "parents": [
        "c8f3570b7e2dd070ba6da41f3ed4ffb4e1d296af"
      ],
      "author": {
        "name": "Trent Piepho",
        "email": "tpiepho@freescale.com",
        "time": "Mon Dec 08 19:34:58 2008 -0800"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Wed Jan 28 18:16:54 2009 -0600"
      },
      "message": "powerpc/fsl-booke: Make CAM entries used for lowmem configurable\n\nOn booke processors, the code that maps low memory only uses up to three\nCAM entries, even though there are sixteen and nothing else uses them.\n\nMake this number configurable in the advanced options menu along with max\nlow memory size.  If one wants 1 GB of lowmem, then it\u0027s typically\nnecessary to have four CAM entries.\n\nSigned-off-by: Trent Piepho \u003ctpiepho@freescale.com\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c8f3570b7e2dd070ba6da41f3ed4ffb4e1d296af",
      "tree": "e1f8a91bdc37a10583e1b987d5cecf91b9362a30",
      "parents": [
        "f88747e7f68866f2f82cef1363c5b8e7aa13b0a3"
      ],
      "author": {
        "name": "Trent Piepho",
        "email": "tpiepho@freescale.com",
        "time": "Mon Dec 08 19:34:59 2008 -0800"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Wed Jan 28 18:16:53 2009 -0600"
      },
      "message": "powerpc/fsl-booke: Allow larger CAM sizes than 256 MB\n\nThe code that maps kernel low memory would only use page sizes up to 256\nMB.  On E500v2 pages up to 4 GB are supported.\n\nHowever, a page must be aligned to a multiple of the page\u0027s size.  I.e.\n256 MB pages must aligned to a 256 MB boundary.  This was enforced by a\nrequirement that the physical and virtual addresses of the start of lowmem\nbe aligned to 256 MB.  Clearly requiring 1GB or 4GB alignment to allow\npages of that size isn\u0027t acceptable.\n\nTo solve this, I simply have adjust_total_lowmem() take alignment into\naccount when it decides what size pages to use.  Give it PAGE_OFFSET \u003d\n0x7000_0000, PHYSICAL_START \u003d 0x3000_0000, and 2GB of RAM, and it will map\npages like this:\nPA 0x3000_0000 VA 0x7000_0000 Size 256 MB\nPA 0x4000_0000 VA 0x8000_0000 Size 1 GB\nPA 0x8000_0000 VA 0xC000_0000 Size 256 MB\nPA 0x9000_0000 VA 0xD000_0000 Size 256 MB\nPA 0xA000_0000 VA 0xE000_0000 Size 256 MB\n\nBecause the lowmem mapping code now takes alignment into account,\nPHYSICAL_ALIGN can be lowered from 256 MB to 64 MB.  Even lower might be\npossible.  The lowmem code will work down to 4 kB but it\u0027s possible some of\nthe boot code will fail before then.  Poor alignment will force small pages\nto be used, which combined with the limited number of TLB1 pages available,\nwill result in very little memory getting mapped.  So alignments less than\n64 MB probably aren\u0027t very useful anyway.\n\nSigned-off-by: Trent Piepho \u003ctpiepho@freescale.com\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f88747e7f68866f2f82cef1363c5b8e7aa13b0a3",
      "tree": "7adcbb1a619477de38eb12fcea2556dc609a0854",
      "parents": [
        "105c31df6fc5a424b480321763b5598cf3817821"
      ],
      "author": {
        "name": "Trent Piepho",
        "email": "tpiepho@freescale.com",
        "time": "Mon Dec 08 19:34:57 2008 -0800"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Wed Jan 28 18:16:51 2009 -0600"
      },
      "message": "powerpc/fsl-booke: Remove code duplication in lowmem mapping\n\nThe code to map lowmem uses three CAM aka TLB[1] entries to cover it.  The\nsize of each is stored in three globals named __cam0, __cam1, and __cam2.\nAll the code that uses them is duplicated three times for each of the three\nvariables.\n\nWe have these things called arrays and loops....\n\nOnce converted to use an array, it will be easier to make the number of\nCAMs configurable.\n\nSigned-off-by: Trent Piepho \u003ctpiepho@freescale.com\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "4c456a67f501b8b15542c7c21c28812bf88f484b",
      "tree": "0f1de24f488a59da4a7cc3445c89f8fe48b775aa",
      "parents": [
        "69b052e828b5ff32df7f96d6d3268a069910c663"
      ],
      "author": {
        "name": "Gerhard Pircher",
        "email": "gerhard_pircher@gmx.net",
        "time": "Fri Jan 23 06:51:28 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Jan 28 17:15:52 2009 +1100"
      },
      "message": "powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code\n\n_PAGE_COHERENT is now always set in _PAGE_RAM resp. PAGE_KERNEL.\nThus it has to be masked out, if the BAT mapping should be non\ncacheable or CPU_FTR_NEED_COHERENT is not set.\n\nThis will work on normal SMP setups because we force-set\nCPU_FTR_NEED_COHERENT as part of CPU_FTR_COMMON on SMP.\n\nSigned-off-by: Gerhard Pircher \u003cgerhard_pircher@gmx.net\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "9ba0fdbfaed2e74005d87fab948c5522b86ff733",
      "tree": "723f6080b37a16e7b0a75e017c0886898c58b7d7",
      "parents": [
        "5d9ee3ff3dbf815cd9ee18c166bb9b538e8057d2"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Wed Jan 14 09:09:34 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Jan 16 16:15:16 2009 +1100"
      },
      "message": "powerpc: is_hugepage_only_range() must account for both 4kB and 64kB slices\n\npowerpc: is_hugepage_only_range() must account for both 4kB and 64kB slices\n\nThe subpage_prot syscall fails on second and subsequent calls for a given\nregion, because is_hugepage_only_range() is mis-identifying the 4 kB\nslices when the process has a 64 kB page size.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "fe333321e2a71f706b794d55b6a3dcb5ab240f65",
      "tree": "8fd95cb033c6deaa3471023213c70ebfa7949f4b",
      "parents": [
        "66c721e184e594d5761c5db804ade08fab81930d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 14:26:03 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jan 13 14:47:59 2009 +1100"
      },
      "message": "powerpc: Change u64/s64 to a long long integer type\n\nConvert arch/powerpc/ over to long long based u64:\n\n -#ifdef __powerpc64__\n -# include \u003casm-generic/int-l64.h\u003e\n -#else\n -# include \u003casm-generic/int-ll64.h\u003e\n -#endif\n +#include \u003casm-generic/int-ll64.h\u003e\n\nThis will avoid reoccuring spurious warnings in core kernel code that\ncomes when people test on their own hardware. (i.e. x86 in ~98% of the\ncases) This is what x86 uses and it generally helps keep 64-bit code\n32-bit clean too.\n\n[Adjusted to not impact user mode (from paulus) - sfr]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "30aae739a9eb6db31ad7b08dac44bd302f41c709",
      "tree": "e57a3e279946e141041adc7244d67d8c77c59e2e",
      "parents": [
        "37a76bd4f1b716949fc38a6842e89f0ccb8384d0",
        "6fd8be4bf72879b3039654388e985cabf8449af5"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jan 13 13:59:03 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jan 13 13:59:03 2009 +1100"
      },
      "message": "Merge commit \u0027kumar/kumar-next\u0027 into next\n"
    },
    {
      "commit": "7021d86afa6f3a8bf76218ac97f5847a6d985730",
      "tree": "fb12712d5ff3ec34514c2799736263507de1918d",
      "parents": [
        "02af87a74271977d09ece9b709909dcae3f9fab9"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Mon Dec 29 06:40:35 2008 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jan 08 16:25:17 2009 +1100"
      },
      "message": "powerpc/mm: Make clear_fixmap() actually work\n\nThe clear_fixmap() routine issues map_page() with flags set to 0.\nCurrently this causes a BUG_ON() inside the map_page(), as it assumes\nthat a PTE should be clear before mapping.\n\nThis patch makes the map_page() to trigger the BUG_ON() only if the\nflags were set.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nAcked-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "4a0826824beb28390651a962987b0681b9e7fe93",
      "tree": "9aec47e605615c34c606e7a5ade31b6806a7e6e3",
      "parents": [
        "ac3f6454d1ee0eb68485e05bb068de7c22e730d7"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jan 06 17:56:51 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jan 08 16:25:17 2009 +1100"
      },
      "message": "powerpc: Fix missing semicolons in mmu_decl.h\n\nThis is a brown paper bag from one of my earlier patches that\nbreaks build on 40x and 8xx.\n\nAnd yes, I\u0027ve now added 40x and 8xx to my list of test configs :-)\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "d6a09e0cd6329db6f48b0015407a1b038d8fa64b",
      "tree": "45322ab222dc6fe97caf5effe3586b955ba45b53",
      "parents": [
        "54cfd0d5cac9df4f7b32969156a55f7e0d9297ad"
      ],
      "author": {
        "name": "Dave Liu",
        "email": "daveliu@freescale.com",
        "time": "Tue Dec 30 23:42:55 2008 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jan 08 16:25:13 2009 +1100"
      },
      "message": "powerpc: Remove the redundant _tlbil_pid at SMP case\n\nSigned-off-by: Dave Liu \u003cdaveliu@freescale.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "893473df78b4407c9ab75cb55479409795953b01",
      "tree": "f58da72162345985841badce4ede52cc98f69e02",
      "parents": [
        "0be210fd664b07531cb238bafb453a2a54c2a7a8"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Dec 09 08:21:36 2008 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jan 08 16:25:09 2009 +1100"
      },
      "message": "powerpc/mm: Cleanup careful_allocation(): consolidate memset()\n\nBoth users of careful_allocation() immediately memset() the\nresult.  So, just do it in one place.\n\nAlso give careful_allocation() a \u0027z\u0027 prefix to bring it in\nline with kzmalloc() and friends.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "0be210fd664b07531cb238bafb453a2a54c2a7a8",
      "tree": "61073a774c49b49acd2cbb40b09b52a32fe88cd6",
      "parents": [
        "5d21ea2b0e1d9d5d880670dbb9a96efe9b419583"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Dec 09 08:21:35 2008 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jan 08 16:25:08 2009 +1100"
      },
      "message": "powerpc/mm: Make careful_allocation() return virtual addrs\n\nSince we memset() the result in both of the uses here,\njust make careful_alloc() return a virtual address.\nAlso, add a separate variable to store the physial\naddress that comes back from the lmb_alloc() functions.\nThis makes it less likely that someone will screw it up\nforgetting to convert before returning since the vaddr\nis always in a void* and the paddr is always in an\nunsigned long.\n\nI admit this is arbitrary since one of its users needs\na paddr and one a vaddr, but it does remove a good\nnumber of casts.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "5d21ea2b0e1d9d5d880670dbb9a96efe9b419583",
      "tree": "10f427695e940778473c3ec350ae8e5e34eb8288",
      "parents": [
        "c555e520ef794a94dc36a8ded93ece6369ff7ca0"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Dec 09 08:21:33 2008 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jan 08 16:25:08 2009 +1100"
      },
      "message": "powerpc/mm:: Cleanup careful_allocation(): bootmem already panics\n\nIf we fail a bootmem allocation, the bootmem code itself\npanics.  No need to redo it here.\n\nAlso change the wording of the other panic.  We don\u0027t\nstrictly have to allocate memory on the specified node.\nIt is just a hint and that node may not even *have* any\nmemory on it.  In that case we can and do fall back to\nother nodes.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c555e520ef794a94dc36a8ded93ece6369ff7ca0",
      "tree": "b1be29d74a73ff31af677b8cd68019edd57ae24e",
      "parents": [
        "afcb065450913745027169d906b9afc8294f7007"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Dec 09 08:21:32 2008 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jan 08 16:25:08 2009 +1100"
      },
      "message": "powerpc/mm: Add better comment on careful_allocation()\n\nThe behavior in careful_allocation() really confused me\nat first.  Add a comment to hopefully make it easier\non the next doofus that looks at it.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "6fd8be4bf72879b3039654388e985cabf8449af5",
      "tree": "4a2baf9007c179f1422b2c09b08d791203210f9c",
      "parents": [
        "19f5465e823858a2f0b0e9a92e52816ba3ee70bb"
      ],
      "author": {
        "name": "Trent Piepho",
        "email": "tpiepho@freescale.com",
        "time": "Mon Dec 08 19:34:56 2008 -0800"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Wed Jan 07 15:33:07 2009 -0600"
      },
      "message": "powerpc/fsl-booke: Remove num_tlbcam_entries\n\nThis is a global variable defined in fsl_booke_mmu.c with a value that gets\ninitialized in assembly code in head_fsl_booke.S.\n\nIt\u0027s never used.\n\nIf some code ever does want to know the number of entries in TLB1, then\n\"numcams \u003d mfspr(SPRN_TLB1CFG) \u0026 0xfff\", is a whole lot simpler than a\nglobal initialized during kernel boot from assembly.\n\nSigned-off-by: Trent Piepho \u003ctpiepho@freescale.com\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "19f5465e823858a2f0b0e9a92e52816ba3ee70bb",
      "tree": "4e4112f7d8e5a3699df5e808a83ac9eed44bd8d7",
      "parents": [
        "565f37642c78754a85efe6c20a4a15e18ed21f07"
      ],
      "author": {
        "name": "Trent Piepho",
        "email": "tpiepho@freescale.com",
        "time": "Mon Dec 08 19:34:55 2008 -0800"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Wed Jan 07 15:33:06 2009 -0600"
      },
      "message": "powerpc/fsl-booke: Don\u0027t hard-code size of struct tlbcam\n\nSome assembly code in head_fsl_booke.S hard-coded the size of struct tlbcam\nto 20 when it indexed the TLBCAM table.  Anyone changing the size of struct\ntlbcam would not know to expect that.\n\nThe kernel already has a system to get the size of C structures into\nassembly language files, asm-offsets, so let\u0027s use it.\n\nThe definition of the struct gets moved to a header, so that asm-offsets.c\ncan include it.\n\nSigned-off-by: Trent Piepho \u003ctpiepho@freescale.com\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c04fc586c1a480ba198f03ae7b6cbd7b57380b91",
      "tree": "9d6544a3b62cc01dbcbb1e315b84378b45ba86d2",
      "parents": [
        "ee53a891f47444c53318b98dac947ede963db400"
      ],
      "author": {
        "name": "Gary Hade",
        "email": "garyhade@us.ibm.com",
        "time": "Tue Jan 06 14:39:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:00 2009 -0800"
      },
      "message": "mm: show node to memory section relationship with symlinks in sysfs\n\nShow node to memory section relationship with symlinks in sysfs\n\nAdd /sys/devices/system/node/nodeX/memoryY symlinks for all\nthe memory sections located on nodeX.  For example:\n/sys/devices/system/node/node1/memory135 -\u003e ../../memory/memory135\nindicates that memory section 135 resides on node1.\n\nAlso revises documentation to cover this change as well as updating\nDocumentation/ABI/testing/sysfs-devices-memory to include descriptions\nof memory hotremove files \u0027phys_device\u0027, \u0027phys_index\u0027, and \u0027state\u0027\nthat were previously not described there.\n\nIn addition to it always being a good policy to provide users with\nthe maximum possible amount of physical location information for\nresources that can be hot-added and/or hot-removed, the following\nare some (but likely not all) of the user benefits provided by\nthis change.\nImmediate:\n  - Provides information needed to determine the specific node\n    on which a defective DIMM is located.  This will reduce system\n    downtime when the node or defective DIMM is swapped out.\n  - Prevents unintended onlining of a memory section that was\n    previously offlined due to a defective DIMM.  This could happen\n    during node hot-add when the user or node hot-add assist script\n    onlines _all_ offlined sections due to user or script inability\n    to identify the specific memory sections located on the hot-added\n    node.  The consequences of reintroducing the defective memory\n    could be ugly.\n  - Provides information needed to vary the amount and distribution\n    of memory on specific nodes for testing or debugging purposes.\nFuture:\n  - Will provide information needed to identify the memory\n    sections that need to be offlined prior to physical removal\n    of a specific node.\n\nSymlink creation during boot was tested on 2-node x86_64, 2-node\nppc64, and 2-node ia64 systems.  Symlink creation during physical\nmemory hot-add tested on a 2-node x86_64 system.\n\nSigned-off-by: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3340289ddf29ca75c3acfb3a6b72f234b2f74d5c",
      "tree": "d5da94eb1cb0146160fcb0e7aa161bfa5b6ac807",
      "parents": [
        "08fba69986e20c1c9e5fe2e6064d146cc4f42480"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jan 06 14:38:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:58:58 2009 -0800"
      },
      "message": "mm: report the MMU pagesize in /proc/pid/smaps\n\nThe KernelPageSize entry in /proc/pid/smaps is the pagesize used by the\nkernel to back a VMA.  This matches the size used by the MMU in the\nmajority of cases.  However, one counter-example occurs on PPC64 kernels\nwhereby a kernel using 64K as a base pagesize may still use 4K pages for\nthe MMU on older processor.  To distinguish, this patch reports\nMMUPageSize as the pagesize used by the MMU in /proc/pid/smaps.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: \"KOSAKI Motohiro\" \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c92ec8ae91ecf59d88c798301833d7cf83f2179",
      "tree": "08a38cd3523c42bd49882f17cd501fd879e7ca1c",
      "parents": [
        "c4c9f0183b7c4e97836e8fecbb67898b06c47e78",
        "ca9153a3a2a7556d091dfe080e42b0e67881fff6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 16:54:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 16:54:33 2008 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (144 commits)\n  powerpc/44x: Support 16K/64K base page sizes on 44x\n  powerpc: Force memory size to be a multiple of PAGE_SIZE\n  powerpc/32: Wire up the trampoline code for kdump\n  powerpc/32: Add the ability for a classic ppc kernel to be loaded at 32M\n  powerpc/32: Allow __ioremap on RAM addresses for kdump kernel\n  powerpc/32: Setup OF properties for kdump\n  powerpc/32/kdump: Implement crash_setup_regs() using ppc_save_regs()\n  powerpc: Prepare xmon_save_regs for use with kdump\n  powerpc: Remove default kexec/crash_kernel ops assignments\n  powerpc: Make default kexec/crash_kernel ops implicit\n  powerpc: Setup OF properties for ppc32 kexec\n  powerpc/pseries: Fix cpu hotplug\n  powerpc: Fix KVM build on ppc440\n  powerpc/cell: add QPACE as a separate Cell platform\n  powerpc/cell: fix build breakage with CONFIG_SPUFS disabled\n  powerpc/mpc5200: fix error paths in PSC UART probe function\n  powerpc/mpc5200: add rts/cts handling in PSC UART driver\n  powerpc/mpc5200: Make PSC UART driver update serial errors counters\n  powerpc/mpc5200: Remove obsolete code from mpc5200 MDIO driver\n  powerpc/mpc5200: Add MDMA/UDMA support to MPC5200 ATA driver\n  ...\n\nFix trivial conflict in drivers/char/Makefile as per Paul\u0027s directions\n"
    },
    {
      "commit": "ca9153a3a2a7556d091dfe080e42b0e67881fff6",
      "tree": "35b5ce24f190690cf7a726cbb97980da51704855",
      "parents": [
        "6ca4f7494bde078b2b730e28e4ea1dc36a772f70"
      ],
      "author": {
        "name": "Ilya Yanok",
        "email": "yanok@emcraft.com",
        "time": "Thu Dec 11 04:55:41 2008 +0300"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Dec 29 09:53:25 2008 +1100"
      },
      "message": "powerpc/44x: Support 16K/64K base page sizes on 44x\n\nThis adds support for 16k and 64k page sizes on PowerPC 44x processors.\n\nThe PGDIR table is much smaller than a page when using 16k or 64k\npages (512 and 32 bytes respectively) so we allocate the PGDIR with\nkzalloc() instead of __get_free_pages().\n\nOne PTE table covers rather a large memory area when using 16k or 64k\npages (32MB or 512MB respectively), so we can easily put FIXMAP and\nPKMAP in the area covered by one PTE table.\n\nSigned-off-by: Yuri Tikhonov \u003cyur@emcraft.com\u003e\nSigned-off-by: Vladimir Panfilov \u003cpvr@emcraft.com\u003e\nSigned-off-by: Ilya Yanok \u003cyanok@emcraft.com\u003e\nAcked-by: Josh Boyer \u003cjwboyer@linux.vnet.ibm.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "ccdcef72c249c289898b164eada89a61855b9287",
      "tree": "4a60305aaaa89949b2f979226cc192d8d5a3eb2c",
      "parents": [
        "01695a9687e5a8d78589605037cc7828a5b67ac9"
      ],
      "author": {
        "name": "Dale Farnsworth",
        "email": "dale@farnsworth.org",
        "time": "Wed Dec 17 10:09:13 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Dec 23 15:13:29 2008 +1100"
      },
      "message": "powerpc/32: Add the ability for a classic ppc kernel to be loaded at 32M\n\nAdd the ability for a classic ppc kernel to be loaded at an address\nof 32MB.  This done by fixing a few places that assume we are loaded\nat address 0, and by changing several uses of KERNELBASE to use\nPAGE_OFFSET, instead.\n\nSigned-off-by: Dale Farnsworth \u003cdale@farnsworth.org\u003e\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "01695a9687e5a8d78589605037cc7828a5b67ac9",
      "tree": "3d7f4ed52b1bbaffd62e6d04aaefc2f5989e32e6",
      "parents": [
        "6f29c3298b18216198631cbee01c349adecb225d"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Dec 17 10:09:10 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Dec 23 15:13:29 2008 +1100"
      },
      "message": "powerpc/32: Allow __ioremap on RAM addresses for kdump kernel\n\nWhile for debugging it is good to catch bogus users of ioremap, though\nfor kdump support it is more convenient to use __ioremap for\ncopy_oldmem_page() (exactly as we do for PPC64 currently).\n\nNote that copy_oldmem_page() calls __ioremap with flags set to \u00270\u0027,\nso it should be safe with the regard to the caches.\n\nThe other option is to use kmap_atomic_pfn()[1], but it will not work\nfor kernels compiled without HIGHMEM.\n\nThat is, on a board with 256MB RAM and crashkernel\u003d64M@32M case, the\n!HIGHMEM capturing kernel maps 0-96M range, which does not include all\nthe memory needed to capture the dump. And, obviously, accessing\nanything upper than 96M will cause faults.\n\n[1] http://ozlabs.org/pipermail/linuxppc-dev/2007-November/046747.html\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "a14953597b771f793ce32529d7b8b04fdedca3ef",
      "tree": "83046a6ba5541591fac36048f8a9d271b4004932",
      "parents": [
        "49e6e3f1aec2d46f5865d3ada38fe9a5d660ef5d"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sun Dec 21 02:54:25 2008 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Dec 21 02:54:25 2008 -0700"
      },
      "message": "powerpc: Fix missing \u0027blr\u0027 in _tlbia()\n\nRework to MMU code dropped a much missed \u0027blr\u0027 instruction.\n\nBrown-Paper-Bag-Worn-By: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "64b3d0e8122b422e879b23d42f9e0e8efbbf9744",
      "tree": "b1fab3fc39fd3117d0c050b0a54d6fe09f3a2948",
      "parents": [
        "77520351805cc19ba37394ae33f862ef6d3c2a23"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Dec 18 19:13:51 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Dec 21 14:21:16 2008 +1100"
      },
      "message": "powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED\n\nCurrently, we never set _PAGE_COHERENT in the PTEs, we just OR it in\nin the hash code based on some CPU feature bit.  We also manipulate\n_PAGE_NO_CACHE and _PAGE_GUARDED by hand in all sorts of places.\n\nThis changes the logic so that instead, the PTE now contains\n_PAGE_COHERENT for all normal RAM pages thay have I \u003d 0 on platforms\nthat need it.  The hash code clears it if the feature bit is not set.\n\nIt also adds some clean accessors to setup various valid combinations\nof access flags and change various bits of code to use them instead.\n\nThis should help having the PTE actually containing the bit\ncombinations that we really want.\n\nI also removed _PAGE_GUARDED from _PAGE_BASE on 44x and instead\nset it explicitely from the TLB miss.  I will ultimately remove it\ncompletely as it appears that it might not be needed after all\nbut in the meantime, having it in the TLB miss makes things a\nlot easier.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "77520351805cc19ba37394ae33f862ef6d3c2a23",
      "tree": "4bb26bea674835683a2da53cd84efa782425d570",
      "parents": [
        "760ec0e02d8a13d0ed60d99f47879d4aa8ef1910"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Dec 18 19:13:48 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Dec 21 14:21:16 2008 +1100"
      },
      "message": "powerpc/mm: Runtime allocation of mmu context maps for nohash CPUs\n\nThis makes the MMU context code used for CPUs with no hash table\n(except 603) dynamically allocate the various maps used to track\nthe state of contexts.\n\nOnly the main free map and CPU 0 stale map are allocated at boot\ntime.  Other CPU maps are allocated when those CPUs are brought up\nand freed if they are unplugged.\n\nThis also moves the initialization of the MMU context management\nslightly later during the boot process, which should be fine as\nit\u0027s really only needed when userland if first started anyways.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "760ec0e02d8a13d0ed60d99f47879d4aa8ef1910",
      "tree": "180754d608bad7ba08d9a2f24a4ef930f564a391",
      "parents": [
        "2a4aca1144394653269720ffbb5a325a77abd5fa"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Dec 18 19:13:46 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Dec 21 14:21:16 2008 +1100"
      },
      "message": "powerpc/44x: No need to mask MSR:CE, ME or DE in _tlbil_va on 440\n\nThe handlers for Critical, Machine Check or Debug interrupts\nwill save and restore MMUCR nowadays, thus we only need to\ndisable normal interrupts when invalidating TLB entries.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nAcked-by: Josh Boyer \u003cjwboyer@linux.vnet.ibm.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "2a4aca1144394653269720ffbb5a325a77abd5fa",
      "tree": "553bbcbb294ac5923f72430b7317b5c80a27141c",
      "parents": [
        "f048aace29e007f2b642097e2da8231e0e9cce2d"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Dec 18 19:13:42 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Dec 21 14:21:16 2008 +1100"
      },
      "message": "powerpc/mm: Split low level tlb invalidate for nohash processors\n\nCurrently, the various forms of low level TLB invalidations are all\nimplemented in misc_32.S for 32-bit processors, in a fairly scary\nmess of #ifdef\u0027s and with interesting duplication such as a whole\nbunch of code for FSL _tlbie and _tlbia which are no longer used.\n\nThis moves things around such that _tlbie is now defined in\nhash_low_32.S and is only used by the 32-bit hash code, and all\nnohash CPUs use the various _tlbil_* forms that are now moved to\na new file, tlb_nohash_low.S.\n\nI moved all the definitions for that stuff out of\ninclude/asm/tlbflush.h as they are really internal mm stuff, into\nmm/mmu_decl.h\n\nThe code should have no functional changes.  I kept some variants\ninline for trivial forms on things like 40x and 8xx.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "f048aace29e007f2b642097e2da8231e0e9cce2d",
      "tree": "5e99b1d1d37817703132e97388994386a7bee8da",
      "parents": [
        "7c03d653cd257793dc40520c94e229b5fd0578e7"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Dec 18 19:13:38 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Dec 21 14:21:16 2008 +1100"
      },
      "message": "powerpc/mm: Add SMP support to no-hash TLB handling\n\nThis commit moves the whole no-hash TLB handling out of line into a\nnew tlb_nohash.c file, and implements some basic SMP support using\nIPIs and/or broadcast tlbivax instructions.\n\nNote that I\u0027m using local invalidations for D-\u003eI cache coherency.\n\nAt worst, if another processor is trying to execute the same and\nhas the old entry in its TLB, it will just take a fault and re-do\nthe TLB flush locally (it won\u0027t re-do the cache flush in any case).\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "7c03d653cd257793dc40520c94e229b5fd0578e7",
      "tree": "c2beffddec486c47f8ec6df5c3b592c143380559",
      "parents": [
        "2ca8cf738907180e7fbda90f25f32b86feda609f"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Dec 18 19:13:32 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Dec 21 14:21:16 2008 +1100"
      },
      "message": "powerpc/mm: Introduce MMU features\n\nWe\u0027re soon running out of CPU features and I need to add some new\nones for various MMU related bits, so this patch separates the MMU\nfeatures from the CPU features.  I moved over the 32-bit MMU related\nones, added base features for MMU type families, but didn\u0027t move\nover any 64-bit only feature yet.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "2ca8cf738907180e7fbda90f25f32b86feda609f",
      "tree": "60d8af9b53a78ae9300ef7e68f222b02fe3be542",
      "parents": [
        "5e696617c425eb97bd943d781f3941fb1e8f0e5b"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Dec 18 19:13:29 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Dec 21 14:21:15 2008 +1100"
      },
      "message": "powerpc/mm: Rework context management for CPUs with no hash table\n\nThis reworks the context management code used by 4xx,8xx and\nfreescale BookE.  It adds support for SMP by implementing a\nconcept of stale context map to lazily flush the TLB on\nprocessors where a context may have been invalidated.  This\nalso contains the ground work for generalizing such lazy TLB\nflushing by just picking up a new PID and marking the old one\nstale.  This will be implemented later.\n\nThis is a first implementation that uses a global spinlock.\n\nIdeally, we should try to get at least the fast path (context ID\nalready assigned) lockless or limited to a per context lock,\nbut for now this will do.\n\nI tried to keep the UP case reasonably simple to avoid adding\ntoo much overhead to 8xx which does a lot of context stealing\nsince it effectively has only 16 PIDs available.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "5e696617c425eb97bd943d781f3941fb1e8f0e5b",
      "tree": "82138fbda2e28fbe8d0e5821f218cb160230ce27",
      "parents": [
        "6d2170be4561293a6aa821c773687bd3f18e8206"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Dec 18 19:13:24 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Dec 21 14:21:15 2008 +1100"
      },
      "message": "powerpc/mm: Split mmu_context handling\n\nThis splits the mmu_context handling between 32-bit hash based\nprocessors, 64-bit hash based processors and everybody else.  This is\npreliminary work for adding SMP support for BookE processors.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "f63837f0581fe580168ae1a7d178ded935411747",
      "tree": "ea4956ae770193ad2d18f5be599df44014419577",
      "parents": [
        "e41e811a79a4e328005be2744c3076ebde455088"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sun Dec 14 19:44:51 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Dec 16 15:53:34 2008 +1100"
      },
      "message": "powerpc/mm: Remove flush_HPTE()\n\nThe function flush_HPTE() is used in only one place, the implementation\nof DEBUG_PAGEALLOC on ppc32.\n\nIt\u0027s actually a dup of flush_tlb_page() though it\u0027s -slightly- more\nefficient on hash based processors.  We remove it and replace it by\na direct call to the hash flush code on those processors and to\nflush_tlb_page() for everybody else.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "e41e811a79a4e328005be2744c3076ebde455088",
      "tree": "9f5bea9ce50284d05a3abbe6573b74185c14c65e",
      "parents": [
        "1a37a3fd7f12d8f9f720cceec84e23152e116668"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sun Dec 14 19:44:39 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Dec 16 15:53:30 2008 +1100"
      },
      "message": "powerpc/mm: Rename tlb_32.c and tlb_64.c to tlb_hash32.c and tlb_hash64.c\n\nThis renames the files to clarify the fact that they are used by\nthe hash based family of CPUs (the 603 being an exception in that\nfamily but is still handled by that code).\n\nThis paves the way for the new tlb_nohash.c coming via a subsequent\ncommit.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "1e1c568d6c66d1e2e345fd15e2a1ceafc5d7e33a",
      "tree": "0cf88547108a750d6eb910564ef5bf0ffb5ceef3",
      "parents": [
        "91cac623262c1c0cd298c5c648a8bd2b647c264d",
        "23e0e8afafd9ac065d81506524adf3339584044b"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Dec 16 14:38:58 2008 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Dec 16 14:38:58 2008 +1100"
      },
      "message": "Merge branch \u0027merge\u0027 into next\n"
    },
    {
      "commit": "a4c74ddd5ea3db53fc73d29c222b22656a7d05be",
      "tree": "1c2d49c9e3c74fbe612ff7fda74770d24f51e154",
      "parents": [
        "48f797de550d39ea35552646c34149991362ff7f"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Thu Dec 11 08:36:06 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Dec 16 13:48:18 2008 +1100"
      },
      "message": "powerpc: Fix bootmem reservation on uninitialized node\n\ncareful_allocation() was calling into the bootmem allocator for\nnodes which had not been fully initialized and caused a previous\nbug:  http://patchwork.ozlabs.org/patch/10528/  So, I merged a\nfew broken out loops in do_init_bootmem() to fix it.  That changed\nthe code ordering.\n\nI think this bug is triggered by having reserved areas for a node\nwhich are spanned by another node\u0027s contents.  In the\nmark_reserved_regions_for_nid() code, we attempt to reserve the\narea for a node before we have allocated the NODE_DATA() for that\nnid.  We do this since I reordered that loop.  I suck.\n\nThis is causing crashes at bootup on some systems, as reported\nby Jon Tollefson.\n\nThis may only present on some systems that have 16GB pages\nreserved.  But, it can probably happen on any system that is\ntrying to reserve large swaths of memory that happen to span other\nnodes\u0027 contents.\n\nThis commit ensures that we do not touch bootmem for any node which\nhas not been initialized, and also removes a compile warning about\nan unused variable.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "48f797de550d39ea35552646c34149991362ff7f",
      "tree": "cb49c30c97473b3ebc07764f5780ec309df7b9c0",
      "parents": [
        "cefb3d02cad6fae49369cdde24526c4c4806b20f"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@linux.vnet.ibm.com",
        "time": "Thu Dec 04 04:07:54 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Dec 16 13:48:18 2008 +1100"
      },
      "message": "powerpc: Check for valid hugepage size in hugetlb_get_unmapped_area\n\nIt looks like most of the hugetlb code is doing the correct thing if\nhugepages are not supported, but the mmap code is not.  If we get into\nthe mmap code when hugepages are not supported, such as in an LPAR\nwhich is running Active Memory Sharing, we can oops the kernel.  This\nfixes the oops being seen in this path.\n\noops: Kernel access of bad area, sig: 11 [#1]\nSMP NR_CPUS\u003d1024 NUMA pSeries\nModules linked in: nfs(N) lockd(N) nfs_acl(N) sunrpc(N) ipv6(N) fuse(N) loop(N)\ndm_mod(N) sg(N) ibmveth(N) sd_mod(N) crc_t10dif(N) ibmvscsic(N)\nscsi_transport_srp(N) scsi_tgt(N) scsi_mod(N)\nSupported: No\nNIP: c000000000038d60 LR: c00000000003945c CTR: c0000000000393f0\nREGS: c000000077e7b830 TRAP: 0300   Tainted: G\n(2.6.27.5-bz50170-2-ppc64)\nMSR: 8000000000009032 \u003cEE,ME,IR,DR\u003e  CR: 44000448  XER: 20000001\nDAR: c000002000af90a8, DSISR: 0000000040000000\nTASK \u003d c00000007c1b8600[4019] \u0027hugemmap01\u0027 THREAD: c000000077e78000 CPU: 6\nGPR00: 0000001fffffffe0 c000000077e7bab0 c0000000009a4e78 0000000000000000\nGPR04: 0000000000010000 0000000000000001 00000000ffffffff 0000000000000001\nGPR08: 0000000000000000 c000000000af90c8 0000000000000001 0000000000000000\nGPR12: 000000000000003f c000000000a73880 0000000000000000 0000000000000000\nGPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000010000\nGPR20: 0000000000000000 0000000000000003 0000000000010000 0000000000000001\nGPR24: 0000000000000003 0000000000000000 0000000000000001 ffffffffffffffb5\nGPR28: c000000077ca2e80 0000000000000000 c00000000092af78 0000000000010000\nNIP [c000000000038d60] .slice_get_unmapped_area+0x6c/0x4e0\nLR [c00000000003945c] .hugetlb_get_unmapped_area+0x6c/0x80\nCall Trace:\n[c000000077e7bbc0] [c00000000003945c] .hugetlb_get_unmapped_area+0x6c/0x80\n[c000000077e7bc30] [c000000000107e30] .get_unmapped_area+0x64/0xd8\n[c000000077e7bcb0] [c00000000010b140] .do_mmap_pgoff+0x140/0x420\n[c000000077e7bd80] [c00000000000bf5c] .sys_mmap+0xc4/0x140\n[c000000077e7be30] [c0000000000086b4] syscall_exit+0x0/0x40\nInstruction dump:\nfac1ffb0 fae1ffb8 fb01ffc0 fb21ffc8 fb41ffd0 fb61ffd8 fb81ffe0 fbc1fff0\nfbe1fff8 f821fef1 f8c10158 f8e10160 \u003c7d49002e\u003e f9010168 e92d01b0 eb4902b0\n\nSigned-off-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "0186f47e703fb7aa14b54459d642ef5374b3a685",
      "tree": "5af0bc2bf92b9ef7edf79aab989387de4d8ffaaf",
      "parents": [
        "df3b8611554e389e703fa753540289874fa5126c"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Wed Nov 19 12:50:04 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Dec 03 20:46:35 2008 +1100"
      },
      "message": "powerpc: Use RCU based pte freeing mechanism for all powerpc\n\nRefactor the RCU based pte free code that was used on ppc64 to be used\non all powerpc.\n\nAdditionally refactor pte_free() \u0026 pte_free_kernel() into common code\nbetween ppc32 \u0026 ppc64.\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "f4f3a1261ad70988ad45614ebc87e553143a332b",
      "tree": "8db34850f795712bcee34cf97fc7ce5eec1a3d4b",
      "parents": [
        "4ee5f55175a85fc179c93f00dd7f6a99c896f4d6"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Wed Nov 19 05:53:04 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Dec 03 20:46:35 2008 +1100"
      },
      "message": "powerpc: hash_page_sync should only be used on SMP \u0026 STD_MMU_32\n\nClean up the ifdefs so we only use hash_page_sync if we have\nCONFIG_SMP \u0026\u0026 CONFIG_PPC_STD_MMU_32.\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "527491885554002837b5742202adc0ab5f536e54",
      "tree": "6d9c44776e0b4368eccd414b92b957fac3c5a4c6",
      "parents": [
        "cea555d384b85271035814c5adad23e6c7fc5d2a",
        "2434bbb30e79468c49cff3cff6005236f55ed188"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Dec 03 20:11:06 2008 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Dec 03 20:11:06 2008 +1100"
      },
      "message": "Merge branch \u0027merge\u0027\n"
    },
    {
      "commit": "03cfdb86ac66677dbe76accae3f22c374a15b814",
      "tree": "86c2f6cf5afbd85fdc183fcadab12bf142e9659c",
      "parents": [
        "4ec8f077e4dd51f713984669781e7b568b8c41e2",
        "ab598b6680f1e74c267d1547ee352f3e1e530f89"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 16:44:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 16:44:18 2008 -0800"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:\n  powerpc: Fix system calls on Cell entered with XER.SO\u003d1\n  powerpc/cell: Fix GDB watchpoints, again\n  powerpc/mpic: Don\u0027t reset affinity for secondary MPIC on boot\n  powerpc/cell/axon-msi: Retry on missing interrupt\n  powerpc: Fix boot freeze on machine with empty memory node\n  powerpc: Fix IRQ assignment for some PCIe devices\n  powerpc/spufs: Fix spinning in spufs_ps_fault on signal\n  powerpc/mpc832x_rdb: fix swapped ethernet ids\n  powerpc: Use generic PHY driver for Marvell 88E1111 PHY on GE Fanuc SBC610\n  powerpc/85xx: L2 cache size wrong in 8572DS dts\n  powerpc/virtex: Update defconfigs\n  powerpc/52xx: update defconfigs\n  xsysace: Fix driver to use resource_size_t instead of unsigned long\n  powerpc/virtex: fix various format/casting printk mismatches\n  powerpc/mpc5200: fix bestcomm Kconfig dependencies\n  powerpc/44x: Fix 460EX/460GT machine check handling\n  powerpc/40x: Limit allocable DRAM during early mapping\n"
    },
    {
      "commit": "4a6186696e7f15b3ea4dafcdb64ee0703e0e4487",
      "tree": "7063a21064917efbc31f6115336cdc661b658187",
      "parents": [
        "4b824de9b18b8d1013e9fc9e4b0f855ced8cac2c"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Mon Nov 24 12:02:35 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Dec 01 09:40:18 2008 +1100"
      },
      "message": "powerpc: Fix boot freeze on machine with empty memory node\n\nI got a bug report about a distro kernel not booting on a particular\nmachine.  It would freeze during boot:\n\n\u003e ...\n\u003e Could not find start_pfn for node 1\n\u003e [boot]0015 Setup Done\n\u003e Built 2 zonelists in Node order, mobility grouping on.  Total pages: 123783\n\u003e Policy zone: DMA\n\u003e Kernel command line:\n\u003e [boot]0020 XICS Init\n\u003e [boot]0021 XICS Done\n\u003e PID hash table entries: 4096 (order: 12, 32768 bytes)\n\u003e clocksource: timebase mult[7d0000] shift[22] registered\n\u003e Console: colour dummy device 80x25\n\u003e console handover: boot [udbg0] -\u003e real [hvc0]\n\u003e Dentry cache hash table entries: 1048576 (order: 7, 8388608 bytes)\n\u003e Inode-cache hash table entries: 524288 (order: 6, 4194304 bytes)\n\u003e freeing bootmem node 0\n\nI\u0027ve reproduced this on 2.6.27.7.  It is caused by commit\n8f64e1f2d1e09267ac926e15090fd505c1c0cbcb (\"powerpc: Reserve in bootmem\nlmb reserved regions that cross NUMA nodes\").\n\nThe problem is that Jon took a loop which was (in pseudocode):\n\n\tfor_each_node(nid)\n\t\tNODE_DATA(nid) \u003d careful_alloc(nid);\n\t\tsetup_bootmem(nid);\n\t\treserve_node_bootmem(nid);\n\nand broke it up into:\n\n\tfor_each_node(nid)\n\t\tNODE_DATA(nid) \u003d careful_alloc(nid);\n\t\tsetup_bootmem(nid);\n\tfor_each_node(nid)\n\t\treserve_node_bootmem(nid);\n\nThe issue comes in when the \u0027careful_alloc()\u0027 is called on a node with\nno memory.  It falls back to using bootmem from a previously-initialized\nnode.  But, bootmem has not yet been reserved when Jon\u0027s patch is\napplied.  It gives back bogus memory (0xc000000000000000) and pukes\nlater in boot.\n\nThe following patch collapses the loop back together.  It also breaks\nthe mark_reserved_regions_for_nid() code out into a function and adds\nsome comments.  I think a huge part of introducing this bug is because\nfor loop was too long and hard to read.\n\nThe actual bug fix here is the:\n\n+\t\tif (end_pfn \u003c\u003d node-\u003enode_start_pfn ||\n+\t\t    start_pfn \u003e\u003d node_end_pfn)\n+\t\t\tcontinue;\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "4ea8fb9c1cc67bee980dca589ec8d0d4e62858c7",
      "tree": "ab3453e0f93dccaaad90f27eadca4c5492d69a22",
      "parents": [
        "7d6a8a1c487422b772201927c454930377d8cf7e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Nov 22 17:33:44 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 10:03:35 2008 -0800"
      },
      "message": "powerpc set_huge_psize() false positive\n\ncalled only from __init, calls __init.  Incidentally, it ought to be static\nin file.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6326e98a28d8a57f693369c82559543c6950f09",
      "tree": "d26289b3ced079b0b175b3421f30e592252a3a19",
      "parents": [
        "22059a90b82d6cd02d488c48c27a4d0ad976c919"
      ],
      "author": {
        "name": "Robert Jennings",
        "email": "rcj@linux.vnet.ibm.com",
        "time": "Fri Nov 14 12:07:34 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Nov 19 16:05:05 2008 +1100"
      },
      "message": "powerpc: Correct page-in counter for CMM with 64k pages\n\nLinux will report the number of page-ins so that the hypervisor can\nbetter determine partition memory pressure.  The hardware page size\nand the OS page size can be different.  In the case where the hardware\npage size is 4k and the OS is running with 64k pages the code in\ncommit 409001948d9f221c94a61c3ee96de112755fc04d (\"powerpc: Update\npage-in counter for CMM\") would under-report the number of pages.\n\nThis corrects the reporting to the hypervisor by incrementing the\npage_in count by 1 \u003c\u003c PAGE_FACTOR each time.\n\nReported-by: Andrew Theurer \u003chabanero@linux.vnet.ibm.com\u003e\nSigned-off-by: Robert Jennings \u003crcj@linux.vnet.ibm.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "1330deb0f6e89525c8e9fcbd6b13522c9243bfc0",
      "tree": "4c7bf555dc4b2184c8ecd794af7c88db2ee64f1a",
      "parents": [
        "25e15731af0c8d7adc58f72327dab7293857129f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:38:39 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:38:39 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the PowerPC arch\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: linuxppc-dev@ozlabs.org\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "5907630ffc2b2d133de2db18963ee5a6c5af7878",
      "tree": "60d41ab37ba170ba88e002915d8034fe47c7b9ac",
      "parents": [
        "cb8fdc69a2a80e81e1280ec58afd2c3217ac8a7f"
      ],
      "author": {
        "name": "Grant Erickson",
        "email": "gerickson@nuovations.com",
        "time": "Wed Oct 29 11:41:14 2008 +0000"
      },
      "committer": {
        "name": "Josh Boyer",
        "email": "jwboyer@linux.vnet.ibm.com",
        "time": "Thu Nov 13 10:10:56 2008 -0500"
      },
      "message": "powerpc/40x: Limit allocable DRAM during early mapping\n\nIf the size of DRAM is not an exact power of two, we may not have\ncovered DRAM in its entirety with large 16 and 4 MiB pages.  If that\nis the case, we can get non-recoverable page faults when doing the\nfinal PTE mappings for the non-large page PTEs.\n\nConsequently, we restrict the top end of DRAM currently allocable\nby updating \u0027__initial_memory_limit_addr\u0027 so that calls to the LMB to\nallocate PTEs for \"tail\" coverage with normal-sized pages (or other\nreasons) do not attempt to allocate outside the allowed range.\n\nSigned-off-by: Grant Erickson \u003cgerickson@nuovations.com\u003e\nSigned-off-by: Josh Boyer \u003cjwboyer@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "7d4320f3d5ace5758111f2beac931376737f80f5",
      "tree": "d03a4b940ef08669cefdb63bdddd9e2a375274a4",
      "parents": [
        "d4ad304841a9790d4fa35e51d6aa9baeba631559"
      ],
      "author": {
        "name": "Jon Tollefson",
        "email": "kniht@linux.vnet.ibm.com",
        "time": "Thu Oct 30 12:03:57 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Nov 06 09:49:39 2008 +1100"
      },
      "message": "powerpc: Hugetlb pgtable cache access cleanup\n\nAndrew Morton suggested that using a macro that makes an array\nreference look like a function call makes it harder to understand the\ncode.\n\nThis therefore removes the huge_pgtable_cache(psize) macro and\nreplaces its uses with pgtable_cache[HUGE_PGTABLE_INDEX(psize)].\n\nSigned-off-by: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "409001948d9f221c94a61c3ee96de112755fc04d",
      "tree": "2f49e6f0df22721f16e2a68baf94573a923bdda4",
      "parents": [
        "1ef8014debb6410ed1960c4477d0006df11157c1"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@linux.vnet.ibm.com",
        "time": "Wed Oct 22 05:53:45 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Nov 05 22:08:28 2008 +1100"
      },
      "message": "powerpc: Update page-in counter for CMM\n\nA new field has been added to the VPA as a method for the client OS to\ncommunicate to firmware the number of page-ins it is performing when\nrunning collaborative memory overcommit.  The hypervisor will use this\ninformation to better determine if a partition is experiencing memory\npressure and needs more memory allocated to it.\n\nSigned-off-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "4792adbac9eb41cea77a45ab76258ea10d411173",
      "tree": "7114bdbb37728018b489d55fe3ecc8a6bef11890",
      "parents": [
        "71773f0337bee8a3701aaaec22581c18a5f44679"
      ],
      "author": {
        "name": "Jon Tollefson",
        "email": "kniht@us.ibm.com",
        "time": "Tue Oct 21 15:27:36 2008 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Oct 22 15:01:21 2008 +1100"
      },
      "message": "powerpc: Don\u0027t use a 16G page if beyond mem\u003d limits\n\nIf mem\u003d is used on the boot command line to limit memory then the memory block where a 16G page resides may not be available.\n\nThanks to Michael Ellerman for finding the problem.\n\nSigned-off-by: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "a02efb906d12c9d4eb2ab7c59049ba9545e5412d",
      "tree": "bf1f6467978ec63a22f42299ecac2ee7f7e73336",
      "parents": [
        "84dfcb4b318463cd4883b6a19937824f49aee564",
        "2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Oct 21 15:52:04 2008 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Oct 21 15:52:04 2008 +1100"
      },
      "message": "Merge commit \u0027origin\u0027 into master\n\nManual merge of:\n\n\tarch/powerpc/Kconfig\n\tarch/powerpc/include/asm/page.h"
    },
    {
      "commit": "fe55249d17f7979cf9bbc58e38e9ceaf1918b415",
      "tree": "f02da5bb8437bcba4e38a760eef2b77f9a52d0a5",
      "parents": [
        "6a75a6b8e85e92cc774d42a4e113c76c30b5a539"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Mon Oct 20 15:37:04 2008 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Oct 21 15:19:12 2008 +1100"
      },
      "message": "powerpc: Always trim numa memory to lmb_end_of_DRAM()\n\nnuma_enforce_memory_limit tried to be smart and only call lmb_end_of_DRAM\nwhen a memory limit was set via mem\u003d on the command line.  However,\nthe early boot code will also limit memory added to the lmb system\nwhen iommu\u003doff is specified.  When this happens, the page allocator\nis given pages not in the linear mapping and this results in a fatal\ndata reference to the unmapped page.\n\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e81703724a966120ace6504c993bda9e084cbf3e",
      "tree": "0b0914346bc745cab9e59b9edbe95aa764aa6959",
      "parents": [
        "a5598ca0d49821912a5053c05f07fd650671eb6d"
      ],
      "author": {
        "name": "Jon Tollefson",
        "email": "kniht@us.ibm.com",
        "time": "Thu Oct 16 18:59:43 2008 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Oct 21 15:17:48 2008 +1100"
      },
      "message": "powerpc/numa: Make memory reserve code more robust\n\nAdjust amount to reserve based on previous nodes for reserves spanning\nmultiple nodes. Check if the node active range is empty before attempting\nto pass the reserve to bootmem.  In practice the range shouldn\u0027t be empty,\nbut to be sure we check.\n\nSigned-off-by: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "71088785c6bc68fddb450063d57b1bd1c78e0ea1",
      "tree": "026e0e2be8aac85959424211f7e319be6cac40ca",
      "parents": [
        "8433ac61acf733dc4b427de5f0891518c21538f9"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Oct 18 20:25:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "mm: cleanup to make remove_memory() arch-neutral\n\nThere is nothing architecture specific about remove_memory().\nremove_memory() function is common for all architectures which support\nhotplug memory remove.  Instead of duplicating it in every architecture,\ncollapse them into arch neutral function.\n\n[akpm@linux-foundation.org: fix the export]\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5ea64dcbad89875d130596df14c9b25d994a737",
      "tree": "03bde08104ea5c29edcaafc11576eb5594a7426c",
      "parents": [
        "cd301c7ba4bbb5a0ee6ebf13eb4a304f29b13847"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sun Oct 12 17:54:24 2008 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Oct 14 10:35:27 2008 +1100"
      },
      "message": "powerpc: Get USE_STRICT_MM_TYPECHECKS working again\n\nThe typesafe version of the powerpc pagetable handling (with\nUSE_STRICT_MM_TYPECHECKS defined) has bitrotted again.  This patch\nmakes a bunch of small fixes to get it back to building status.\n\nIt\u0027s still not enabled by default as gcc still generates worse\ncode with it for some reason.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "8f64e1f2d1e09267ac926e15090fd505c1c0cbcb",
      "tree": "6b9a5e74343ab1a33c0a28ca84031157a30a96cd",
      "parents": [
        "91a00302959545a9ae423e99732b1e46eb19e877"
      ],
      "author": {
        "name": "Jon Tollefson",
        "email": "kniht@linux.vnet.ibm.com",
        "time": "Thu Oct 09 10:18:40 2008 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Oct 10 15:55:19 2008 +1100"
      },
      "message": "powerpc: Reserve in bootmem lmb reserved regions that cross NUMA nodes\n\nIf there are multiple reserved memory blocks via lmb_reserve() that are\ncontiguous addresses and on different NUMA nodes we are losing track of which\naddress ranges to reserve in bootmem on which node.  I discovered this\nwhen I recently got to try 16GB huge pages on a system with more then 2 nodes.\n\nWhen scanning the device tree in early boot we call lmb_reserve() with\nthe addresses of the 16G pages that we find so that the memory doesn\u0027t\nget used for something else.  For example the addresses for the pages\ncould be 4000000000, 4400000000, 4800000000, 4C00000000, etc - 8 pages,\none on each of eight nodes.  In the lmb after all the pages have been\nreserved it will look something like the following:\n\nlmb_dump_all:\n    memory.cnt            \u003d 0x2\n    memory.size           \u003d 0x3e80000000\n    memory.region[0x0].base       \u003d 0x0\n                      .size     \u003d 0x1e80000000\n    memory.region[0x1].base       \u003d 0x4000000000\n                      .size     \u003d 0x2000000000\n    reserved.cnt          \u003d 0x5\n    reserved.size         \u003d 0x3e80000000\n    reserved.region[0x0].base       \u003d 0x0\n                      .size     \u003d 0x7b5000\n    reserved.region[0x1].base       \u003d 0x2a00000\n                      .size     \u003d 0x78c000\n    reserved.region[0x2].base       \u003d 0x328c000\n                      .size     \u003d 0x43000\n    reserved.region[0x3].base       \u003d 0xf4e8000\n                      .size     \u003d 0xb18000\n    reserved.region[0x4].base       \u003d 0x4000000000\n                      .size     \u003d 0x2000000000\n\nThe reserved.region[0x4] contains the 16G pages.  In\narch/powerpc/mm/num.c: do_init_bootmem() we loop through each of the\nnode numbers looking for the reserved regions that belong to the\nparticular node.  It is not able to identify region 0x4 as being a part\nof each of the 8 nodes.  It is assuming that a reserved region is only\non a single node.\n\nThis patch takes out the reserved region loop from inside\nthe loop that goes over each node.  It looks up the active region containing\nthe start of the reserved region.  If it extends past that active region then\nit adjusts the size and gets the next active region containing it.\n\nSigned-off-by: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "a880e7623397bcb44877b012cd65baa11ad1bbf8",
      "tree": "a413d15fbb5145feafed14bfa7e9ed433cf4603f",
      "parents": [
        "6ddc9d3200c25edddd7051f208dbbdd8e16f0734"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Mon Sep 15 10:43:35 2008 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Oct 07 14:26:18 2008 +1100"
      },
      "message": "powerpc: Avoid integer overflow in page_is_ram()\n\nCommit 8b150478 (\"ppc: make phys_mem_access_prot() work with pfns\ninstead of addresses\") fixed page_is_ram() in arch/ppc to avoid overflow\nfor addresses above 4G on 32-bit kernels.  However arch/powerpc\u0027s\npage_is_ram() is missing the same fix -- it computes a physical address\nby doing pfn \u003c\u003c PAGE_SHIFT, which overflows if pfn corresponds to a page\nabove 4G.\n\nIn particular this causes pages above 4G to be mapped with the wrong\ncaching attribute; for example many ppc440-based SoCs have PCI space\nabove 4G, and mmap()ing MMIO space may end up with a mapping that has\ncaching enabled.\n\nFix this by working with the pfn and avoiding the conversion to\nphysical address that causes the overflow.  This patch compares the\npfn to max_pfn, which is a semantic change from the old code -- that\ncode compared the physical address to high_memory, which corresponds\nto max_low_pfn.  However, I think that was is another bug, since\nhighmem pages are still RAM.\n\nReported-by: vb \u003cvb@vsbe.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "4ee7084eb11e00eb02dc8435fd18273a61ffa9bf",
      "tree": "f9f147f0293bc33e2962ac1c1aa5bbcbd9c0edce",
      "parents": [
        "9a62c05180ff55fdaa517370c6f077402820406c"
      ],
      "author": {
        "name": "Becky Bruce",
        "email": "becky.bruce@freescale.com",
        "time": "Wed Sep 24 11:01:24 2008 -0500"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Wed Sep 24 16:29:44 2008 -0500"
      },
      "message": "POWERPC: Allow 32-bit hashed pgtable code to support 36-bit physical\n\nThis rearranges a bit of code, and adds support for\n36-bit physical addressing for configs that use a\nhashed page table.  The 36b physical support is not\nenabled by default on any config - it must be\nexplicitly enabled via the config system.\n\nThis patch *only* expands the page table code to accomodate\nlarge physical addresses on 32-bit systems and enables the\nPHYS_64BIT config option for 86xx.  It does *not*\nallow you to boot a board with more than about 3.5GB of\nRAM - for that, SWIOTLB support is also required (and\ncoming soon).\n\nSigned-off-by: Becky Bruce \u003cbecky.bruce@freescale.com\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "82331ab15f14786f3d8e874efb76462685e3bfa0",
      "tree": "649f2a8cf6cbb66b1e93d97d3097df5a68f27111",
      "parents": [
        "307db95882fdfba372a0639e8e238cf8c542f430"
      ],
      "author": {
        "name": "Becky Bruce",
        "email": "becky.bruce@freescale.com",
        "time": "Thu Aug 21 13:50:22 2008 -0500"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Tue Sep 16 10:01:35 2008 -0500"
      },
      "message": "powerpc/85xx: fix build warning, remove silly cast\n\nThis fixes a build warning when PHYS_64BIT is enabled, and removes an\nunnecessary cast to phys_addr_t (the variable being cast is already\na phys_addr_t)\n\nSigned-off-by: Becky Bruce \u003cbecky.bruce@freescale.com\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "0b26425ce101a7c1b1ad4ec353d4e860223d9fc4",
      "tree": "ea179429b60efda0e4ce60ca41ad974f921c5fbb",
      "parents": [
        "150c6c8fecf6daaf68c2987ba2b6b259baefdff2"
      ],
      "author": {
        "name": "David Gibson",
        "email": "dwg@au1.ibm.com",
        "time": "Fri Sep 05 11:49:54 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Sep 15 11:08:47 2008 -0700"
      },
      "message": "powerpc: Clean up hugepage pagetable allocation for powerpc with 16G pages\n\nThere is a small bug in the handling of 16G hugepages recently added\nto the kernel.  This doesn\u0027t cause a crash or other user-visible\nproblems, but it does mean that more levels of pagetable are allocated\nthan makes sense for 16G pages.  The hugepage pagetables for the 16G\npages are allocated much lower in the pagetable tree than they should\nbe, with the intervening levels allocated with full pmd and pud pages\nwhich will only ever have one entry filled in.\n\nThis corrects this problem, at the same time cleaning up the handling\nof which level 64k versus 16M hugepage pagetables are allocated at.\nThe new way of formatting the tests should be more robust against\nchanges in pagetable structure, or any newly added hugepage sizes.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "aaf4a9b0f78786e6915077cbbb1d6f4fb6a8ee0b",
      "tree": "521bc9b99e7bbc235cba4a0179324f60a5986cd6",
      "parents": [
        "ce400c0102d8e1367266115ce6bc22333e5e3da6"
      ],
      "author": {
        "name": "Becky Bruce",
        "email": "becky.bruce@freescale.com",
        "time": "Thu Sep 04 01:37:53 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Sep 15 11:08:42 2008 -0700"
      },
      "message": "powerpc: Rename PTE_SIZE to HPTE_SIZE\n\nIt\u0027s the size of the hardware PTE; make that clear in the name.\n\nSigned-off-by: Becky Bruce \u003cbecky.bruce@freescale.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "549e8152de8039506f69c677a4546e5427aa6ae7",
      "tree": "e03a4f46143a23045e456f96fc08beba12e73073",
      "parents": [
        "e31aa453bbc4886a7bd33e5c2afa526d6f55bd7a"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sat Aug 30 11:43:47 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Sep 15 11:08:38 2008 -0700"
      },
      "message": "powerpc: Make the 64-bit kernel as a position-independent executable\n\nThis implements CONFIG_RELOCATABLE for 64-bit by making the kernel as\na position-independent executable (PIE) when it is set.  This involves\nprocessing the dynamic relocations in the image in the early stages of\nbooting, even if the kernel is being run at the address it is linked at,\nsince the linker does not necessarily fill in words in the image for\nwhich there are dynamic relocations.  (In fact the linker does fill in\nsuch words for 64-bit executables, though not for 32-bit executables,\nso in principle we could avoid calling relocate() entirely when we\u0027re\nrunning a 64-bit kernel at the linked address.)\n\nThe dynamic relocations are processed by a new function relocate(addr),\nwhere the addr parameter is the virtual address where the image will be\nrun.  In fact we call it twice; once before calling prom_init, and again\nwhen starting the main kernel.  This means that reloc_offset() returns\n0 in prom_init (since it has been relocated to the address it is running\nat), which necessitated a few adjustments.\n\nThis also changes __va and __pa to use an equivalent definition that is\nsimpler.  With the relocatable kernel, PAGE_OFFSET and MEMORY_START are\nconstants (for 64-bit) whereas PHYSICAL_START is a variable (and\nKERNELBASE ideally should be too, but isn\u0027t yet).\n\nWith this, relocatable kernels still copy themselves down to physical\naddress 0 and run there.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "cf00085d8045cddd80a8aabad97de96fa8131793",
      "tree": "22bc2935d93709ed6ae229b5737c5412cfaf5991",
      "parents": [
        "525c411d400603665f8416f7e84bb14a43830027"
      ],
      "author": {
        "name": "Chandru",
        "email": "chandru@in.ibm.com",
        "time": "Sat Aug 30 00:28:16 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Sep 15 11:07:58 2008 -0700"
      },
      "message": "powerpc: Add support for dynamic reconfiguration memory in kexec/kdump kernels\n\nKdump kernel needs to use only those memory regions that it is allowed\nto use (crashkernel, rtas, tce, etc.).  Each of these regions have\ntheir own sizes and are currently added under \u0027linux,usable-memory\u0027\nproperty under each memory@xxx node of the device tree.\n\nThe ibm,dynamic-memory property of ibm,dynamic-reconfiguration-memory\nnode (on POWER6) now stores in it the representation for most of the\nlogical memory blocks with the size of each memory block being a\nconstant (lmb_size).  If one or more or part of the above mentioned\nregions lie under one of the lmb from ibm,dynamic-memory property,\nthere is a need to identify those regions within the given lmb.\n\nThis makes the kernel recognize a new \u0027linux,drconf-usable-memory\u0027\nproperty added by kexec-tools.  Each entry in this property is of the\nform of a count followed by that many (base, size) pairs for the above\nmentioned regions.  The number of cells in the count value is given by\nthe #size-cells property of the root node.\n\nSigned-off-by: Chandru Siddalingappa \u003cchandru@in.ibm.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    }
  ],
  "next": "7e392f8c29ee045c6a29d50193d2fb10712eceb0"
}
