)]}'
{
  "log": [
    {
      "commit": "4f70f7a91bffdcc39f088748dc678953eb9a3fbd",
      "tree": "934591a9518fbed87c14b758a1744cc30c9dfbb8",
      "parents": [
        "e34456825de0d3ac4c4e8fe0bdc6b599404ea06f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 12 18:33:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 12 18:33:56 2008 -0700"
      },
      "message": "sparc64: Implement IRQ stacks.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c7498081a6f5d96c9f3243b6b5e020352903bfd2",
      "tree": "f23d27a2c973d0b0542f84cdd0b39be5e4ba406d",
      "parents": [
        "c6ed413ddcfb66e9d3e1318060271391c7659dd3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 12 02:03:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 12 02:03:49 2008 -0700"
      },
      "message": "sparc64: Fix recursion in stack overflow detection handling.\n\nThe calls down into prom_printf() when we detect an overflowed stack\ncan recurse again since the overflow stack will be \"below\" the current\nkernel stack limit.\n\nPrevent this by just returning straight if we are on the stack\noverflow safe stack already.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7fe93344fd3f4ccd406a35f751a61b77f94b0fc",
      "tree": "2d164e040f6acde923147a53e5c92fa0ca0cf0ec",
      "parents": [
        "d172ad18f9914f70c761a6cad470efc986d5e07e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 23:43:55 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 23:44:53 2008 -0700"
      },
      "message": "sparc64: Remove 4MB and 512K base page size options.\n\nAdrian Bunk reported that enabling 4MB page size breaks the build.\nThe problem is that MAX_ORDER combined with the page shift exceeds the\nSECTION_SIZE_BITS we use in asm-sparc64/sparsemem.h\n\nThere are several ways I suppose we could work around this.  For one\nwe could define a CONFIG_FORCE_MAX_ZONEORDER to decrease MAX_ORDER in\nthese higher page size cases.\n\nBut I also know that these page size cases are broken wrt. TLB miss\nhandling especially on pre-hypervisor systems, and there isn\u0027t an easy\nway to fix that.\n\nThese options were meant to be fun experimental hacks anyways, and\nonly 8K and 64K make any sense to support.\n\nSo remove 512K and 4M base page size support.  Of course, we still\nsupport these page sizes for huge pages.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d05f5f9906740474eb768823004ffcd775b12ca6",
      "tree": "50eb1fb79355a076c51962ddb5e8a75b8fb76972",
      "parents": [
        "aa5e5ceaf52a882a29d9b86531a20733f5116066"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 13 22:06:59 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 22:36:13 2008 +0200"
      },
      "message": "sparc64: add ftrace support.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b00dc8376465ee5f8dd49b95924e31b4c2404ab0",
      "tree": "6a06b763a217257e8988aa6db2c3649a3ca2bb63",
      "parents": [
        "8033c6e9736c29cce5f0d0abbca9a44dffb20c39"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon May 19 16:52:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 20 00:33:43 2008 -0700"
      },
      "message": "sparc64: remove CVS keywords\n\nThis patch removes the CVS keywords that weren\u0027t updated for a long time\nfrom comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b70d3a2c596fb52b02488ad4aef13fa0d602090c",
      "tree": "502793fdd2ca7c7e0d66af3e750d4ffbec6db248",
      "parents": [
        "626adeb6675fdf60e9d8c6212776b0b0acf0e376"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Apr 29 00:59:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:02 2008 -0700"
      },
      "message": "iomap: fix 64 bits resources on 32 bits\n\nAlmost all implementations of pci_iomap() in the kernel, including the generic\nlib/iomap.c one, copies the content of a struct resource into unsigned long\u0027s\nwhich will break on 32 bits platforms with 64 bits resources.\n\nThis fixes all definitions of pci_iomap() to use resource_size_t.  I also\n\"fixed\" the 64bits arch for consistency.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\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": "4787083fcce866e275bedeb87cd6dfba34c84253",
      "tree": "82b48b36727aba73dcdfd152e2a20da3af13832a",
      "parents": [
        "c6d64c16bb193c8ca2ccc0b3c556a4574a02408b"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Thu Jan 31 16:48:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:32:44 2008 -0800"
      },
      "message": "[SPARC64]: Fix inconsistent .section usage in lib/\n\nA few places missed the \"a\" specifier for the __ex_table section. Add\nthese so we avoid generation an additional section at link time.\n\nLatest modpost would otherwise complain like this:\n\nWARNING: vmlinux.o (__ex_table.2): section name inconsistency.\n(.[number]+) following section name.\nDid you forget to use \"ax\"/\"aw\" in a .S file?\nNote that for example \u003clinux/init.h\u003e contains\nsection definitions for use in .S files.\nWARNING: vmlinux.o (__ex_table.4): section name inconsistency.\n(.[number]+) following section name.\nDid you forget to use \"ax\"/\"aw\" in a .S file?\nNote that for example \u003clinux/init.h\u003e contains\nsection definitions for use in .S files.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6d64c16bb193c8ca2ccc0b3c556a4574a02408b",
      "tree": "4cf593f98f0ac457c43e9e6513aca71eb6b11109",
      "parents": [
        "13f09b95a82c46ed608d057b22e0dd18ebfff22a"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Jan 28 21:06:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:32:43 2008 -0800"
      },
      "message": "[SPARC/SPARC64]: Fix usage of .section .sched.text in assembler code.\n\nld will generate an unique named section when assembler do not use\n\"ax\" but gcc does. Add the missing annotation.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24f287e412ae90de8d281543c8b1043b6ed6c019",
      "tree": "eb69803d187d35fd9e90c1428952c0ed5a0970c1",
      "parents": [
        "d85714d81cc0408daddb68c10f7fd69eafe7c213"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 16:41:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 17 16:24:55 2007 -0700"
      },
      "message": "[SPARC64]: Implement atomic backoff.\n\nWhen the cpu count is high and contention hits an atomic object, the\nprocessors can synchronize such that some cpus continually get knocked\nout and cannot complete the atomic update.\n\nSo implement an exponential backoff when SMP.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d060db63fd38a8a75f666576ef9999c28cdc31cf",
      "tree": "a24459bce7ac01357753781d14cbf46639686a25",
      "parents": [
        "bbe0b5eb578155e4e716c8cf5b23ba67bab338e2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Oct 12 01:52:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Oct 13 21:53:14 2007 -0700"
      },
      "message": "[SPARC64]: Fix register usage in xor_raid_4().\n\nSome typos led to using %i6/%i7 instead of %l6/%l7 in loads which is\nreally really bad because those are the frame pointer and return PC.\n\nBased upon a raid5 crash report by Bertrand Joel.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4aa2e867c5d696c0f249ad8d63d0d983b4ffaf9",
      "tree": "c9e89ccf9cb6ae2e054b9dfad5d2f295edaf8541",
      "parents": [
        "f778089cb2445dfc6dfd30a7a567925fd8589f1e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 02 16:17:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 02 16:17:17 2007 -0700"
      },
      "message": "[SPARC64]: Don\u0027t use in/local regs for ldx/stx data in N1 memcpy.\n\nIt doesn\u0027t matter for use in 64-bit objects, but when used in\n32-bit environments the top 32-bits of the local and in\nregisters will get chopped off on the next register window\nspill/restore which leads to difficult to track down and\nsubtle bugs.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25e5566ed38650f7990041fcd20571d6ddd2a040",
      "tree": "26d5bf006a6945930102fa01ad0edcd479b39bbf",
      "parents": [
        "8cc8c28a9acdceda0e60519167a052cc3408c5c3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 02 01:03:09 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 02 01:03:09 2007 -0700"
      },
      "message": "[SPARC64]: Fix missing load-twin usage in Niagara-1 memcpy.\n\nFor the case where the source is not aligned modulo 8\nwe don\u0027t use load-twins to suck the data in and this\nkills performance since normal loads allocate in the\nL1 cache (unlike load-twin) and thus big memcpys swipe\nthe entire L1 D-cache.\n\nWe need to allocate a register window to implement this\nproperly, but that actually simplifies a lot of things\nas a nice side-effect.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf5adce11743e98739fcb97e76d688f0b0bc2199",
      "tree": "3cea4d74363a6570bbe5aaf4e723e3c256ffb591",
      "parents": [
        "0fdb7f96d8c27e37ed2ca1ae5a763baf14b8fe0c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 16 01:47:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 16 01:47:25 2007 -0700"
      },
      "message": "[SPARC64]: Niagara-2 optimized copies.\n\nThe bzero/memset implementation stays the same as Niagara-1.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c70b6fc7b6fc321636a014082d9e32333da1f80",
      "tree": "ff0e52bb7ba43b058b7cbb88b952fd268fbe3ad2",
      "parents": [
        "68c9f9fd336dc7e793cecad25f8ac40ccaa7a256"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Aug 08 17:11:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Aug 08 17:33:45 2007 -0700"
      },
      "message": "[SPARC64]: Do not assume sun4v chips have load-twin/store-init support.\n\nCheck the cpu type in the OBP device tree before committing to\nusing the optimized Niagara memcpy and memset implementation.\n\nIf we don\u0027t recognize the cpu type, use a completely generic\nversion.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b99cfb8cc51adae7f5294c8962a026c63100959",
      "tree": "349cebcae3eda608f1ed52fa3afcf661fca075a9",
      "parents": [
        "27a2ef382c7935a4dd02bff9fd361ce118df98c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jul 14 02:23:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 16 04:05:02 2007 -0700"
      },
      "message": "[SPARC64]: More sensible udelay implementation.\n\nTake a page from the powerpc folks and just calculate the\ndelay factor directly.\n\nSince frequency scaling chips use a system-tick register,\nthe value is going to be the same system-wide.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24d559cac4d741d60ec85e927974408020a2f060",
      "tree": "e01419724e2da6c817d525756e92d584d41c03eb",
      "parents": [
        "5851fadce8824d5d4b8fd02c22ae098401f6489e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 19 13:27:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 19 13:27:33 2007 -0700"
      },
      "message": "[SPARC64]: store-init needs trailing membar.\n\nThe manual says that it is required and we actually have crash reports\nwhere loads see stale data due to not having membars here.\n\nIn one case the networking does:\n\n\tmemset(skb, 0, offsetof(struct sk_buff, truesize));\n\nand then some code later checks skb-\u003enohdr for zero, but it\u0027s still\nthe value that was there before the memset().\n\nNote that arch/sparc64/lib/xor.S already got this right.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "ae5de0ff0bc24664a053109c6caa782ba2ad7c53",
      "tree": "d1362b5cf494f2495d318f6ca6eccd79aae77997",
      "parents": [
        "672c6108a51bf559d19595d9f8193dfd81f0f752"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Jun 04 21:32:01 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Jun 04 21:32:01 2006 -0700"
      },
      "message": "[SPARC64]: Fix missing fold at end of checksums.\n\nBoth csum_partial() and the csum_partial_copy*() family of routines\nforget to do a final fold on the computed checksum value on sparc64.\nSo do the standard Sparc \"add + set condition codes, add carry\"\nsequence, then make sure the high 32-bits of the return value are\nclear.\n\nBased upon some excellent detective work and debugging done by\nRichard Braun and Samuel Thibault.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d78d4beb64eb07d50665432867971c481192ebf",
      "tree": "d007f5721ba96abff820f76db77f11ae578722f8",
      "parents": [
        "d59288b75797fd982546aee7ba24a495dee128dd"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:14 2006 -0800"
      },
      "message": "[PATCH] bitops: sparc64: use generic bitops\n\n- remove __{,test_and_}{set,clear,change}_bit() and test_bit()\n- remove ffz()\n- remove __ffs()\n- remove generic_fls()\n- remove generic_fls64()\n- remove sched_find_first_bit()\n- remove ffs()\n\n- unless defined(ULTRA_HAS_POPULATION_COUNT)\n\n  - remove generic_hweight{64,32,16,8}()\n\n- remove find_{next,first}{,_zero}_bit()\n- remove ext2_{set,clear,test,find_first_zero,find_next_zero}_bit()\n- remove minix_{test,set,test_and_clear,test,find_first_zero}_bit()\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bb8646d8340fa7c1b66a037428e39f85f8738f0a",
      "tree": "931d4505a0ba65124b662f0f8b5935e0b154bd66",
      "parents": [
        "88d7079458f87d6f2d2261b2f87b7b9416019f5e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Mar 18 23:55:11 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:16:41 2006 -0800"
      },
      "message": "[SPARC64]: Optimized TSB table initialization.\n\nWe only need to write an invalid tag every 16 bytes,\nso taking advantage of this can save many instructions\ncompared to the simple memset() call we make now.\n\nA prefetching implementation is implemented for sun4u\nand a block-init store version if implemented for Niagara.\n\nThe next trick is to be able to perform an init and\na copy_tsb() in parallel when growing a TSB table.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36344762396ca868d6076c41a84bda25f1ed9d3c",
      "tree": "7471ce9b78736e538417267f1bc27687a1b09542",
      "parents": [
        "c4e9249b1924118693f298ee8d38f7fe43587af3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 25 17:16:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:03 2006 -0800"
      },
      "message": "[SPARC64]: Niagara optimized XOR functions for RAID.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ca2557c48000daa8183b07d83f582a597705ebe",
      "tree": "2ce53d5b4d6f21509dc4bc5fdeead1f559e626a0",
      "parents": [
        "d371c0c17466b7e7bb4d395f96aa885a23df1073"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Feb 21 14:29:42 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:50 2006 -0800"
      },
      "message": "[SPARC64]: Niagara optimized memset/bzero/clear_user.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3763be32d591cacf808c36390a8af3f2784cde5f",
      "tree": "124ae01bf91905a6d3af931caf28acf82900699b",
      "parents": [
        "3f19a84e39619053f117bd5bb9183c5bfea7db45"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Feb 17 12:33:13 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:29 2006 -0800"
      },
      "message": "[SPARC64]: Define ARCH_HAS_READ_CURRENT_TIMER.\n\nThis gives more consistent bogomips and delay() semantics,\nespecially on sun4v.  It gives weird looking values though...\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c857e3fdbc306e95fdcaad1d8f3ea6bc8e7eea99",
      "tree": "6fb1cfc9b8742b56db032fcdb4294e693bb75ffa",
      "parents": [
        "46f860471483dce9ba5ce682a69c61cbceb54e52"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Feb 17 10:35:23 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:28 2006 -0800"
      },
      "message": "[SPARC64]: __bzero_noasi --\u003e __clear_user\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6241e5cc6afe2c5b75b51e1c890df18f05838cf6",
      "tree": "557eb4d7f530b9229a87c0a8d9f6013b9987f6f5",
      "parents": [
        "1a7a242c898dd131f2df005c492e9b44fb8900e0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 11 23:28:40 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:12:29 2006 -0800"
      },
      "message": "[SPARC64]: Fix branch signedness bug in all code patching.\n\nThe bug that hit SUN4V TLB patching exists elsewhere.\nMake sure we cure all such cases.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4bce90ea2069e5a87beac806de3090ab32128d5",
      "tree": "3983a206c8060ef65ba17945d1c9f69e68d88b3d",
      "parents": [
        "490384e752a43aa281ed533e9de2da36df25c337"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 11 21:57:54 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:12:25 2006 -0800"
      },
      "message": "[SPARC64]: Deal with PTE layout differences in SUN4V.\n\nYes, you heard it right, they changed the PTE layout for\nSUN4V.  Ho hum...\n\nThis is the simple and inefficient way to support this.\nIt\u0027ll get optimized, don\u0027t worry.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d4bc95b9c205a7374afbe93b38d9c2757a45862",
      "tree": "e43b03a266da9786355941246b77f30058e7058d",
      "parents": [
        "e92b92571c85dfa1cdc56e88566134c51ae1d12b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 11 10:30:41 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:12:20 2006 -0800"
      },
      "message": "[SPARC64]: Fix some Niagara memcpy() bugs.\n\nWe need to restore the %asi register properly.\nFor the kernel this means get_fs(), for user this\nmeans ASI_PNF.\n\nAlso, NGcopy_to_user.S was including U3memcpy.S instead\nof NGmemcpy.S, oops :-)\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8591e3027235d6d11b958e43379f2ee7b7114841",
      "tree": "ce3f036ac64e20f7d75bae04e5362c97bc9228e6",
      "parents": [
        "df7d6aec96ab98cb182dd5138a85bdc363a9bf0d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Feb 07 16:09:12 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:11:54 2006 -0800"
      },
      "message": "[SPARC64]: Niagara copy/clear page.\n\nHappily we have no D-cache aliasing issues on these\nchips, so the implementation is very straightforward.\n\nAdd a stub in bootup which will be where the patching\ncalls will be made for niagara/sun4v/hypervisor.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "398d10830843bda7798f71052b54a5341a8ddd53",
      "tree": "3c2f7da709f2f5e21fe3e5678276eae2d665735f",
      "parents": [
        "30ddbdb03339fc62480ddbff800a44066bb14455"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Mar 05 16:41:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:11:42 2006 -0800"
      },
      "message": "[SPARC64]: Niagara optimized memcpy() and copy_{to,from}_user().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4da808c352c290d3f762933d44d4ab90c2fd65f3",
      "tree": "da99326440777580a19c345a5b0d52fbf800042b",
      "parents": [
        "4753eb2ac7022b999e5e484f1a5dc001dba22bd3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 31 18:33:00 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:11:22 2006 -0800"
      },
      "message": "[SPARC64]: Fix bogus flush instruction usage.\n\nSome of the trap code was still assuming that alternate\nglobal %g6 was hard coded with current_thread_info().\nLet\u0027s just consistently flush at KERNBASE when we need\na pipeline synchronization.  That\u0027s locked into the TLB\nand will always work.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d000d5b9689734006d89fe9b7597c758b74a9fb",
      "tree": "1336c7805645b29eec0617b4554e5e0b37222123",
      "parents": [
        "501f74f29498543c27f4f9697f5c1e980dd2de0d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Mar 04 23:23:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Mar 04 23:23:56 2006 -0800"
      },
      "message": "[SPARC64]: Mark __ex_table section correctly.\n\nWe must use the \"a\" (allocate) attribute every time we\nemit an entry into the __ex_table section.\n\nFor consistency, use \"a\" instead of #alloc which is some\nSolaris compat cruft GNU as provides on Sparc.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba6399334dd8a75bd295de26496196c720abae0a",
      "tree": "0535e4bcfe8da7d0dde0bcf1ba8cb914c5f12e46",
      "parents": [
        "d85c3553df5e24cb3117385f0a17e1cc0436d148"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Oct 07 13:30:49 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Oct 07 13:30:49 2005 -0700"
      },
      "message": "[SPARC64]: Fix userland FPU state corruption.\n\nWe need to use stricter memory barriers around the block\nload and store instructions we use to save and restore the\nFPU register file.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "efdc1e2083e04cc70721d55803889b346c1a3de2",
      "tree": "9f24fab33f795a69bb2dc43a8f3613392762ff02",
      "parents": [
        "5fd29752f09cabff582f65c0ce35518db4c64937"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Sep 28 21:06:47 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Sep 28 21:06:47 2005 -0700"
      },
      "message": "[SPARC64]: Simplify user fault fixup handling.\n\nInstead of doing byte-at-a-time user accesses to figure\nout where the fault occurred, read the saved fault_address\nfrom the current thread structure.\n\nFor the sake of defensive programming, if the fault_address\ndoes not fall into the user buffer range, simply assume the\nwhole area faulted.  This will cause the fixup for\ncopy_from_user() to clear the entire kernel side buffer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5fd29752f09cabff582f65c0ce35518db4c64937",
      "tree": "b46e5c2c596d26125a7c2aac619fe1b52431f978",
      "parents": [
        "8cf14af0a740fb7e9f94a203b5a989beb875d58f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Sep 28 20:41:45 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Sep 28 20:41:45 2005 -0700"
      },
      "message": "[SPARC64]: Fix fault handling in unaligned trap handler.\n\nWe were not calling kernel_mna_trap_fault() correctly.\nInstead of being fancy, just return 0 vs. -EFAULT from\nthe assembler stubs, and handle that return value as\nappropriate.\n\nCreate an \"__retl_efault\" stub for assembler exception\ntable entries and use it where possible.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4db2ce0199f04b6e99999f22e28ef9a0ae5f0d2f",
      "tree": "87a00c97e02a77cdfec517398caa3f1d8f6a2f0d",
      "parents": [
        "4a805e863d6b9466baf7084e1d6fdbe6e0628d8e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 14 21:47:01 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 14 21:47:01 2005 -0700"
      },
      "message": "[LIB]: Consolidate _atomic_dec_and_lock()\n\nSeveral implementations were essentialy a common piece of C code using\nthe cmpxchg() macro.  Put the implementation in one spot that everyone\ncan share, and convert sparc64 over to using this.\n\nAlpha is the lone arch-specific implementation, which codes up a\nspecial fast path for the common case in order to avoid GP reloading\nwhich a pure C version would require.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb1c8f93d869b34cacb8b8932e2b83d96a19d720",
      "tree": "a006d078aa02e421a7dc4793c335308204859d36",
      "parents": [
        "4327edf6b8a7ac7dce144313947995538842d8fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 10 00:25:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:21 2005 -0700"
      },
      "message": "[PATCH] spinlock consolidation\n\nThis patch (written by me and also containing many suggestions of Arjan van\nde Ven) does a major cleanup of the spinlock code.  It does the following\nthings:\n\n - consolidates and enhances the spinlock/rwlock debugging code\n\n - simplifies the asm/spinlock.h files\n\n - encapsulates the raw spinlock type and moves generic spinlock\n   features (such as -\u003ebreak_lock) into the generic code.\n\n - cleans up the spinlock code hierarchy to get rid of the spaghetti.\n\nMost notably there\u0027s now only a single variant of the debugging code,\nlocated in lib/spinlock_debug.c.  (previously we had one SMP debugging\nvariant per architecture, plus a separate generic one for UP builds)\n\nAlso, i\u0027ve enhanced the rwlock debugging facility, it will now track\nwrite-owners.  There is new spinlock-owner/CPU-tracking on SMP builds too.\nAll locks have lockup detection now, which will work for both soft and hard\nspin/rwlock lockups.\n\nThe arch-level include files now only contain the minimally necessary\nsubset of the spinlock code - all the rest that can be generalized now\nlives in the generic headers:\n\n include/asm-i386/spinlock_types.h       |   16\n include/asm-x86_64/spinlock_types.h     |   16\n\nI have also split up the various spinlock variants into separate files,\nmaking it easier to see which does what. The new layout is:\n\n   SMP                         |  UP\n   ----------------------------|-----------------------------------\n   asm/spinlock_types_smp.h    |  linux/spinlock_types_up.h\n   linux/spinlock_types.h      |  linux/spinlock_types.h\n   asm/spinlock_smp.h          |  linux/spinlock_up.h\n   linux/spinlock_api_smp.h    |  linux/spinlock_api_up.h\n   linux/spinlock.h            |  linux/spinlock.h\n\n/*\n * here\u0027s the role of the various spinlock/rwlock related include files:\n *\n * on SMP builds:\n *\n *  asm/spinlock_types.h: contains the raw_spinlock_t/raw_rwlock_t and the\n *                        initializers\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  asm/spinlock.h:       contains the __raw_spin_*()/etc. lowlevel\n *                        implementations, mostly inline assembly code\n *\n *   (also included on UP-debug builds:)\n *\n *  linux/spinlock_api_smp.h:\n *                        contains the prototypes for the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n *\n * on UP builds:\n *\n *  linux/spinlock_type_up.h:\n *                        contains the generic, simplified UP spinlock type.\n *                        (which is an empty structure on non-debug builds)\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  linux/spinlock_up.h:\n *                        contains the __raw_spin_*()/etc. version of UP\n *                        builds. (which are NOPs on non-debug, non-preempt\n *                        builds)\n *\n *   (included on UP-non-debug builds:)\n *\n *  linux/spinlock_api_up.h:\n *                        builds the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n */\n\nAll SMP and UP architectures are converted by this patch.\n\narm, i386, ia64, ppc, ppc64, s390/s390x, x64 was build-tested via\ncrosscompilers.  m32r, mips, sh, sparc, have not been tested yet, but should\nbe mostly fine.\n\nFrom: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\n\n  Booted and lightly tested on a500-44 (64-bit, SMP kernel, dual CPU).\n  Builds 32-bit SMP kernel (not booted or tested).  I did not try to build\n  non-SMP kernels.  That should be trivial to fix up later if necessary.\n\n  I converted bit ops atomic_hash lock to raw_spinlock_t.  Doing so avoids\n  some ugly nesting of linux/*.h and asm/*.h files.  Those particular locks\n  are well tested and contained entirely inside arch specific code.  I do NOT\n  expect any new issues to arise with them.\n\n If someone does ever need to use debug/metrics with them, then they will\n  need to unravel this hairball between spinlocks, atomic ops, and bit ops\n  that exist only because parisc has exactly one atomic instruction: LDCW\n  (load and clear word).\n\nFrom: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\n\n   ia64 fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjanv@infradead.org\u003e\nSigned-off-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Mikael Pettersson \u003cmikpe@csd.uu.se\u003e\nSigned-off-by: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4d803fcdcd97dd346d4b39c3b76e5879cead8a31",
      "tree": "f30c8caa998261fc0983121021184f0f6cc555b4",
      "parents": [
        "1b11d78cf87a7014f96e5b7fa2e1233cc8081a00"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 08 14:37:53 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 08 14:37:53 2005 -0700"
      },
      "message": "[SPARC64]: Inline membar()\u0027s again.\n\nSince GCC has to emit a call and a delay slot to the\nout-of-line \"membar\" routines in arch/sparc64/lib/mb.S\nit is much better to just do the necessary predicted\nbranch inline instead as:\n\n\tba,pt\t%xcc, 1f\n\t membar\t#whatever\n1:\n\ninstead of the current:\n\n\tcall\tmembar_foo\n\t dslot\n\nbecause this way GCC is not required to allocate a stack\nframe if the function can be a leaf function.\n\nThis also makes this bug fix easier to backport to 2.4.x\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a36895c0ddac143b7f0e87d46153f4f75d9fff7",
      "tree": "eefe211a3b8ebe26e9d706c14760a5d3a91c56fb",
      "parents": [
        "5843e37e24d7cf32f7996dd015245633e0790595"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 31 15:01:33 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 31 15:01:33 2005 -0700"
      },
      "message": "[SPARC64]: Use \u0027unsigned long\u0027 for port argument to I/O string ops.\n\nThis kills warnings when building drivers/ide/ide-iops.c\nand puts us in-line with what other platforms do here.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dbd2fdf549317de00e0b5ea465de5372039b7ee8",
      "tree": "67fad29313468b3f232264e98b508d9f3bd6a4de",
      "parents": [
        "d7ce78fd9a51ca0d6b9a8cf35baef884ddb9a95c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 30 11:26:15 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 30 11:26:15 2005 -0700"
      },
      "message": "[SPARC64]: Kill BRANCH_IF_ANY_CHEETAH() from copy page.\n\nJust patch the branch at boot time instead.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f07118f656c179740cad35b827032e2e29b1210",
      "tree": "7ddeb17346fe25ae75aa5373659c053afb9ef5f5",
      "parents": [
        "442464a50077ff00454ff8d7628cbe1b8eacc034"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 29 12:46:22 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 29 12:46:22 2005 -0700"
      },
      "message": "[SPARC64]: More fully work around Spitfire Errata 51.\n\nIt appears that a memory barrier soon after a mispredicted\nbranch, not just in the delay slot, can cause the hang\ncondition of this cpu errata.\n\nSo move them out-of-line, and explicitly put them into\na \"branch always, predict taken\" delay slot which should\nfully kill this problem.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "442464a50077ff00454ff8d7628cbe1b8eacc034",
      "tree": "d076c18c8f9d860ee9f357a78b87d0ede8286585",
      "parents": [
        "ca7c8d2c1e2a2f2445cb5e00f45b93af57f22c1b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 29 12:46:07 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 29 12:46:07 2005 -0700"
      },
      "message": "[SPARC64]: Make debugging spinlocks usable again.\n\nWhen the spinlock routines were moved out of line into\nkernel/spinlock.c this made it so that the debugging\nspinlocks record lock acquisition program counts in the\nkernel/spinlock.c functions not in their callers.\nThis makes the debugging info kind of useless.\n\nSo record the correct caller\u0027s program counter and\nnow this feature is useful once more.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b445e26cbf784cdba10f2b6c3e2cd3ee7bab360a",
      "tree": "8c8c377a7e5cbf608d730ec45e091e4f2b826a82",
      "parents": [
        "020f46a39eb7b99a575b9f4d105fce2b142acdf1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 27 15:42:04 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 27 15:42:04 2005 -0700"
      },
      "message": "[SPARC64]: Avoid membar instructions in delay slots.\n\nIn particular, avoid membar instructions in the delay\nslot of a jmpl instruction.\n\nUltraSPARC-I, II, IIi, and IIe have a bug, documented in\nthe UltraSPARC-IIi User\u0027s Manual, Appendix K, Erratum 51\n\nThe long and short of it is that if the IMU unit misses\non a branch or jmpl, and there is a store buffer synchronizing\nmembar in the delay slot, the chip can stop fetching instructions.\n\nIf interrupts are enabled or some other trap is enabled, the\nchip will unwedge itself, but performance will suffer.\n\nWe already had a workaround for this bug in a few spots, but\nit\u0027s better to have the entire tree sanitized for this rule.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39c715b71740c4a78ba4769fb54826929bac03cb",
      "tree": "94dd679dfc8e6c2db65971739aa8c8c6206f8174",
      "parents": [
        "84929801e14d968caeb84795bfbb88f04283fbd9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 21 17:14:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] smp_processor_id() cleanup\n\nThis patch implements a number of smp_processor_id() cleanup ideas that\nArjan van de Ven and I came up with.\n\nThe previous __smp_processor_id/_smp_processor_id/smp_processor_id API\nspaghetti was hard to follow both on the implementational and on the\nusage side.\n\nSome of the complexity arose from picking wrong names, some of the\ncomplexity comes from the fact that not all architectures defined\n__smp_processor_id.\n\nIn the new code, there are two externally visible symbols:\n\n - smp_processor_id(): debug variant.\n\n - raw_smp_processor_id(): nondebug variant. Replaces all existing\n   uses of _smp_processor_id() and __smp_processor_id(). Defined\n   by every SMP architecture in include/asm-*/smp.h.\n\nThere is one new internal symbol, dependent on DEBUG_PREEMPT:\n\n - debug_smp_processor_id(): internal debug variant, mapped to\n                             smp_processor_id().\n\nAlso, i moved debug_smp_processor_id() from lib/kernel_lock.c into a new\nlib/smp_processor_id.c file.  All related comments got updated and/or\nclarified.\n\nI have build/boot tested the following 8 .config combinations on x86:\n\n {SMP,UP} x {PREEMPT,!PREEMPT} x {DEBUG_PREEMPT,!DEBUG_PREEMPT}\n\nI have also build/boot tested x64 on UP/PREEMPT/DEBUG_PREEMPT.  (Other\narchitectures are untested, but should work just fine.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\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"
    }
  ]
}
