)]}'
{
  "log": [
    {
      "commit": "27ac792ca0b0a1e7e65f20342260650516c95864",
      "tree": "8e0bc93612da0803fe12303ccb75c837cd633c83",
      "parents": [
        "d92bc318547507a944a22e7ef936793dc0fe167f"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Wed Jul 23 21:28:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures\n\nOn 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit\nboundary. For example:\n\n\tu64 val \u003d PAGE_ALIGN(size);\n\nalways returns a value \u003c 4GB even if size is greater than 4GB.\n\nThe problem resides in PAGE_MASK definition (from include/asm-x86/page.h for\nexample):\n\n#define PAGE_SHIFT      12\n#define PAGE_SIZE       (_AC(1,UL) \u003c\u003c PAGE_SHIFT)\n#define PAGE_MASK       (~(PAGE_SIZE-1))\n...\n#define PAGE_ALIGN(addr)       (((addr)+PAGE_SIZE-1)\u0026PAGE_MASK)\n\nThe \"~\" is performed on a 32-bit value, so everything in \"and\" with\nPAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.\nUsing the ALIGN() macro seems to be the right way, because it uses\ntypeof(addr) for the mask.\n\nAlso move the PAGE_ALIGN() definitions out of include/asm-*/page.h in\ninclude/linux/mm.h.\n\nSee also lkml discussion: http://lkml.org/lkml/2008/6/11/237\n\n[akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]\n[akpm@linux-foundation.org: fix v850]\n[akpm@linux-foundation.org: fix powerpc]\n[akpm@linux-foundation.org: fix arm]\n[akpm@linux-foundation.org: fix mips]\n[akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]\n[akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]\n[akpm@linux-foundation.org: fix powerpc]\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\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": "2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4",
      "tree": "23a31763887d9505e62e9d7cc8ec2fa4b86bd380",
      "parents": [
        "13214adf738abc92b0a00c0763fd3be79eebaa7c"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Feb 08 04:22:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:42 2008 -0800"
      },
      "message": "CONFIG_HIGHPTE vs. sub-page page tables.\n\nBackground: I\u0027ve implemented 1K/2K page tables for s390.  These sub-page\npage tables are required to properly support the s390 virtualization\ninstruction with KVM.  The SIE instruction requires that the page tables\nhave 256 page table entries (pte) followed by 256 page status table entries\n(pgste).  The pgstes are only required if the process is using the SIE\ninstruction.  The pgstes are updated by the hardware and by the hypervisor\nfor a number of reasons, one of them is dirty and reference bit tracking.\nTo avoid wasting memory the standard pte table allocation should return\n1K/2K (31/64 bit) and 2K/4K if the process is using SIE.\n\nProblem: Page size on s390 is 4K, page table size is 1K or 2K.  That means\nthe s390 version for pte_alloc_one cannot return a pointer to a struct\npage.  Trouble is that with the CONFIG_HIGHPTE feature on x86 pte_alloc_one\ncannot return a pointer to a pte either, since that would require more than\n32 bit for the return value of pte_alloc_one (and the pte * would not be\naccessible since its not kmapped).\n\nSolution: The only solution I found to this dilemma is a new typedef: a\npgtable_t.  For s390 pgtable_t will be a (pte *) - to be introduced with a\nlater patch.  For everybody else it will be a (struct page *).  The\nadditional problem with the initialization of the ptl lock and the\nNR_PAGETABLE accounting is solved with a constructor pgtable_page_ctor and\na destructor pgtable_page_dtor.  The page table allocation and free\nfunctions need to call these two whenever a page table page is allocated or\nfreed.  pmd_populate will get a pgtable_t instead of a struct page pointer.\n To get the pgtable_t back from a pmd entry that has been installed with\npmd_populate a new function pmd_pgtable is added.  It replaces the pmd_page\ncall in free_pte_range and apply_to_pte_range.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\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": "516c25a86f6bdad77ded01a43c52c5569c8d690c",
      "tree": "e7404e73fd103f70958ccb1bc1c74ff1c7ff48bf",
      "parents": [
        "c1445db9f72db0537c43a2eab6e1b0f6741162f5"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Cleanup asm/{elf,page,user}.h: #ifdef __KERNEL__ is no longer needed\n\nasm/elf.h, asm/page.h and asm/user.h don\u0027t export to userspace now, so we can\ndrop #ifdef __KERNEL__ for them.\n\n[k.shutemov@gmail.com: remove #ifdef __KERNEL_]\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@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": "1c593571093ae0f259d3bd7a66988a7a8eb5c7bc",
      "tree": "0ce48386ab6e2752145dba8fa81bc5440eda0118",
      "parents": [
        "be1b3d8cb141c0705d61af2e2372d72ff16c7d04"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Thu Oct 18 00:04:34 2007 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@shortfin.cabal.ca",
        "time": "Thu Oct 18 00:59:15 2007 -0700"
      },
      "message": "[PARISC] Kill off ASM_PAGE_SIZE use\n\nWe have the macro _AC() generally available now\nso the calculation of PAGE_SIZE can be made\nassembler compatible.\nIntroduce use of _AC() and kill all users of\nASM_PAGE_SIZE.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\n"
    },
    {
      "commit": "513e7ecd695a4c0f95b9aa86c03ec9b7d2d09e03",
      "tree": "244b66b448f3de6bf772828c13955b786a960924",
      "parents": [
        "a8f44e3889b686813926b288bd4e51a0cf17d2c7"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Sun Jan 28 15:09:20 2007 +0100"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@athena.road.mcmartin.ca",
        "time": "Sat Feb 17 01:17:13 2007 -0500"
      },
      "message": "[PARISC] convert to use CONFIG_64BIT instead of __LP64__\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "caa451f30aabba47e96355511a63456357074df6",
      "tree": "d48aa1e7e438ba949ac74d0e0d54b060e5d1a173",
      "parents": [
        "e51ec241784f516ad3a916a24ac936364cd10d63"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@mako.i.cabal.ca",
        "time": "Mon Oct 16 00:29:47 2006 -0400"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@ubuntu.com",
        "time": "Fri Dec 08 00:34:36 2006 -0500"
      },
      "message": "[PARISC] Reserve 1GB of space for vmalloc/tmpalias space on parisc64\n\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "20f4d3cb9b94ce3fec9a6135b9ad075b82b24f41",
      "tree": "995dec90d251e8e57abca8fea552d8ae5314a493",
      "parents": [
        "e45da35e180a4fc91307648d021a598495742c32"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@parisc-linux.org",
        "time": "Wed Aug 23 09:00:04 2006 -0700"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@parisc-linux.org",
        "time": "Wed Oct 04 06:46:21 2006 -0600"
      },
      "message": "[PARISC] parisc specific kmap API implementation for pa8800\n\nThis patch fixes the pa8800 at a gross level (there are still other\nsubtle incoherency issues which can still cause crashes and HPMCs).\n\nWhat it does is try to force eject inequivalent aliases before they\nbecome visible to the L2 cache (which is where we get the incoherence\nproblems).\n\nA new function (parisc_requires_coherency) is introduced in\nasm/processor.h to identify the pa8x00 processors (8800 and 8900)\nwhich have the issue.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "ac7fb273ca1d0b4fb354575bb6e101ffd09e0b54",
      "tree": "7c6d78e7200598fa13f8dea6de05d82b4fc28be0",
      "parents": [
        "020d8c063b4d850b53dfbaee843c8335b7a90d26"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Mon Sep 18 20:12:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 19 07:59:59 2006 -0700"
      },
      "message": "[PATCH] headers_check: Clean up asm-parisc/page.h for user headers\n\nRemove definitions of PAGE_* from the user view\nDelete unnecessary comments referring to the size of pages\nOnly include \u003casm-generic\u003e if we\u0027re in __KERNEL__\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "2fd83038160531245099c3c5b3511fa4b80765eb",
      "tree": "6145a9e78723c76ceac722eb60267c0116983c12",
      "parents": [
        "d668da80d613def981c573354e1853e38bd0698d"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@parisc-linux.org",
        "time": "Thu Apr 20 20:40:23 2006 +0000"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Fri Apr 21 22:20:34 2006 +0000"
      },
      "message": "[PARISC] Further work for multiple page sizes\n\nMore work towards supporing multiple page sizes on 64-bit. Convert\nsome assumptions that 64bit uses 3 level page tables into testing\nPT_NLEVELS. Also some BUG() to BUG_ON() conversions and some cleanups\nto assembler.\n\nSigned-off-by: Helge Deller \u003cdeller@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "b31059f7634931a06f6811247ae9217d1a833a46",
      "tree": "916b5f3b8e76f7ae1ee8b6820d344d2f5326250d",
      "parents": [
        "b9e71ac13a71bb435a4146d868080f5389bb906c"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@parisc-linux.org",
        "time": "Thu Mar 23 15:48:15 2006 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:45 2006 +0000"
      },
      "message": "[PARISC] Add STRICT_MM_TYPECHECKS\n\nAdd STRICT_MM_TYPECHECKS to page.h as other architectures do.\n\nSigned-off-by: Helge Deller \u003cdeller@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "ba57583396585a1ca509e2a84d970a2ff3f9bbfb",
      "tree": "29568b37c8f4af9edc86d702a98713b0f016c78a",
      "parents": [
        "ab43227c8a568119a3aebc952a95ac3023e1730d"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@parisc-linux.org",
        "time": "Wed Mar 22 09:42:04 2006 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:44 2006 +0000"
      },
      "message": "[PARISC] Add parisc implementation of flush_kernel_dcache_page()\n\nWe need to do a little renaming of our original syntax because\nof the difference in arguments.\n\nSigned-off-by: James Bottomley \u003cjejb@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "0d833b41092df2f4a65cbdb0a0a947c35cdd2f9d",
      "tree": "4a5369cb510411761ce50c789f18bf7b6aa7d867",
      "parents": [
        "a02036e796e5046fe0463b9a092e9b617c525866"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:46 2006 -0800"
      },
      "message": "[PATCH] unify pfn_to_page: parisc pfn_to_page\n\nPARISC can use generic funcs.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e8b736c860dd93ba26b391abc91891e03ca99858",
      "tree": "31836892f93fca17999f2d808f16651b1f769e5e",
      "parents": [
        "4d64c9f58e618b1bdbc91cb071e6c8d90f43d620"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@parisc-linux.org",
        "time": "Tue Jan 10 20:47:55 2006 -0500"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@duet.int.mcmartin.ca",
        "time": "Tue Jan 10 21:51:51 2006 -0500"
      },
      "message": "[PARISC] Add some defines for HugeTLB pages\n\nDefine some constants for HugeTLB pages, not that parisc-linux supports\nit yet.\n\nSigned-off-by: Helge Deller \u003cdeller@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "fd4fd5aac1282825195c6816ed40a2a6d42db5bf",
      "tree": "5908cf4c88a7c9d69ea7bdc1c354d51b6ff47f86",
      "parents": [
        "28ae55c98e4d16eac9a05a8a259d7763ef3aeb18"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sat Sep 03 15:54:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:39 2005 -0700"
      },
      "message": "[PATCH] mm: consolidate get_order\n\nSomeone mentioned that almost all the architectures used basically the same\nimplementation of get_order.  This patch consolidates them into\nasm-generic/page.h and includes that in the appropriate places.  The\nexceptions are ia64 and ppc which have their own (presumably optimised)\nversions.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
