)]}'
{
  "log": [
    {
      "commit": "7e675137a8e1a4d45822746456dd389b65745bf6",
      "tree": "5df01d23ea1b6b212d18f2136ff82913fcbe7718",
      "parents": [
        "b379d790197cdf8a95fb67507d75a24ac0a1678d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Apr 28 02:13:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "mm: introduce pte_special pte bit\n\ns390 for one, cannot implement VM_MIXEDMAP with pfn_valid, due to their memory\nmodel (which is more dynamic than most).  Instead, they had proposed to\nimplement it with an additional path through vm_normal_page(), using a bit in\nthe pte to determine whether or not the page should be refcounted:\n\nvm_normal_page()\n{\n\t...\n        if (unlikely(vma-\u003evm_flags \u0026 (VM_PFNMAP|VM_MIXEDMAP))) {\n                if (vma-\u003evm_flags \u0026 VM_MIXEDMAP) {\n#ifdef s390\n\t\t\tif (!mixedmap_refcount_pte(pte))\n\t\t\t\treturn NULL;\n#else\n                        if (!pfn_valid(pfn))\n                                return NULL;\n#endif\n                        goto out;\n                }\n\t...\n}\n\nThis is fine, however if we are allowed to use a bit in the pte to determine\nrefcountedness, we can use that to _completely_ replace all the vma based\nschemes.  So instead of adding more cases to the already complex vma-based\nscheme, we can have a clearly seperate and simple pte-based scheme (and get\nslightly better code generation in the process):\n\nvm_normal_page()\n{\n#ifdef s390\n\tif (!mixedmap_refcount_pte(pte))\n\t\treturn NULL;\n\treturn pte_page(pte);\n#else\n\t...\n#endif\n}\n\nAnd finally, we may rather make this concept usable by any architecture rather\nthan making it s390 only, so implement a new type of pte state for this.\nUnfortunately the old vma based code must stay, because some architectures may\nnot be able to spare pte bits.  This makes vm_normal_page a little bit more\nugly than we would like, but the 2 cases are clearly seperate.\n\nSo introduce a pte_special pte state, and use it in mm/memory.c.  It is\ncurrently a noop for all architectures, so this doesn\u0027t actually result in any\ncompiled code changes to mm/memory.o.\n\nBTW:\nI haven\u0027t put vm_normal_page() into arch code as-per an earlier suggestion.\nThe reason is that, regardless of where vm_normal_page is actually\nimplemented, the *abstraction* is still exactly the same. Also, while it\ndepends on whether the architecture has pte_special or not, that is the\nonly two possible cases, and it really isn\u0027t an arch specific function --\nthe role of the arch code should be to provide primitive functions and\naccessors with which to build the core code; pte_special does that. We do\nnot want architectures to know or care about vm_normal_page itself, and\nwe definitely don\u0027t want them being able to invent something new there\nout of sight of mm/ code. If we made vm_normal_page an arch function, then\nwe have to make vm_insert_mixed (next patch) an arch function too. So I\ndon\u0027t think moving it to arch code fundamentally improves any abstractions,\nwhile it does practically make the code more difficult to follow, for both\nmm and arch developers, and easier to misuse.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@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": "e48a411fa097c386c6081f4ed5a952aa3e21ca2b",
      "tree": "67de9d470c0f3a44e2441fffd8cffd10a93ee721",
      "parents": [
        "19af35546de68c872dcb687613e0902a602cb20e"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Mon Feb 11 16:55:19 2008 +0100"
      },
      "committer": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Wed Feb 13 14:44:03 2008 +0100"
      },
      "message": "AVR32: Define PAGE_SHARED\n\nThe virtual framebuffer driver needs PAGE_SHARED, which is not defined\non avr32. Define it.\n\nReported-by: Oliver Zander \u003cozander@como.com\u003e\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\n"
    },
    {
      "commit": "6f834197a79d34d65ca44e9c77f2571edbcfb64b",
      "tree": "3cd3bf8534e1f041cd94f16d205925b74186bea2",
      "parents": [
        "e7f3bac95e0bdfd520e065c4a29aad46190fcc99"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Wed Aug 15 16:12:18 2007 +0200"
      },
      "committer": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Wed Aug 15 16:36:56 2007 +0200"
      },
      "message": "[AVR32] Fix bogus pte_page() definition\n\nThe current definition of pte_page() masks out valid bits from the\nphysical address, causing vmalloc_to_page() to misbehave. This may\nlead to everything from mmap() silently accessing the wrong data to\n\"invalid pte\" errors dumped by the kernel.\n\nAlso remove the now-unused definition of PTE_PHYS_MASK.\n\nThanks to Matteo Vit for discovering this bug.\n\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\n"
    },
    {
      "commit": "45e98cdb6d365b34b7a2d849e4d8bdc264d8e6e4",
      "tree": "172a959293a2c31691a162eca6af131e3ac89da2",
      "parents": [
        "98011f569e2ae1e4ae394f6e23faa16676d50de4"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sun Jul 15 23:38:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "page table handling cleanup\n\nKill pte_rdprotect(), pte_exprotect(), pte_mkread(), pte_mkexec(), pte_read(),\npte_exec(), and pte_user() except where arch-specific code is making use of\nthem.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bb5e19d63cc1b09aed8aef3a20926ac435bb8e7",
      "tree": "c6b2a03259a86ca96d3fac02fc0f2f05220e6682",
      "parents": [
        "53f049fa5f18730b61faaee582ea0e045fd44f49"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 08 00:30:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:13 2007 -0700"
      },
      "message": "Clean up mostly unused IOSPACE macros\n\nMost architectures defined three macros, MK_IOSPACE_PFN(), GET_IOSPACE()\nand GET_PFN() in pgtable.h.  However, the only callers of any of these\nmacros are in Sparc specific code, either in arch/sparc, arch/sparc64 or\ndrivers/sbus.\n\nThis patch removes the redundant macros from all architectures except\nsparc and sparc64.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f97f7f9400de47ae837170bb274e90ad3934386",
      "tree": "514451e6dc6b46253293a00035d375e77b1c65ed",
      "parents": [
        "53e62d3aaa60590d4a69b4e07c29f448b5151047"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Mon Sep 25 23:32:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:54 2006 -0700"
      },
      "message": "[PATCH] avr32 architecture\n\nThis adds support for the Atmel AVR32 architecture as well as the AT32AP7000\nCPU and the AT32STK1000 development board.\n\nAVR32 is a new high-performance 32-bit RISC microprocessor core, designed for\ncost-sensitive embedded applications, with particular emphasis on low power\nconsumption and high code density.  The AVR32 architecture is not binary\ncompatible with earlier 8-bit AVR architectures.\n\nThe AVR32 architecture, including the instruction set, is described by the\nAVR32 Architecture Manual, available from\n\nhttp://www.atmel.com/dyn/resources/prod_documents/doc32000.pdf\n\nThe Atmel AT32AP7000 is the first CPU implementing the AVR32 architecture.  It\nfeatures a 7-stage pipeline, 16KB instruction and data caches and a full\nMemory Management Unit.  It also comes with a large set of integrated\nperipherals, many of which are shared with the AT91 ARM-based controllers from\nAtmel.\n\nFull data sheet is available from\n\nhttp://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf\n\nwhile the CPU core implementation including caches and MMU is documented by\nthe AVR32 AP Technical Reference, available from\n\nhttp://www.atmel.com/dyn/resources/prod_documents/doc32001.pdf\n\nInformation about the AT32STK1000 development board can be found at\n\nhttp://www.atmel.com/dyn/products/tools_card.asp?tool_id\u003d3918\n\nincluding a BSP CD image with an earlier version of this patch, development\ntools (binaries and source/patches) and a root filesystem image suitable for\nbooting from SD card.\n\nAlternatively, there\u0027s a preliminary \"getting started\" guide available at\nhttp://avr32linux.org/twiki/bin/view/Main/GettingStarted which provides links\nto the sources and patches you will need in order to set up a cross-compiling\nenvironment for avr32-linux.\n\nThis patch, as well as the other patches included with the BSP and the\ntoolchain patches, is actively supported by Atmel Corporation.\n\n[dmccr@us.ibm.com: Fix more pxx_page macro locations]\n[bunk@stusta.de: fix `make defconfig\u0027]\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Dave McCracken \u003cdmccr@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
