)]}'
{
  "log": [
    {
      "commit": "c8bfcd95def89cb69a04c58e1de7995d696c8760",
      "tree": "48e19f24d0218d1ed92c3b58696b29ab1ae574be",
      "parents": [
        "e18e2a00efc8352c131eb8d5a460149fb5776f1c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 20 01:23:56 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 20 01:23:56 2006 -0700"
      },
      "message": "[SPARC64]: Don\u0027t double-export synchronize_irq.\n\nIt is done by the generic IRQ layer now.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e18e2a00efc8352c131eb8d5a460149fb5776f1c",
      "tree": "bee6e965d77f4289c37300714d7976c3e19f2994",
      "parents": [
        "8047e247c899f80c33a23ad7e9e250224f0d26a5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 20 01:23:32 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 20 01:23:32 2006 -0700"
      },
      "message": "[SPARC64]: Move over to GENERIC_HARDIRQS.\n\nThis is the long overdue conversion of sparc64 over to\nthe generic IRQ layer.\n\nThe kernel image is slightly larger, but the BSS is ~60K\nsmaller due to the reduced size of struct ino_bucket.\n\nA lot of IRQ implementation details, including ino_bucket,\nwere moved out of asm-sparc64/irq.h and are now private to\narch/sparc64/kernel/irq.c, and most of the code in irq.c\ntotally disappeared.\n\nOne thing that\u0027s different at the moment is IRQ distribution,\nwe do it at enable_irq() time.  If the cpu mask is ALL then\nwe round-robin using a global rotating cpu counter, else\nwe pick the first cpu in the mask to support single cpu\ntargetting.  This is similar to what powerpc\u0027s XICS IRQ\nsupport code does.\n\nThis works fine on my UP SB1000, and the SMP build goes\nfine and runs on that machine, but lots of testing on\ndifferent setups is needed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8047e247c899f80c33a23ad7e9e250224f0d26a5",
      "tree": "253a7ba3c902730928214df5c2b5630d7875cc11",
      "parents": [
        "37cdcd9e82108f9b899f1631f66ade2e45738a6e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 20 01:22:35 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 20 01:22:35 2006 -0700"
      },
      "message": "[SPARC64]: Virtualize IRQ numbers.\n\nInspired by PowerPC XICS interrupt support code.\n\nAll IRQs are virtualized in order to keep NR_IRQS from needing\nto be too large.  Interrupts on sparc64 are arbitrary 11-bit\nvalues, but we don\u0027t need to define NR_IRQS to 2048 if we\nvirtualize the IRQs.\n\nAs PCI and SBUS controller drivers build device IRQs, we divy\nout virtual IRQ numbers incrementally starting at 1.  Zero is\na special virtual IRQ used for the timer interrupt.\n\nSo device drivers all see virtual IRQs, and all the normal\ninterfaces such as request_irq(), enable_irq(), etc. translate\nthat into a real IRQ number in order to configure the IRQ.\n\nAt this point knowledge of the struct ino_bucket is almost\nentirely contained within arch/sparc64/kernel/irq.c  There are\na few small bits in the PCI controller drivers that need to\nbe swept away before we can remove ino_bucket\u0027s definition\nout of asm-sparc64/irq.h and privately into kernel/irq.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37cdcd9e82108f9b899f1631f66ade2e45738a6e",
      "tree": "452b4a106d767947664b99797640194c7483047e",
      "parents": [
        "c6387a48cf5958e43c201fc27a158c328927531a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 20 01:21:57 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 20 01:21:57 2006 -0700"
      },
      "message": "[SPARC64]: Kill ino_bucket-\u003epil\n\nAnd reuse that struct member for virt_irq, which will\nbe used in future changesets for the implementation of\nmapping between real and virtual IRQ numbers.\n\nThis nicely kills off a ton of SBUS and PCI controller\nPIL assignment code which is no longer necessary.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a76267f0e52d920e6bb6da75541e6116d7304da",
      "tree": "82b40f6c49fad8746f534d047b309c628d4f708c",
      "parents": [
        "fd0504c3217d6d1bc8f33f53fb536299cae8feda"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 20 01:20:30 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 20 01:20:30 2006 -0700"
      },
      "message": "[SPARC64]: bp-\u003epil can never be zero\n\nOnly pil0_dummy_bucket had a pil of zero and we just killed that\noff, so we can delete all special case code that used bp-\u003epil\u003d\u003d0\nas a way to identify a dummy bucket.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd0504c3217d6d1bc8f33f53fb536299cae8feda",
      "tree": "4379f5376358d1f54fc183f458614f289ed6d326",
      "parents": [
        "3185d4d2873a46ca1620d784013f285522091aa0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 20 01:20:00 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 20 01:20:00 2006 -0700"
      },
      "message": "[SPARC64]: Send all device interrupts via one PIL.\n\nThis is the first in a series of cleanups that will hopefully\nallow a seamless attempt at using the generic IRQ handling\ninfrastructure in the Linux kernel.\n\nDefine PIL_DEVICE_IRQ and vector all device interrupts through\nthere.\n\nGet rid of the ugly pil0_dummy_{bucket,desc}, instead vector\nthe timer interrupt directly to a specific handler since the\ntimer interrupt is the only event that will be signaled on\nPIL 14.\n\nThe irq_worklist is now in the per-cpu trap_block[].\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccefb5f3f60cd116d9a8ce2fa9e82e67206e49e5",
      "tree": "892103dc875cffcded5e10761b717660f500a71e",
      "parents": [
        "289a1e995e74734b5ec76ca8a5490058f4fecc24"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Jun 11 21:00:46 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Jun 11 21:05:25 2006 -0700"
      },
      "message": "[SPARC64]: Do not double-export sys_close() when CONFIG_SOLARIS_EMUL_MODULE\n\nIt is already exported by fs/open.c\n\nNoticed by Ben Collins.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9145bcf63575a8b78590a5beaf604001e9c8d2ef",
      "tree": "386b8c3cdea8cb0d3909e6bf7f30750ae0864ac6",
      "parents": [
        "1f4d4a7e8f5a46929a987ec17987dbbdd73029d4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 10 22:02:17 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 10 22:02:17 2006 -0700"
      },
      "message": "[SPARC64]: Set appropriate max_cache_size.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46b304934de417a2238d659ef6459a74cb3f5e6b",
      "tree": "770b99e2723170f237d9159541484bba7dec21e8",
      "parents": [
        "c29ca9d1812f2abacaefa7daa31e085600128938"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 10 01:06:25 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 10 01:06:25 2006 -0700"
      },
      "message": "[SPARC64]: Avoid JBUS errors on some Niagara systems.\n\nDoing PCI config space accesses to non-present PCI slots\ncan result in fatal JBUS errors if the PCI config access\nhypervisor call is performed on cpus other than the boot\ncpu.\n\nPCI config space accesses to present PCI slots works just\nfine.\n\nRecursively traverse the OBP device tree under the PCI\ncontroller node and record all present device IDs into\na small hash table.\n\nAvoid the hypervisor call for any PCI config space access\nattempt for a device not recorded in the hash table.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5224e6cc3ab5ae03895bbb67f4a26ce72e62ce58",
      "tree": "a2e2ba48895d6f5dc36c9fa7317042c31b5b15e0",
      "parents": [
        "128e6ced247cda88f96fa9f2e4ba8b2c4a681560"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jun 06 17:37:41 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 09 12:03:49 2006 -0700"
      },
      "message": "[SPARC64]: Dump local cpu registers in sun4v_log_error()\n\nThis makes the debugging information more usable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "951bc82c53f30ec6b4c2d04a051e74ea9a89b669",
      "tree": "5c8dfd8c9b56291705053cb98382cd79d990c770",
      "parents": [
        "e6ed89ac9f5da16fea5111651b6de0ff0a76a5c2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 31 01:24:02 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 31 01:24:02 2006 -0700"
      },
      "message": "[SPARC64]: Make smp_processor_id() functional before start_kernel()\n\nUses of smp_processor_id() get pushed earlier and earlier in\nthe start_kernel() sequence.  So just get it working before\nwe call start_kernel() to avoid all possible problems.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42f142371e48fbc44956d57b4e506bb6ce673cd7",
      "tree": "cbcf77d8bf8adc923c50e1fd53a8becd81952beb",
      "parents": [
        "353b28bafd1b962359a866ff263a7fad833d29a1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 23 02:07:22 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 23 02:07:22 2006 -0700"
      },
      "message": "[SPARC64]: Respect gfp_t argument to dma_alloc_coherent().\n\nUsing asm-generic/dma-mapping.h does not work because pushing\nthe call down to pci_alloc_coherent() causes the gfp_t argument\nof dma_alloc_coherent() to be ignored.\n\nFix this by implementing things directly, and adding a gfp_t\nargument we can use in the internal call down to the PCI DMA\nimplementation of pci_alloc_coherent().\n\nThis fixes massive memory corruption when using the sound driver\nlayer, which passes things like __GFP_COMP down into these\nroutines and (correctly) expects that to work.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "353b28bafd1b962359a866ff263a7fad833d29a1",
      "tree": "151c3c1fb4296ef12151b5fb06d5e7bad87d254b",
      "parents": [
        "9a2a9bb2010ed7e56547e2bb2041dab14ab0510a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun May 21 21:22:53 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun May 21 21:22:53 2006 -0700"
      },
      "message": "[SPARC]: Add robust futex syscall entries.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06a1be167ea77c436657587e26cd4d7d6401784c",
      "tree": "1d9ed9094496a1e02bfe551631b03495db337a89",
      "parents": [
        "1f8aa2f66b7253d1a42ead0142c7a00d2df5ac89"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri May 12 12:45:50 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri May 12 12:45:50 2006 -0700"
      },
      "message": "[SPARC]: Handle UNWIND_INFO properly.\n\nFor sparc32 we need R_SPARC_UA32 relocation support, for\nsparc64 we need the handle R_SPARC_DISP32 relocations.\n\nBased upon reports and initial patch by Martin Habets.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8c45112b823972e9ff7bbca77dc592ca2224951b",
      "tree": "135a766a6cf1a6a7da5030315e9b88a02d49be48",
      "parents": [
        "e17df688f7064dae1417ce425dd1e4b71d24d63b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed May 03 13:55:46 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed May 03 13:55:46 2006 -0700"
      },
      "message": "[SPARC]: Hook up vmsplice into syscall tables.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5411be59db80333039386f3b1ccfe5eb9023a916",
      "tree": "77873af4b7557768c3c48b56e7ae4508be4a70a5",
      "parents": [
        "e495149b173d8e133e1f6f2eb86fd97be7e92010"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 29 20:23:36 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 01 06:06:18 2006 -0400"
      },
      "message": "[PATCH] drop task argument of audit_syscall_{entry,exit}\n\n... it\u0027s always current, and that\u0027s a good thing - allows simpler locking.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "07fab8da808d0702778da50e5b435e6ba471c903",
      "tree": "59ee487f2bb46e7200ec0888baae34a611530497",
      "parents": [
        "3ca269d8b4d020af018e9e7e82b22f965a0e1bd9"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasanna@in.ibm.com",
        "time": "Tue Apr 18 22:22:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 19 09:13:53 2006 -0700"
      },
      "message": "[PATCH] Switch Kprobes inline functions to __kprobes for sparc64\n\nAndrew Morton pointed out that compiler might not inline the functions\nmarked for inline in kprobes.  There-by allowing the insertion of probes\non these kprobes routines, which might cause recursion.\n\nThis patch removes all such inline and adds them to kprobes section\nthere by disallowing probes on all such routines.  Some of the routines\ncan even still be inlined, since these routines gets executed after the\nkprobes had done necessay setup for reentrancy.\n\nSigned-off-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nAcked-by: 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": "5fdfd42e3a69e8a686fcfb6381616464945471e8",
      "tree": "476f09ad4dc2271648afa0f4fc5710d7ae2762f1",
      "parents": [
        "c19f7a9e1ac45b57375d51f033b02deca50f4d3f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 17 13:34:44 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 17 13:34:44 2006 -0700"
      },
      "message": "[SPARC64]: Export pcibios_resource_to_bus().\n\nSYM2 driver uses it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5fdef394953d8660c70cc27b27db421582c42bf9",
      "tree": "06ceb455929f2cc112d5d7d0ffa08aa3aeb73a4e",
      "parents": [
        "f043ca43c1ae354346f72dc5826d820d5619f0b2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Apr 14 15:29:32 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Apr 14 15:29:32 2006 -0700"
      },
      "message": "[SPARC]: Hook up sys_tee() into syscall tables.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "894b5779ceeabdce139068310e58bcf51ed9bb22",
      "tree": "a5235a777d109a22a3867a8e31e2dcf40fb21bc0",
      "parents": [
        "c80d79d746cc48bd94b0ce4f6d4f3c90cd403aaf"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@parisc-linux.org",
        "time": "Mon Apr 10 22:53:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:40 2006 -0700"
      },
      "message": "[PATCH] No arch-specific strpbrk implementations\n\nWhile cleaning up parisc_ksyms.c earlier, I noticed that strpbrk wasn\u0027t\nbeing exported from lib/string.c.  Investigating further, I noticed a\nchangeset that removed its export and added it to _ksyms.c on a few more\narchitectures.  The justification was that \"other arches do it.\"\n\nI think this is wrong, since no architecture currently defines\n__HAVE_ARCH_STRPBRK, there\u0027s no reason for any of them to be exporting it\nthemselves.  Therefore, consolidate the export to lib/string.c.\n\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": "a283a52520569195c2d26d75455cddab758f530b",
      "tree": "3ea10360b06dad909dc5b9e48b7236bcf23f3fab",
      "parents": [
        "fff8efe7b71efd88829782be64dc42c25c70ad53"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Apr 10 22:52:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:31 2006 -0700"
      },
      "message": "[PATCH] for_each_possible_cpu: sparc64\n\nfor_each_cpu() actually iterates across all possible CPUs.  We\u0027ve had mistakes\nin the past where people were using for_each_cpu() where they should have been\niterating across only online or present CPUs.  This is inefficient and\npossibly buggy.\n\nWe\u0027re renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the\nfuture.\n\nThis patch replaces for_each_cpu with for_each_possible_cpu.\nfor sparc64.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: \"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": "aa1d1a0af6022f02fb601508d3feaabafd405299",
      "tree": "ef472a0c4df262b26366eb0d25fa2d03c87a444b",
      "parents": [
        "731bbe431f7dbbcbdc5293cfb187a916c375e83b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 06 16:54:33 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Apr 09 22:56:44 2006 -0700"
      },
      "message": "[SPARC64]: smp_call_function() fixups...\n\n1) Take doc-book function comment from i386 implementation.\n2) cacheline align call_lock, taken from powerpc\n3) Need memory barrier after setting call_data\n4) Remove timeout\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "731bbe431f7dbbcbdc5293cfb187a916c375e83b",
      "tree": "6b4509828caff1cbed7526dcb514146d149e6056",
      "parents": [
        "1608a96e7998bffd10fcb2440e8175cfb703fd95"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Apr 04 16:54:40 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Apr 09 22:56:41 2006 -0700"
      },
      "message": "[SPARC64]: Translate PTRACE_GETEVENTMSG for 32-bit tasks.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "955c054f7905e0a9ee4483b03f866f61e6929bec",
      "tree": "7e3f37f0f6b3c692dec00cc5351d65a3ccf46728",
      "parents": [
        "1759e58ed2684b7a01cbb96864f23d18884f42ba"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Apr 01 23:29:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Apr 09 22:56:37 2006 -0700"
      },
      "message": "[SPARC64]: Print out return PC in cheetah_log_errors().\n\nThis makes debugging things a little bit easier.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1759e58ed2684b7a01cbb96864f23d18884f42ba",
      "tree": "e9c876d47c36093c3eb74456cbeb6b2f8cd69dbf",
      "parents": [
        "67644726317a8274be4a3d0ef85b9ccebaa90304"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Apr 01 23:28:10 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Apr 09 22:56:35 2006 -0700"
      },
      "message": "[SPARC64]: Add dummy PTRACE_PEEKUSR for gdb.\n\nGDB uses a PTRACE_PEEKUSR call with offset 0 to see\nif a thread is alive, so provide a success return for\nthis particular special case.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "289eee6fa78e999208120c856ef3ae5a817fd59c",
      "tree": "eadce5571447bf91d3e274464c57605f73c3b3ee",
      "parents": [
        "1339713a327d4538ca9173ab70afef9a1d57fd07"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 31 23:49:34 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 31 23:49:34 2006 -0800"
      },
      "message": "[SPARC]: Wire up sys_sync_file_range() into syscall tables.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1339713a327d4538ca9173ab70afef9a1d57fd07",
      "tree": "dfa28366c6e2b5bcf044519947d530b7d97f8986",
      "parents": [
        "3cc1cc444f4c058deae9d5113ebb80e798c3076e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 31 02:04:15 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 31 23:03:38 2006 -0800"
      },
      "message": "[SPARC]: Wire up sys_splice() into the syscall tables.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f25f3986af0353b0bdc220f79b89c997d0ceda4",
      "tree": "2c5dc949eff3cc3c216432d2034e159b579a6da9",
      "parents": [
        "683aa4012f53b2ada0f430487e05d37b0d94e90a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 28 13:29:26 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 31 23:03:34 2006 -0800"
      },
      "message": "[SPARC64]: Make tsb_sync() mm comparison more precise.\n\nswitch_mm() changes the mm state and does a tsb_context_switch()\nfirst, then we do the cpu register state switch which changes\ncurrent_thread_info() and current().\n\nSo it\u0027s safer to check the PGD physical address stored in the\ntrap block (which will be updated by the tsb_context_switch() in\nswitch_mm()) than current-\u003eactive_mm.\n\nTechnically we should never run here in between those two\nupdates, because interrupts are disabled during the entire\ncontext switch operation.  But some day we might like to leave\ninterrupts enabled during the context switch and this change\nallows that to happen without any surprises.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3dedf53bb16e27743e5d1f49dbfecf3e5897befa",
      "tree": "1833a6f7eca38558a4bca0efea079041fadb6222",
      "parents": [
        "641f71f5f6ed251959ef8f88b1d0edc6ef7a4632"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Mar 28 01:56:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:00 2006 -0800"
      },
      "message": "[PATCH] RTC: Remove RTC UIP synchronization on Sparc64\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e041c683412d5bf44dc2b109053e3b837b71742d",
      "tree": "9d271066ef379da0c0fb3b8cb4137abd5d2ebba0",
      "parents": [
        "76b81e2b0e2241accebcc68e126bc5ab958661b9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Mar 27 01:16:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:50 2006 -0800"
      },
      "message": "[PATCH] Notifier chain update: API changes\n\nThe kernel\u0027s implementation of notifier chains is unsafe.  There is no\nprotection against entries being added to or removed from a chain while the\nchain is in use.  The issues were discussed in this thread:\n\n    http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113018709002036\u0026w\u003d2\n\nWe noticed that notifier chains in the kernel fall into two basic usage\nclasses:\n\n\t\"Blocking\" chains are always called from a process context\n\tand the callout routines are allowed to sleep;\n\n\t\"Atomic\" chains can be called from an atomic context and\n\tthe callout routines are not allowed to sleep.\n\nWe decided to codify this distinction and make it part of the API.  Therefore\nthis set of patches introduces three new, parallel APIs: one for blocking\nnotifiers, one for atomic notifiers, and one for \"raw\" notifiers (which is\nreally just the old API under a new name).  New kinds of data structures are\nused for the heads of the chains, and new routines are defined for\nregistration, unregistration, and calling a chain.  The three APIs are\nexplained in include/linux/notifier.h and their implementation is in\nkernel/sys.c.\n\nWith atomic and blocking chains, the implementation guarantees that the chain\nlinks will not be corrupted and that chain callers will not get messed up by\nentries being added or removed.  For raw chains the implementation provides no\nguarantees at all; users of this API must provide their own protections.  (The\nidea was that situations may come up where the assumptions of the atomic and\nblocking APIs are not appropriate, so it should be possible for users to\nhandle these things in their own way.)\n\nThere are some limitations, which should not be too hard to live with.  For\natomic/blocking chains, registration and unregistration must always be done in\na process context since the chain is protected by a mutex/rwsem.  Also, a\ncallout routine for a non-raw chain must not try to register or unregister\nentries on its own chain.  (This did happen in a couple of places and the code\nhad to be changed to avoid it.)\n\nSince atomic chains may be called from within an NMI handler, they cannot use\nspinlocks for synchronization.  Instead we use RCU.  The overhead falls almost\nentirely in the unregister routine, which is okay since unregistration is much\nless frequent that calling a chain.\n\nHere is the list of chains that we adjusted and their classifications.  None\nof them use the raw API, so for the moment it is only a placeholder.\n\n  ATOMIC CHAINS\n  -------------\narch/i386/kernel/traps.c:\t\ti386die_chain\narch/ia64/kernel/traps.c:\t\tia64die_chain\narch/powerpc/kernel/traps.c:\t\tpowerpc_die_chain\narch/sparc64/kernel/traps.c:\t\tsparc64die_chain\narch/x86_64/kernel/traps.c:\t\tdie_chain\ndrivers/char/ipmi/ipmi_si_intf.c:\txaction_notifier_list\nkernel/panic.c:\t\t\t\tpanic_notifier_list\nkernel/profile.c:\t\t\ttask_free_notifier\nnet/bluetooth/hci_core.c:\t\thci_notifier\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_chain\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_expect_chain\nnet/ipv6/addrconf.c:\t\t\tinet6addr_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_expect_chain\nnet/netlink/af_netlink.c:\t\tnetlink_chain\n\n  BLOCKING CHAINS\n  ---------------\narch/powerpc/platforms/pseries/reconfig.c:\tpSeries_reconfig_chain\narch/s390/kernel/process.c:\t\tidle_chain\narch/x86_64/kernel/process.c\t\tidle_notifier\ndrivers/base/memory.c:\t\t\tmemory_chain\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_policy_notifier_list\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_transition_notifier_list\ndrivers/macintosh/adb.c:\t\tadb_client_list\ndrivers/macintosh/via-pmu.c\t\tsleep_notifier_list\ndrivers/macintosh/via-pmu68k.c\t\tsleep_notifier_list\ndrivers/macintosh/windfarm_core.c\twf_client_list\ndrivers/usb/core/notify.c\t\tusb_notifier_list\ndrivers/video/fbmem.c\t\t\tfb_notifier_list\nkernel/cpu.c\t\t\t\tcpu_chain\nkernel/module.c\t\t\t\tmodule_notify_list\nkernel/profile.c\t\t\tmunmap_notifier\nkernel/profile.c\t\t\ttask_exit_notifier\nkernel/sys.c\t\t\t\treboot_notifier_list\nnet/core/dev.c\t\t\t\tnetdev_chain\nnet/decnet/dn_dev.c:\t\t\tdnaddr_chain\nnet/ipv4/devinet.c:\t\t\tinetaddr_chain\n\nIt\u0027s possible that some of these classifications are wrong.  If they are,\nplease let us know or submit a patch to fix them.  Note that any chain that\ngets called very frequently should be atomic, because the rwsem read-locking\nused for blocking chains is very likely to incur cache misses on SMP systems.\n(However, if the chain\u0027s callout routines may sleep then the chain cannot be\natomic.)\n\nThe patch set was written by Alan Stern and Chandra Seetharaman, incorporating\nmaterial written by Keith Owens and suggestions from Paul McKenney and Andrew\nMorton.\n\n[jes@sgi.com: restructure the notifier chain initialization macros]\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5d5d7727a8cde78f798ecf04bac8031eff536f9d",
      "tree": "41a34622391955c93c76d7541940568144fd2eec",
      "parents": [
        "e7104b67040af98664dcd2c9cd36381ac0089f8b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Mar 26 15:30:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Mar 26 15:30:29 2006 -0800"
      },
      "message": "[SPARC64]: Kill duplicate exports of string library functions.\n\nKbuild now points these out.\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": "b67000962f35313cfc5eabd675dc38b91678d9ed",
      "tree": "6de49259d6ea5aff06e251f17fcee680839b8e3c",
      "parents": [
        "c04c1c81e211c2c95b548add7923e1d4ba4847ab"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasanna@in.ibm.com",
        "time": "Sun Mar 26 01:38:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:05 2006 -0800"
      },
      "message": "[PATCH] kprobes: fix broken fault handling for sparc64\n\nProvide proper kprobes fault handling, if a user-specified pre/post handlers\ntries to access user address space, through copy_from_user(), get_user() etc.\n\nThe user-specified fault handler gets called only if the fault occurs while\nexecuting user-specified handlers.  In such a case user-specified handler is\nallowed to fix it first, later if the user-specifed fault handler does not fix\nit, we try to fix it by calling fix_exception().\n\nThe user-specified handler will not be called if the fault happens when single\nstepping the original instruction, instead we reset the current probe and\nallow the system page fault handler to fix it up.\n\nI could not test this patch for sparc64.\n\nSigned-off-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.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": "2326c77017c79fd6d55c69d8a49a57a252921bcd",
      "tree": "5a2cafc7452953a4d5c8a8e8eaa0ae34fe306f74",
      "parents": [
        "c6fd91f0bdcd294a0ae0ba2b2a7f7456ef4b7144"
      ],
      "author": {
        "name": "bibo,mao",
        "email": "bibo.mao@intel.com",
        "time": "Sun Mar 26 01:38:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:04 2006 -0800"
      },
      "message": "[PATCH] kprobe handler: discard user space trap\n\nCurrently kprobe handler traps only happen in kernel space, so function\nkprobe_exceptions_notify should skip traps which happen in user space.\nThis patch modifies this, and it is based on 2.6.16-rc4.\n\nSigned-off-by: bibo mao \u003cbibo.mao@intel.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: \"Keshavamurthy, Anil S\" \u003canil.s.keshavamurthy@intel.com\u003e\nCc: \u003chiramatu@sdl.hitachi.co.jp\u003e\nSigned-off-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3158e9411a66fb98d495ac441c242264f31aaf3e",
      "tree": "7b3bad47214c09c9dcd7ff27316c6de23f4c7cb0",
      "parents": [
        "88959ea968709c35e8b979ac9f5a398fa748091a"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sun Mar 26 01:37:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:57 2006 -0800"
      },
      "message": "[PATCH] consolidate sys32/compat_adjtimex\n\nCreate compat_sys_adjtimex and use it an all appropriate places.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "88959ea968709c35e8b979ac9f5a398fa748091a",
      "tree": "7d93892ec8d7b15cd810e4bcb75715c797e01ab3",
      "parents": [
        "eb76b3fda1f7c2aa2d1523b36835048a15e5e5d2"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sun Mar 26 01:37:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:57 2006 -0800"
      },
      "message": "[PATCH] create struct compat_timex and use it everywhere\n\nWe had a copy of the compatibility version of struct timex in each 64 bit\narchitecture.  This patch just creates a global one and replaces all the\nusages of the old ones.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d3aee9a9686ffc235c343dcab85c3ebea78908a",
      "tree": "9de437eff5f62e0ead36d443ad97ab231b8f0e76",
      "parents": [
        "3cbb90a9cb7854b1110663919d5bc3da3f46d5e3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 25 13:00:17 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 25 13:00:17 2006 -0800"
      },
      "message": "[SPARC64]: Keep cpu_present_map in sync with phys_cpu_present_map.\n\nDon\u0027t rely on fixup_cpu_present_map() to do this as that function\nis about to be removed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53b3531bbbf70ac7551b32d1acc229d94de52658",
      "tree": "644440c93f599bbf64bb0b703c97b03b4dc5d737",
      "parents": [
        "29afd49b72a9b2c26fa8c678bcf3976d0540446b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Mar 24 03:16:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:24 2006 -0800"
      },
      "message": "[PATCH] s/;;/;/g\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "394e3902c55e667945f6f1c2bdbc59842cce70f7",
      "tree": "f4bca0bdc0c291fda6f6949265aacec0669b9084",
      "parents": [
        "63872f87a151413100678f110d1556026002809e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 23 03:01:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:17 2006 -0800"
      },
      "message": "[PATCH] more for_each_cpu() conversions\n\nWhen we stop allocating percpu memory for not-possible CPUs we must not touch\nthe percpu data for not-possible CPUs at all.  The correct way of doing this\nis to test cpu_possible() or to use for_each_cpu().\n\nThis patch is a kernel-wide sweep of all instances of NR_CPUS.  I found very\nfew instances of this bug, if any.  But the patch converts lots of open-coded\ntest to use the preferred helper macros.\n\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Christian Zankel \u003cchris@zankel.net\u003e\nCc: Philippe Elie \u003cphil.el@wanadoo.fr\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dcc1e8dd88d4bc55e32a26dad7633d20ffe606d2",
      "tree": "a47592213d94f918867d3dd81bb91dac3e727dea",
      "parents": [
        "14778d9072e53d2171f66ffd9657daff41acfaed"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 22 00:49:59 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 22 01:15:14 2006 -0800"
      },
      "message": "[SPARC64]: Add a secondary TSB for hugepage mappings.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14778d9072e53d2171f66ffd9657daff41acfaed",
      "tree": "3b60565ec1e957800fc3bf4743497202a24f8279",
      "parents": [
        "e952f31bce6e9f64db01f607abc46529ba57ac9e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Mar 21 02:29:39 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 22 01:15:13 2006 -0800"
      },
      "message": "[SPARC]: Respect vm_page_prot in io_remap_page_range().\n\nMake sure the callers do a pgprot_noncached() on\nvma-\u003evm_page_prot.\n\nPointed out by Hugh Dickens.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "467418f3508b426adbc7df795ebf3baaed4fbefc",
      "tree": "921d3658878d856e497e42cd31d2b2342cce0441",
      "parents": [
        "bb8646d8340fa7c1b66a037428e39f85f8738f0a"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Mar 19 12:46:55 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:16:41 2006 -0800"
      },
      "message": "[SPARC64]: CONFIG_BLK_DEV_RAM fix\n\ninit/do_mounts_rd.c depends upon CONFIG_BLK_DEV_RAM, not CONFIG_BLK_DEV_INITRD.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "05f9ca83596c7801549a2b4eba469d51baf5480f",
      "tree": "22270db01a13dda0af9b158662712f9e6b6a934c",
      "parents": [
        "d61e16df940e02e25679bdc1aee8c25786f6de90"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 17 17:42:57 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:16:37 2006 -0800"
      },
      "message": "[SPARC64]: Randomize mm-\u003emmap_base when PF_RANDOMIZE is set.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d61e16df940e02e25679bdc1aee8c25786f6de90",
      "tree": "de76f4007d526835b8564203341ebf66ca29b12d",
      "parents": [
        "a91690ddd05ab0b7fbdd37733875525ac75c20f2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 17 17:33:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:16:36 2006 -0800"
      },
      "message": "[SPARC64]: Increase top of 32-bit process stack.\n\nPut it one page below the top of the 32-bit address space.\nThis gives us ~16MB more address space to work with.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a91690ddd05ab0b7fbdd37733875525ac75c20f2",
      "tree": "f6937c0ce29c79078d6df8346a374a7b9947f360",
      "parents": [
        "b5e7ae5dd034c2c0ed75c31fca04a805097817bc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 17 14:41:03 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:16:35 2006 -0800"
      },
      "message": "[SPARC64]: Top-down address space allocation for 32-bit tasks.\n\nCurrently allocations are very constrained for 32-bit processes.\nIt grows down-up from 0x70000000 to 0xf0000000 which gives about\n2GB of stack + dynamic mmap() space.\n\nSo support the top-down method, and we need to override the\ngeneric helper function in order to deal with D-cache coloring.\n\nWith these changes I was able to squeeze out a mmap() just over\n3.6GB in size in a 32-bit process.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a1ac5264108fc3ed22d17a3cdd76212ed1666d1",
      "tree": "75378a1b470afa54900f1f15a5b41966d301520d",
      "parents": [
        "a858f1ca726edc5eb7ed39722f7966d005f1c9ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 16 02:02:32 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:16:33 2006 -0800"
      },
      "message": "[SPARC64]: Fix and re-enable dynamic TSB sizing.\n\nThis is good for up to %50 performance improvement of some test cases.\nThe problem has been the race conditions, and hopefully I\u0027ve plugged\nthem all up here.\n\n1) There was a serious race in switch_mm() wrt. lazy TLB\n   switching to and from kernel threads.\n\n   We could erroneously skip a tsb_context_switch() and thus\n   use a stale TSB across a TSB grow event.\n\n   There is a big comment now in that function describing\n   exactly how it can happen.\n\n2) All code paths that do something with the TSB need to be\n   guarded with the mm-\u003econtext.lock spinlock.  This makes\n   page table flushing paths properly synchronize with both\n   TSB growing and TLB context changes.\n\n3) TSB growing events are moved to the end of successful fault\n   processing.  Previously it was in update_mmu_cache() but\n   that is deadlock prone.  At the end of do_sparc64_fault()\n   we hold no spinlocks that could deadlock the TSB grow\n   sequence.  We also have dropped the address space semaphore.\n\nWhile we\u0027re here, add prefetching to the copy_tsb() routine\nand put it in assembler into the tsb.S file.  This piece of\ncode is quite time critical.\n\nThere are some small negative side effects to this code which\ncan be improved upon.  In particular we grab the mm-\u003econtext.lock\neven for the tsb insert done by update_mmu_cache() now and that\u0027s\na bit excessive.  We can get rid of that locking, and the same\nlock taking in flush_tsb_user(), by disabling PSTATE_IE around\nthe whole operation including the capturing of the tsb pointer\nand tsb_nentries value.  That would work because anyone growing\nthe TSB won\u0027t free up the old TSB until all cpus respond to the\nTSB change cross call.\n\nI\u0027m not quite so confident in that optimization to put it in\nright now, but eventually we might be able to and the description\nis here for reference.\n\nThis code seems very solid now.  It passes several parallel GCC\nbootstrap builds, and our favorite \"nut cruncher\" stress test which is\na full \"make -j8192\" build of a \"make allmodconfig\" kernel.  That puts\nabout 256 processes on each cpu\u0027s run queue, makes lots of process cpu\nmigrations occur, causes lots of page table and TLB flushing activity,\nincurs many context version number changes, and it swaps the machine\nreal far out to disk even though there is 16GB of ram on this test\nsystem. :-)\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c51ed93ca0ecbf44ec096f4bd04c12a3e761e6b",
      "tree": "1d51bfaf8d51063e71b3be5727040c563941389f",
      "parents": [
        "90a6646bf6a1ca821f32d5510e935855612904df"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 13 01:27:34 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:26 2006 -0800"
      },
      "message": "[SPARC64]: First cut at VIS simulator for Niagara.\n\nNiagara does not implement some of the VIS instructions in\nhardware, so we have to emulate them.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90a6646bf6a1ca821f32d5510e935855612904df",
      "tree": "035420e4ab615cb837b1246fc26c55e0b8d233b4",
      "parents": [
        "8935dced547afbf37d0fcfcac9a3556494e53104"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 08 17:18:19 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:25 2006 -0800"
      },
      "message": "[SPARC64]: Fix system type in /proc/cpuinfo and remove bogus OBP check.\n\nReport \u0027sun4v\u0027 when appropriate in /proc/cpuinfo\n\nRemove all the verifications of the OBP version string.  Just\nmake sure it\u0027s there, and report it raw in the bootup logs and\nvia /proc/cpuinfo.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8935dced547afbf37d0fcfcac9a3556494e53104",
      "tree": "0ae802875c73e99b86e4f90be6e953ec0c528dea",
      "parents": [
        "17b0e199a10184d8c5bbbd79a4cee993bb1fb257"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 08 16:09:19 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:24 2006 -0800"
      },
      "message": "[SPARC64]: Add SMT scheduling support for Niagara.\n\nThe mapping is a simple \"(cpuid \u003e\u003e 2) \u003d\u003d core\" for now.\nLater we\u0027ll add more sophisticated code that will walk\nthe sun4v machine description and figure this out from\nthere.\n\nWe should also add core mappings for jaguar and panther\nprocessors.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1112018b4bc82adf5c8a9c15a08954328f023ae",
      "tree": "4d94ef6c153f028cfaaff711cf7d4f07aa90e9b4",
      "parents": [
        "ee29074d3bd23848905f52c515974e0cd0219faa"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 08 02:16:07 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:22 2006 -0800"
      },
      "message": "[SPARC64]: Move over to sparsemem.\n\nThis has been pending for a long time, and the fact\nthat we waste a ton of ram on some configurations\nkind of pushed things over the edge.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee29074d3bd23848905f52c515974e0cd0219faa",
      "tree": "d5306446b2e26d9e45f65467b4f3b3f3b0c8494c",
      "parents": [
        "a77754b4d0731321db266c6c60ffcd7c62757da5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 06 22:50:44 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:21 2006 -0800"
      },
      "message": "[SPARC64]: Fix new context version SMP handling.\n\nDon\u0027t piggy back the SMP receive signal code to do the\ncontext version change handling.\n\nInstead allocate another fixed PIL number for this\nasynchronous cross-call.  We can\u0027t use smp_call_function()\nbecause this thing is invoked with interrupts disabled\nand a few spinlocks held.\n\nAlso, fix smp_call_function_mask() to count \"cpus\" correctly.\nThere is no guarentee that the local cpu is in the mask\nyet that is exactly what this code was assuming.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9132983ae140a8ca81e95e081d5a4c0dd7a7f670",
      "tree": "f3aec20b1bb5a2cc111bbbf6775a0f8d84d28994",
      "parents": [
        "f7c00338cfeef125032aa12aa8ebeacf9e117e81"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Mon Mar 06 13:48:40 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:19 2006 -0800"
      },
      "message": "[SPARC64]: kzalloc() conversion\n\nthis patch converts arch/sparc64 to kzalloc usage.\nCrosscompile tested with allyesconfig.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "74ae998772041b62e9ad420d602e4f7dbb182cd6",
      "tree": "8cbeb2ff56856d357647da6ab62562bac2fe87ad",
      "parents": [
        "3cab0c3e8636d5005041aa52224f796c3a4ef872"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Mar 05 18:26:24 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:18 2006 -0800"
      },
      "message": "[SPARC64]: Simplify TSB insert checks.\n\nDon\u0027t try to avoid putting non-base page sized entries\ninto the user TSB.  It actually costs us more to check\nthis than it helps.\n\nEventually we\u0027ll have a multiple TSB scheme for user\nprocesses.  Once a process starts using larger pages,\nwe\u0027ll allocate and use such a TSB.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cab0c3e8636d5005041aa52224f796c3a4ef872",
      "tree": "582c92940f46cb0ecf8fafd4fde1cfd346172366",
      "parents": [
        "bcc28ee0bf390df0d81cc9dafe980faef6b2771a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Mar 02 21:50:47 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:17 2006 -0800"
      },
      "message": "[SPARC64]: More SUN4V cpu mondo bug fixing.\n\nThis cpu mondo sending interface isn\u0027t all that easy to\nuse correctly...\n\nWe were clearing out the wrong bits from the \"mask\" after getting\nsomething other than EOK from the hypervisor.\n\nIt turns out the hypervisor can just be resent the same cpu_list[]\narray, with the 0xffff \"done\" entries still in there, and it will do\nthe right thing.\n\nSo don\u0027t update or try to rebuild the cpu_list[] array to condense it.\n\nThis requires the \"forward_progress\" check to be done slightly\ndifferently, but this new scheme is less bug prone than what we were\ndoing before.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bcc28ee0bf390df0d81cc9dafe980faef6b2771a",
      "tree": "7dfed621399ef9f1bc65a949bf639994b6494485",
      "parents": [
        "c4f8ef77f941e7d89a52fad1fbe04d59397e2bd1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Mar 02 20:42:53 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:16 2006 -0800"
      },
      "message": "[SPARC64]: Fix sun4v mna winfixup handling.\n\nWe were clobbering a base register before we were done\nusing it.  Fix a comment typo while we\u0027re here.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4f8ef77f941e7d89a52fad1fbe04d59397e2bd1",
      "tree": "7c76d66a096913f47918f755763e48ef2b00907d",
      "parents": [
        "8bcd17411643beb9a601e032d0cf1016909a81d3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 02 20:28:34 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:15 2006 -0800"
      },
      "message": "[SPARC64]: Fix mini RTC driver reading.\n\nNeed to subtract 1900 from year and 1 from month before\ngiving it back to userspace.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8bcd17411643beb9a601e032d0cf1016909a81d3",
      "tree": "fc71e788df4fada768247fa7c12e983d2f6f1a32",
      "parents": [
        "45f791eb0f03e760183d30d3f1f18dc2b8e902fe"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Mar 02 18:12:27 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:14 2006 -0800"
      },
      "message": "[SPARC64]: Do not allow mapping pages within 4GB of 64-bit VA hole.\n\nThe UltraSPARC T1 manual recommends this because the chip\ncould instruction prefetch into the VA hole, and this would\nalso make decoding  certain kinds of memory access traps\nmore difficult (because the chip sign extends certain pieces\nof trap state).\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45f791eb0f03e760183d30d3f1f18dc2b8e902fe",
      "tree": "05ef47c68b45202106b70c1f28d4935a2c6115fb",
      "parents": [
        "92daa77e9a829350fd3900ff58d9c69820ad0e3d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 01 22:42:18 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:13 2006 -0800"
      },
      "message": "[SPARC64]: Fix _PAGE_EXEC handling.\n\nFirst of all, use the known _PAGE_EXEC_{4U,4V} value instead\nof loading _PAGE_EXEC from memory.  We either know which one\nto use by context, or we can code patch the test.\n\nNext, we need to check executability of a PTE in the generic\nTSB miss handler.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92daa77e9a829350fd3900ff58d9c69820ad0e3d",
      "tree": "a81a81cab49254dd041a0fbe78f09c84ec174a2c",
      "parents": [
        "e22990451a6a6263250cdd267708548dfa08a8f2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 01 22:27:09 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:12 2006 -0800"
      },
      "message": "[SPARC64]: Fix typo in SUN4V D-TLB miss handler.\n\nShould put FAULT_CODE_DTLB into %g3 not FAULT_CODE_ITLB.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ba706a95bb92c3b14b812f6d507890336d19136",
      "tree": "2456134d50898a7bd8efda4adcfa636ab0ea43cf",
      "parents": [
        "b830ab665ad96c6b20d51a89b35cbc09ab5a2c29"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 01 17:32:46 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:10 2006 -0800"
      },
      "message": "[SPARC64]: Add mini-RTC driver for Starfire and SUN4V.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b830ab665ad96c6b20d51a89b35cbc09ab5a2c29",
      "tree": "57c2c75b3e069f9f244259ae02f6f2fe3de68612",
      "parents": [
        "aac0aadf09b98ba36eab0bb02a560ebcb82ac39f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 28 15:10:26 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:09 2006 -0800"
      },
      "message": "[SPARC64]: Fix bugs in SUN4V cpu mondo dispatch.\n\nThere were several bugs in the SUN4V cpu mondo dispatch code.\n\nIn fact, if we ever got a EWOULDBLOCK or other error from\nthe hypervisor call, we\u0027d potentially send a cpu mondo multiple\ntimes to the same cpu and even worse we could loop until the\ntimeout resending the same mondo over and over to such cpus.\n\nSo let\u0027s bulletproof this thing as follows:\n\n1) Implement cpu_mondo_send() and cpu_state() hypervisor calls\n   in arch/sparc64/kernel/entry.S, add prototypes to asm/hypervisor.h\n\n2) Don\u0027t build and update the cpulist using inline functions, this\n   was causing the cpu mask to not get updated in the caller.\n\n3) Disable interrupts during the entire mondo send, otherwise our\n   cpu list and/or mondo block could get overwritten if we take\n   an interrupt and do a cpu mondo send on the current cpu.\n\n4) Check for all possible error return types from the cpu_mondo_send()\n   hypervisor call.  In particular:\n\n   HV_EOK) Our work is done, all cpus have received the mondo.\n   HV_CPUERROR) One or more of the cpus in the cpu list we passed\n                to the hypervisor are in error state.  Use cpu_state()\n                calls over the entries in the cpu list to see which\n\t\tones.  Record them in \"error_mask\" and report this\n\t\tafter we are done sending the mondo to cpus which are\n\t\tnot in error state.\n   HV_EWOULDBLOCK) We need to keep trying.\n\n   Any other error we consider fatal, we report the event and exit\n   immediately.\n\n5) We only timeout if forward progress is not made.  Forward progress\n   is defined as having at least one cpu get the mondo successfully\n   in a given cpu_mondo_send() call.  Otherwise we bump a counter\n   and delay a little.  If the counter hits a limit, we signal an\n   error and report the event.\n\nAlso, smp_call_function_mask() error handling reports the number\nof cpus incorrectly.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aac0aadf09b98ba36eab0bb02a560ebcb82ac39f",
      "tree": "0628f23fd3d7bd343966e038d6328f9bf0e8751d",
      "parents": [
        "6889331a1260e42b0275f42c13d6342d6cc1a03d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 27 17:56:51 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:08 2006 -0800"
      },
      "message": "[SPARC64]: Fix bugs in SMP TLB context version expiration handling.\n\n1) We must flush the TLB, duh.\n\n2) Even if the sw context was seen to be valid, the local cpu\u0027s\n   hw context can be out of date, so reload it unconditionally.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6889331a1260e42b0275f42c13d6342d6cc1a03d",
      "tree": "5e8b06abbbe62316e9c8288af8d7e967be6e9163",
      "parents": [
        "97c4b6f95afadea5846b78ce589d25de2a245c56"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Feb 26 23:09:37 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:07 2006 -0800"
      },
      "message": "[SPARC64]: Fix indexing into kpte_linear_bitmap.\n\nNeed to shift back up by 3 bits to get 8-byte entry\nindex.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a3a5f5ddbefde498e87f10924d4bf741c5bf37f",
      "tree": "851003d4ff0b1619766d4fab883868f2b413ed62",
      "parents": [
        "6cc80cfab8b2ce1919ad5862a43f6b7bcf163c80"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Feb 26 19:31:49 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:05 2006 -0800"
      },
      "message": "[SPARC64]: Bulletproof hypervisor TLB flushing.\n\nCheck TLB flush hypervisor calls for errors and report them.\n\nPass HV_MMU_ALL always for now, we can add back the optimization\nto avoid the I-TLB flush later.\n\nAlways explicitly page align the virtual address arguments.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6cc80cfab8b2ce1919ad5862a43f6b7bcf163c80",
      "tree": "aa76ee44c60684a607a4e4325007b8d1d2403fb4",
      "parents": [
        "36344762396ca868d6076c41a84bda25f1ed9d3c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Feb 26 14:51:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:04 2006 -0800"
      },
      "message": "[SPARC64]: Report mondo error correctly in hypervisor_xcall_deliver().\n\nIt\u0027s in \"arg0\" not \"func\".\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": "c4e9249b1924118693f298ee8d38f7fe43587af3",
      "tree": "5d01a861941493a400de02baf6d5dc6234ac25c8",
      "parents": [
        "77b838fa1ef0ab02f75afc09834c60d87b86772f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Feb 24 13:21:18 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:02 2006 -0800"
      },
      "message": "[SPARC64]: Fix binfmt_aout32.c build.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0663a79ad4faebe1db4a56e2e767b120b12333a",
      "tree": "612a53e387a6aea6116f8a1637050fa13c6d9f80",
      "parents": [
        "074d82cf688fe2dfa7ba4a2317c56f62d13fb522"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 23 14:19:28 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:00 2006 -0800"
      },
      "message": "[SPARC64]: Fix TLB context allocation with SMT style shared TLBs.\n\nThe context allocation scheme we use depends upon there being a 1\u003c--\u003e1\nmapping from cpu to physical TLB for correctness.  Chips like Niagara\nbreak this assumption.\n\nSo what we do is notify all cpus with a cross call when the context\nversion number changes, and if necessary this makes them allocate\na valid context for the address space they are running at the time.\n\nStress tested with make -j1024, make -j2048, and make -j4096 kernel\nbuilds on a 32-strand, 8 core, T2000 with 16GB of ram.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "074d82cf688fe2dfa7ba4a2317c56f62d13fb522",
      "tree": "6e29e9a1994a7e82f4250cca83731a9b37a1b862",
      "parents": [
        "b2bef4424cb4522f53e34d98d3deb0916478338b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 23 02:28:25 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:59 2006 -0800"
      },
      "message": "[SPARC64]: Put syscall tables after trap table.\n\nOtherwise with too much stuff enabled in the kernel config\nwe can end up with an unaligned trap table.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc504928677049f0ad3f1fd4e0bb3908172df8f3",
      "tree": "f55fc6a9061b0eac3f0465df412286caf83b3fbd",
      "parents": [
        "d7744a09504d5ae84edc8289a02254e1f2102410"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Feb 22 16:15:45 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:57 2006 -0800"
      },
      "message": "[SPARC64]: Drop %gl to 0 before re-enabling PSTATE_IE in rtrap\n\nIf we take a window fault, on SUN4V set %gl to zero before we\nturn PSTATE_IE back on in %pstate.  Otherwise if we take an\ninterrupt we\u0027ll end up with corrupt register state.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d7744a09504d5ae84edc8289a02254e1f2102410",
      "tree": "be0f245ee0725f2f066bf87d17d254ce1e7279bf",
      "parents": [
        "9cc3a1ac9a819cadff05ca37bb7f208013a22035"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 21 22:31:11 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:56 2006 -0800"
      },
      "message": "[SPARC64]: Create a seperate kernel TSB for 4MB/256MB mappings.\n\nIt can map all of the linear kernel mappings with zero TSB hash\nconflicts for systems with 16GB or less ram.  In such cases, on\nSUN4V, once we load up this TSB the first time with all the\nmappings, we never take a linear kernel mapping TLB miss ever\nagain, the hypervisor handles them all.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9cc3a1ac9a819cadff05ca37bb7f208013a22035",
      "tree": "601fa49272b540b3a3e6cc3728db27c525b73721",
      "parents": [
        "30c91d576e9ea41c963e7f28643219bda73b0ddc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 21 20:51:13 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:55 2006 -0800"
      },
      "message": "[SPARC64]: Make use of Niagara 256MB PTEs for kernel mappings.\n\nWe use a bitmap, one bit for every 256MB of memory.  If the\nbit is set we can use a 256MB PTE for linear mappings, else\nwe have to use a 4MB PTE.\n\nSUN4V support is there, and we can very easily add support\nfor Panther cpu 256MB PTEs in the future.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30c91d576e9ea41c963e7f28643219bda73b0ddc",
      "tree": "1aa37a82f44084b5fd854bf010ac224d2d660079",
      "parents": [
        "689126a48a4cf7efc77d0d090b2db4e8927d7819"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Feb 21 16:55:23 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:54 2006 -0800"
      },
      "message": "[SPARC64]: Use sun4v_cpu_idle() in cpu_idle() on SUN4V.\n\nWe have to turn off the \"polling nrflag\" bit when we sleep\nthe cpu like this, so that we\u0027ll get a cross-cpu interrupt\nto wake the processor up from the yield.\n\nWe also have to disable PSTATE_IE in %pstate around the yield\ncall and recheck need_resched() in order to avoid any races.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f5374c91f0dd1d92408ed44c066c32bcce5ce69",
      "tree": "e5d2ade79d39f043af66030c42d2410d1cd6f483",
      "parents": [
        "1bd0cd74d102a527b2a72907698d73fad4b82cbd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Feb 21 15:42:09 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:52 2006 -0800"
      },
      "message": "[SPARC64]: Add sun4v_cpu_yield().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1bd0cd74d102a527b2a72907698d73fad4b82cbd",
      "tree": "2df2dede361dd259b6cd4b91c3ab8d5c783401ac",
      "parents": [
        "8ca2557c48000daa8183b07d83f582a597705ebe"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Feb 21 15:41:01 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:51 2006 -0800"
      },
      "message": "[SPARC64]: Kill cpudata-\u003eidle_volume.\n\nSet, but never used.\n\nWe used to use this for dynamic IRQ retargetting, but that\ncode died a long time ago.\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": "d371c0c17466b7e7bb4d395f96aa885a23df1073",
      "tree": "c4705a6b3fa5e58d7003c82395746434c089d6ee",
      "parents": [
        "c79f76777d678ba454aa727800e1386a1fd1f2e8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 21 13:59:47 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:49 2006 -0800"
      },
      "message": "[SPARC64]: Pass multiple CPUs at once to hypervisor cross-call API.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55555633bd4e72534b53c50525817259435e18df",
      "tree": "87cb14183cfacb88712311708c5787e0a64817ac",
      "parents": [
        "d82965c16781a7c5b8508c3784ba10bbeef34ff4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Feb 20 01:50:09 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:46 2006 -0800"
      },
      "message": "[SPARC64]: Typo in sun4v_data_access_exception log message.\n\nShould be \"Dax\" not \"Iax\".\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d82965c16781a7c5b8508c3784ba10bbeef34ff4",
      "tree": "fb2510731dc418c3271edfc50fec75c80a035ae6",
      "parents": [
        "abf3b7bd89c11492b145e338913c0b511084cff7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 20 01:42:51 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:45 2006 -0800"
      },
      "message": "[SPARC64]: Handle zero-length map requests in pci_sun4v.c\n\nBy simply changing the do-while loop into a plain\nwhile loop.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abf3b7bd89c11492b145e338913c0b511084cff7",
      "tree": "fa8d333d0b66e4e7d427817d0b927ab5a901e095",
      "parents": [
        "39334a4b2c52a06960c480b1a4a05f5d5375c8bf"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Feb 20 01:09:01 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:44 2006 -0800"
      },
      "message": "[SPARC64]: Kill stray PGLIST_NENTS check in pci_sun4v.c\n\nI forgot to remove the one in pci_4v_map_sg() during the\niommu batching commit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39334a4b2c52a06960c480b1a4a05f5d5375c8bf",
      "tree": "6f5c0d6fe367bdac07ab4b07a832126ee78f122d",
      "parents": [
        "37133c006cd3ff4f4dccb3df88efc446863b515e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Feb 20 00:54:09 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:43 2006 -0800"
      },
      "message": "[SPARC64]: Fix typo in dump_tl1_traplog()\n\nActually make use of the \u0027limit\u0027 we compute.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37133c006cd3ff4f4dccb3df88efc446863b515e",
      "tree": "c5f0086b2694eedbb3943aa01d05eadff4ebe877",
      "parents": [
        "6a32fd4d0d42258004631dc0ac90665382a2e5dc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Feb 20 00:36:57 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:42 2006 -0800"
      },
      "message": "[SPARC64]: Disable smp_report_regs() for now.\n\nIt\u0027s extremely noisy and causes much grief on slow\nconsoles with large numbers of cpus.\n\nWe\u0027ll have to provide this some saner way in order\nto re-enable this.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a32fd4d0d42258004631dc0ac90665382a2e5dc",
      "tree": "f2a73240a7cfadfb3097121279b6e5a7651812e5",
      "parents": [
        "04d74758eb7dce6dfb7d2101315827c267ffefc4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Feb 19 22:21:32 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:41 2006 -0800"
      },
      "message": "[SPARC64]: Remove PGLIST_NENTS PCI IOMMU mapping limitation on SUN4V.\n\nUse a batching queue system for IOMMU mapping setup,\nwith a page sized batch.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04d74758eb7dce6dfb7d2101315827c267ffefc4",
      "tree": "18a90d84f5503eefc9af52ecd3bb1a09ae3fe6d0",
      "parents": [
        "24c523ecc667dfeb28ef969cfabc531709bfffb8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 18 17:06:28 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:40 2006 -0800"
      },
      "message": "[SPARC64]: Use KERN_EMERG in dump_tl1_traplog() and sun4v TLB errors.\n\nWe\u0027re about to seriously die in these cases so it is important\nthat the messages make it to the console.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24c523ecc667dfeb28ef969cfabc531709bfffb8",
      "tree": "67760d3bb5c5c9f950e61b263fff836e677957ee",
      "parents": [
        "6cc200db9500f53c6b884ea5d5bc7eabae7f5d5c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 18 16:39:39 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:39 2006 -0800"
      },
      "message": "[SPARC64]: Fix unaligned access winfxup handling on SUN4V.\n\nAnother case where we have to force ourselves into global register\nlevel one.  Also make sure the arguments passed to sun4v_do_mna() are\ncorrect.\n\nThis area actually needs some more work, for example spill fixup is\nnot necessarily going to do the right thing for this case.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6cc200db9500f53c6b884ea5d5bc7eabae7f5d5c",
      "tree": "4d8d095f554cc9186ef9b945bd33e6c3d53161d1",
      "parents": [
        "843dfb4d99c41116601694f314092b3b6c4511f4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 18 16:36:39 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:39 2006 -0800"
      },
      "message": "[SPARC64]: Set %gl to 1 in kvmap_itlb_longpath on SUN4V.\n\nJust like kvmap_dtlb_longpath we have to force the\nglobal register level to one in order to mimick the\nPSTATE_MG --\u003e PSTATE_AG trasition done on SUN4U.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b234274418d6d79527c4ac3a72da446ca4cb35f",
      "tree": "ab4ab14fa7f1cab7889ecc2339f0261253a5d0e1",
      "parents": [
        "7adb37fe80d06cbd40de9b225b12a3a9ec40b6bb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Feb 17 18:01:02 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:34 2006 -0800"
      },
      "message": "[SPARC64]: More TLB/TSB handling fixes.\n\nThe SUN4V convention with non-shared TSBs is that the context\nbit of the TAG is clear.  So we have to choose an \"invalid\"\nbit and initialize new TSBs appropriately.  Otherwise a zero\nTAG looks \"valid\".\n\nMake sure, for the window fixup cases, that we use the right\nglobal registers and that we don\u0027t potentially trample on\nthe live global registers in etrap/rtrap handling (%g2 and\n%g6) and that we put the missing virtual address properly\nin %g5.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7adb37fe80d06cbd40de9b225b12a3a9ec40b6bb",
      "tree": "bca7b671ad0cf49d6ef7a01c96ae3865805fec13",
      "parents": [
        "6c8927c9634e8a1bc95d5291c55205707f9fa40a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Feb 17 15:07:43 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:33 2006 -0800"
      },
      "message": "[SPARC64]: Don\u0027t do anything in flush_ptrace_access() on SUN4V.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c8927c9634e8a1bc95d5291c55205707f9fa40a",
      "tree": "e59db7dca9ab26808703ee3c20ad59c3425024fa",
      "parents": [
        "12e126ad229abc718d05600027fcd5794c1e31e5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Feb 17 14:58:02 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:32 2006 -0800"
      },
      "message": "[SPARC64]: Fix some SUN4V TLB handling bugs.\n\n1) Add error return checking for TLB load hypervisor\n   calls.\n\n2) Don\u0027t fallthru to dtlb tsb miss handler from itlb tsb\n   miss handler, oops.\n\n3) On window fixups, propagate fault information to fixup\n   handler correctly.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52845cdb3b9c4c5fe1c2e295bd14457ff8dd6bcc",
      "tree": "350f49c4cecd87cc22aae8c88c1ff383822614d6",
      "parents": [
        "3763be32d591cacf808c36390a8af3f2784cde5f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 26 23:32:33 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:30 2006 -0800"
      },
      "message": "[SPARC64]: Init boot cpu\u0027s trap_block[] before paging_init()\n\nIt must be ready when we take over the trap table.\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": "46f860471483dce9ba5ce682a69c61cbceb54e52",
      "tree": "4107992d58fa51a0c2d76d31d63cf26bb1f427ab",
      "parents": [
        "97532f598273d03cab8bb5206669b6fdd654eb63"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Feb 17 10:28:24 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:27 2006 -0800"
      },
      "message": "[SPARC64]: Put SUN4V ITSB miss into correct trap table entry.\n\nIt\u0027s 0x9 not 0xb.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ebd8c56c5ae154e2c6cfb7453a76a4e7265b2377",
      "tree": "155df85100a1316ac103dcaed140d20ddc72c855",
      "parents": [
        "101d5c18a928ef82b6c7bf99a9eaa536b5ccf593"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Feb 17 08:38:06 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:24 2006 -0800"
      },
      "message": "[SPARC64]: Fix uniprocessor IRQ targetting on SUN4V.\n\nWe need to use the real hardware processor ID when\ntargetting interrupts, not the \"define to 0\" thing\nthe uniprocessor build gives us.\n\nAlso, fill in the Node-ID and Agent-ID fields properly\non sun4u/Safari.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "101d5c18a928ef82b6c7bf99a9eaa536b5ccf593",
      "tree": "340b5fa064fcf8a62a0742f8fb46fa4bb61abf8d",
      "parents": [
        "72aff53f1fe74153eccef303ab2f79de888d248c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Feb 17 08:20:18 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:23 2006 -0800"
      },
      "message": "[SPARC64]: Fix PCI IRQ probing regression.\n\nIf the top-level cnode had multi entries in it\u0027s \"reg\"\nproperty, we\u0027d fail.  The buffer wasn\u0027t large enough in\nsuch cases.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72aff53f1fe74153eccef303ab2f79de888d248c",
      "tree": "a229645be99274d36bed04bed355d74ec3c0baa2",
      "parents": [
        "19a0d585e80e84b54bb9bf120bf0c826045dd3dd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Feb 17 01:29:17 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:22 2006 -0800"
      },
      "message": "[SPARC64]: Get SUN4V SMP working.\n\nThe sibling cpu bringup is extremely fragile.  We can only\nperform the most basic calls until we take over the trap\ntable from the firmware/hypervisor on the new cpu.\n\nThis means no accesses to %g4, %g5, %g6 since those can\u0027t be\nTLB translated without our trap handlers.\n\nIn order to achieve this:\n\n1) Change sun4v_init_mondo_queues() so that it can operate in\n   several modes.\n\n   It can allocate the queues, or install them in the current\n   processor, or both.\n\n   The boot cpu does both in it\u0027s call early on.\n\n   Later, the boot cpu allocates the sibling cpu queue, starts\n   the sibling cpu, then the sibling cpu loads them in.\n\n2) init_cur_cpu_trap() is changed to take the current_thread_info()\n   as an argument instead of reading %g6 directly on the current\n   cpu.\n\n3) Create a trampoline stack for the sibling cpus.  We do our basic\n   kernel calls using this stack, which is locked into the kernel\n   image, then go to our proper thread stack after taking over the\n   trap table.\n\n4) While we are in this delicate startup state, we put 0xdeadbeef\n   into %g4/%g5/%g6 in order to catch accidental accesses.\n\n5) On the final prom_set_trap_table*() call, we put \u0026init_thread_union\n   into %g6.  This is a hack to make prom_world(0) work.  All that\n   wants to do is restore the %asi register using\n   get_thread_current_ds().\n\nLonger term we should just do the OBP calls to set the trap table by\nhand just like we do for everything else.  This would avoid that silly\nprom_world(0) issue, then we can remove the init_thread_union hack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "19a0d585e80e84b54bb9bf120bf0c826045dd3dd",
      "tree": "d744dc0c7530765fcdaf46e15bd83805b78e6017",
      "parents": [
        "6154f94f0e1b3984ad2d0bcda586bc8946398b8a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Feb 17 01:17:21 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:21 2006 -0800"
      },
      "message": "[SPARC64]: Disable smp_report_regs() for now.\n\nFor 32 cpus and a slow console, it just wedges the\nmachine especially with DETECT_SOFTLOCKUP enabled.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6154f94f0e1b3984ad2d0bcda586bc8946398b8a",
      "tree": "8abc4d83ed8ddef986de2c0593f55d3e879c7c78",
      "parents": [
        "14f6689cbb3ec2c194bd770fbe0d6e2d90eb6760"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 16 23:01:10 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:20 2006 -0800"
      },
      "message": "[SPARC64]: Rewrite pci_intmap_match().\n\nThe whole algorithm was wrong.  What we need to do is:\n\n1) Walk each PCI bus above this device on the path to the\n   PCI controller nexus, and for each:\n      a) If interrupt-map exists, apply it, record IRQ controller node\n      b) Else, swivel interrupt number using PCI_SLOT(), use PCI bus\n\t parent OBP node as controller node\n      c) Walk up to \"controller node\" until we hit the first PCI bus\n\t in this domain, or \"controller node\" is the PCI controller\n\t OBP node\n2) If we walked to PCI controller OBP node, we\u0027re done.\n3) Else, apply PCI controller interrupt-map to interrupt.\n\nThere is some stuff that needs to be checked out for ebus and\nisa, but the PCI part is good to go.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14f6689cbb3ec2c194bd770fbe0d6e2d90eb6760",
      "tree": "75934961ca955a076651f35e08fc81ebc867bcff",
      "parents": [
        "af02bec66294c76fba181c665c68a31fd4392020"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 16 20:44:25 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:20 2006 -0800"
      },
      "message": "[SPARC64]: Don\u0027t set interrupt state to IDLE in enable_irq().\n\nWe\u0027ll lose events that way.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "af02bec66294c76fba181c665c68a31fd4392020"
}
