)]}'
{
  "log": [
    {
      "commit": "81711cee933599fa114abb0d258d8bbabef8adfb",
      "tree": "cef17c099689b15b3b8bb29b0eae84acd474ed8a",
      "parents": [
        "bc4cf2bb271b2d557fc510426755da786fc985be"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Tue Dec 14 16:07:25 2010 -0500"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Dec 17 16:59:29 2010 -0500"
      },
      "message": "arch/tile: handle rt_sigreturn() more cleanly\n\nThe current tile rt_sigreturn() syscall pattern uses the common idiom\nof loading up pt_regs with all the saved registers from the time of\nthe signal, then anticipating the fact that we will clobber the ABI\n\"return value\" register (r0) as we return from the syscall by setting\nthe rt_sigreturn return value to whatever random value was in the pt_regs\nfor r0.\n\nHowever, this breaks in our 64-bit kernel when running \"compat\" tasks,\nsince we always sign-extend the \"return value\" register to properly\nhandle returned pointers that are in the upper 2GB of the 32-bit compat\naddress space.  Doing this to the sigreturn path then causes occasional\nrandom corruption of the 64-bit r0 register.\n\nInstead, we stop doing the crazy \"load the return-value register\"\nhack in sigreturn.  We already have some sigreturn-specific assembly\ncode that we use to pass the pt_regs pointer to C code.  We extend that\ncode to also set the link register to point to a spot a few instructions\nafter the usual syscall return address so we don\u0027t clobber the saved r0.\nNow it no longer matters what the rt_sigreturn syscall returns, and the\npt_regs structure can be cleanly and completely reloaded.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "bc4cf2bb271b2d557fc510426755da786fc985be",
      "tree": "25fa4e868d810603da82d1a7c800cf1b0eb0d100",
      "parents": [
        "5111711d3ed8f4f1012cac3ec3f2b463b549fbfd"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Tue Dec 14 15:57:49 2010 -0500"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Dec 17 16:56:50 2010 -0500"
      },
      "message": "arch/tile: handle CLONE_SETTLS in copy_thread(), not user space\n\nPreviously we were just setting up the \"tp\" register in the\nnew task as started by clone() in libc.  However, this is not\nquite right, since in principle a signal might be delivered to\nthe new task before it had its TLS set up.  (Of course, this race\nwindow still exists for resetting the libc getpid() cached value\nin the new task, in principle.  But in any case, we are now doing\nthis exactly the way all other architectures do it.)\n\nThis change is important for 2.6.37 since the tile glibc we will\nbe submitting upstream will not set TLS in user space any more,\nso it will only work on a kernel that has this fix.  It should\nalso be taken for 2.6.36.x in the stable tree if possible.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "c12ae95ccc2dc80b4bd57363240cdb6eab2adcbc",
      "tree": "af3312bda2b0740278767867dadcf9c6223dc377",
      "parents": [
        "47143b094d4700842e42b0a7cc2548d7ae292690",
        "3edabee2ed22ee4f98f4b4bb38a41059226a8446"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 25 07:42:32 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 25 07:42:32 2010 +0900"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:\n  arch/tile: fix memchr() not to dereference memory for zero length\n  arch/tile: make glibc\u0027s sysconf(_SC_NPROCESSORS_CONF) work correctly\n  arch/tile: fix rwlock so would-be write lockers don\u0027t block new readers\n"
    },
    {
      "commit": "47143b094d4700842e42b0a7cc2548d7ae292690",
      "tree": "ab1e7fb7cdedd29c8a9b953e58110ff3870946e4",
      "parents": [
        "0b9466ccea3c4ec363737288dd9467bf978c9c2d",
        "f02cbbe657939489347cbda598401a56913ffcbd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 25 07:42:03 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 25 07:42:03 2010 +0900"
      },
      "message": "Merge branch \u0027drivers\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\n* \u0027drivers\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:\n  pci root complex: support for tile architecture\n  drivers/net/tile/: on-chip network drivers for the tile architecture\n  MAINTAINERS: add drivers/char/hvc_tile.c as maintained by tile\n"
    },
    {
      "commit": "4d658d13c90f14cf3510ca15cafe2f4aa9e23d64",
      "tree": "77cf85314ed34c6246edd2a1e4fee4277de8169d",
      "parents": [
        "b03a6c4c7d8ebd8118d668eafdb85f5f76b5437f"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Nov 24 13:42:15 2010 -0500"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Nov 24 13:42:15 2010 -0500"
      },
      "message": "arch/tile: make glibc\u0027s sysconf(_SC_NPROCESSORS_CONF) work correctly\n\nglibc assumes that it can count /sys/devices/system/cpu/cpu* to get\nthe number of configured cpus.  For this to be valid on tile, we need\nto generate a \"cpu\" entry for all cpus, including the ones that are\nnot currently allocated for Linux\u0027s use.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "f02cbbe657939489347cbda598401a56913ffcbd",
      "tree": "0d21e68d899958e6549f908b0c715c6f37200027",
      "parents": [
        "e5a06939736277c54a68ae275433db55b99d187c"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Tue Nov 02 12:05:10 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Nov 24 13:13:49 2010 -0500"
      },
      "message": "pci root complex: support for tile architecture\n\nThis change enables PCI root complex support for TILEPro.  Unlike\nTILE-Gx, TILEPro has no support for memory-mapped I/O, so the PCI\nsupport consists of hypervisor upcalls for PIO, DMA, etc.  However,\nthe performance is fine for the devices we have tested with so far\n(1Gb Ethernet, SATA, etc.).\n\nThe \u003casm/io.h\u003e header was tweaked to be a little bit more aggressive\nabout disabling attempts to map/unmap IO port space.  The hacky\n\u003casm/pci-bridge.h\u003e header was rolled into the \u003casm/pci.h\u003e header\nand the result was simplified.  Both of the latter two headers were\npreliminary versions not meant for release before now - oh well.\n\nThere is one quirk for our TILEmpower platform, which accidentally\nnegotiates up to 5GT and needs to be kicked down to 2.5GT.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "451a3c24b0135bce54542009b5fde43846c7cf67",
      "tree": "f0fbbcc155aef2a1ffcb8aa593fe7a966d0e6900",
      "parents": [
        "55f6561c6941713ab5ae9180525b026dd40b7d14"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Nov 17 16:26:55 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 17 08:59:32 2010 -0800"
      },
      "message": "BKL: remove extraneous #include \u003csmp_lock.h\u003e\n\nThe big kernel lock has been removed from all these files at some point,\nleaving only the #include.\n\nRemove this too as a cleanup.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d02db4f8d79c5841ba32b326edb75ea6acd081ca",
      "tree": "ee753e0f72929c143b16ba4723ff2c1b4eaefade",
      "parents": [
        "2c7387ef9969bb073c25ecbdcc5be30770267b16"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Nov 01 12:46:10 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Nov 01 15:31:42 2010 -0400"
      },
      "message": "arch/tile: mark \"hardwall\" device as non-seekable\n\nArnd\u0027s recent patch series tagged this device with noop_llseek,\nconservatively.  In fact, it should be no_llseek, which we arrange\nfor by opening the device with nonseekable_open().\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "2c7387ef9969bb073c25ecbdcc5be30770267b16",
      "tree": "21025658ae17a84b0df346b589eb6c986c6f599d",
      "parents": [
        "1deb9c5dfb179819ecdbf80a1d121e26c63caab3"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 28 16:07:07 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Nov 01 15:31:29 2010 -0400"
      },
      "message": "asm-generic/stat.h: support 64-bit file time_t for stat()\n\nThe existing asm-generic/stat.h specifies st_mtime, etc., as a 32-value,\nand works well for 32-bit architectures (currently microblaze, score,\nand 32-bit tile).  However, for 64-bit architectures it isn\u0027t sufficient\nto return 32 bits of time_t; this isn\u0027t good insurance against the 2037\nrollover.  (It also makes glibc support less convenient, since we can\u0027t\nuse glibc\u0027s handy STAT_IS_KERNEL_STAT mode.)\n\nThis change extends the two \"timespec\" fields for each of the three atime,\nmtime, and ctime fields from \"int\" to \"long\".  As a result, on 32-bit\nplatforms nothing changes, and 64-bit platforms will now work as expected.\n\nThe only wrinkle is 32-bit userspace under 64-bit kernels taking advantage\nof COMPAT mode.  For these, we leave the \"struct stat64\" definitions with\nthe \"int\" versions of the time_t and nsec fields, so that architectures\ncan implement compat_sys_stat64() and friends with sys_stat64(), etc.,\nand get the expected 32-bit structure layout.  This requires a\nfield-by-field copy in the kernel, implemented by the code guarded\nunder __ARCH_WANT_STAT64.\n\nThis does mean that the shape of the \"struct stat\" and \"struct stat64\"\nstructures is different on a 64-bit kernel, but only one of the two\nstructures should ever be used by any given process: \"struct stat\"\nis meant for 64-bit userspace only, and \"struct stat64\" for 32-bit\nuserspace only.  (On a 32-bit kernel the two structures continue to have\nthe same shape, since \"long\" is 32 bits.)\n\nThe alternative is keeping the two structures the same shape on 64-bit\nkernels, which means a 64-bit time_t in \"struct stat64\" for 32-bit\nprocesses.  This is a little unnatural since 32-bit userspace can\u0027t\ndo anything with 64 bits of time_t information, since time_t is just\n\"long\", not \"int64_t\"; and in any case 32-bit userspace might expect\nto be running under a 32-bit kernel, which can\u0027t provide the high 32\nbits anyway.  In the case of a 32-bit kernel we\u0027d then be extending the\nkernel\u0027s 32-bit time_t to 64 bits, then truncating it back to 32 bits\nagain in userspace, for no particular reason.  And, as mentioned above,\nif we have 64-bit time_t for 32-bit processes we can\u0027t easily use glibc\u0027s\nSTAT_IS_KERNEL_STAT, since glibc\u0027s stat structure requires an embedded\n\"struct timespec\", which is a pair of \"long\" (32-bit) values in a 32-bit\nuserspace.  \"Inventive\" solutions are possible, but are pretty hacky.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "1deb9c5dfb179819ecdbf80a1d121e26c63caab3",
      "tree": "c6f6ec6030eb22f094a65c07e63312758d079794",
      "parents": [
        "34a89d26bdc4ba46a406fa3842239e921c493d44"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 28 15:47:06 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Nov 01 15:31:17 2010 -0400"
      },
      "message": "arch/tile: don\u0027t allow user code to set the PL via ptrace or signal return\n\nThe kernel was allowing any component of the pt_regs to be updated either\nby signal handlers writing to the stack, or by processes writing via\nPTRACE_POKEUSR or PTRACE_SETREGS, which meant they could set their PL\nup from 0 to 1 and get access to kernel code and data (or, in practice,\ncause a kernel panic).  We now always reset the ex1 field, allowing the\nuser to set their ICS bit only.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "34a89d26bdc4ba46a406fa3842239e921c493d44",
      "tree": "bbfc0dcd4376f6f6337cc199fa785f53243b36cb",
      "parents": [
        "d59e609d6568ba5ab23c256f412ac5ec360722c1"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 28 15:03:30 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Nov 01 15:31:04 2010 -0400"
      },
      "message": "arch/tile: correct double syscall restart for nested signals\n\nThis change is modelled on similar fixes for other architectures.\nThe pt_regs \"faultnum\" member is set to the trap (fault) number that\ncaused us to enter the kernel, and is INT_SWINT_1 for the syscall software\ninterrupt.  We already supported a pseudo value, INT_SWINT_1_SIGRETURN,\nthat we used for the rt_sigreturn syscall; it avoided the case where\none signal was handled, then we \"tail-called\" to another handler.\n\nThis change avoids the similar case where we start to call one handler,\nthen are preempted into another handler when we start trying to run\nthe first handler.  We clear -\u003efaultnum after calling handle_signal(),\nand to be paranoid also in the case where there was no signal to deliver.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "5d966115de84c22cd4df029cb00be0e51fab6c10",
      "tree": "85095d93900f7f76a7591620651c5480065cacfb",
      "parents": [
        "38a6f4266989c4dae68eccb1a5cb4580a48003e4"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Nov 01 15:24:29 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Nov 01 15:30:42 2010 -0400"
      },
      "message": "arch/tile: bomb raw_local_irq_ to arch_local_irq_\n\nThis completes the tile migration to the new naming scheme for\nthe architecture-specific irq management code.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "38a6f4266989c4dae68eccb1a5cb4580a48003e4",
      "tree": "dba1fecb1c0631f4d9b3dfb9f56d11f92d905a4f",
      "parents": [
        "c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Nov 01 15:21:35 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Nov 01 15:30:36 2010 -0400"
      },
      "message": "arch/tile: complete migration to new kmap_atomic scheme\n\nThis change makes KM_TYPE_NR independent of the actual deprecated\nlist of km_type values, which are no longer used in tile code anywhere.\nFor now we leave it set to 8, allowing that many nested mappings,\nand thus reserving 32MB of address space.\n\nA few remaining places using KM_* values were cleaned up as well.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "61d8e11e519ee7912ab59610fba1aaf08e3c1d84",
      "tree": "f06e035c88cbf508eb6e24875b878ee78d581cf8",
      "parents": [
        "c3b92ce9e75f6353104fc7f8e32fb9fdb2550ad0"
      ],
      "author": {
        "name": "Zimny Lech",
        "email": "napohybelskurwysynom2010@gmail.com",
        "time": "Wed Oct 27 15:34:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "Remove duplicate includes from many files\n\nSigned-off-by: Zimny Lech \u003cnapohybelskurwysynom2010@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c0acac3676103113a2e259291a07c073ac07879",
      "tree": "dd54dbe6d01be0f1afb1f06fc0eff51518fc39a0",
      "parents": [
        "a9384e23ab19eba0dedb861ebcba805b98a3b7a5"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 27 15:34:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:12 2010 -0700"
      },
      "message": "ptrace: cleanup arch_ptrace() on tile\n\nRemove checking @addr less than 0 because @addr is now unsigned.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b05a69e0534ec70bc94921936ffa05b330507cb",
      "tree": "4116a7b7db286edf9486a29a7742d47fa67baa68",
      "parents": [
        "9fed81dc40f5a1ac2783bcc78d4029873be72894"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 27 15:33:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:10 2010 -0700"
      },
      "message": "ptrace: change signature of arch_ptrace()\n\nFix up the arguments to arch_ptrace() to take account of the fact that\n@addr and @data are now unsigned long rather than long as of a preceding\npatch in this series.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e404f91ed2180dfecbab15dd4d39c543353385fb",
      "tree": "c256e29b1c738d5e5b5478f19b369b1fd90bd1e2",
      "parents": [
        "18a043f9413277523cf5011e594caa1747db4948",
        "e18105c128734b1671739ad4d85e216ebec28c61"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:25:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:25:38 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:\n  arch/tile: convert a BUG_ON to BUILD_BUG_ON\n  arch/tile: make ptrace() work properly for TILE-Gx COMPAT mode\n  arch/tile: support new info op generated by compiler\n  arch/tile: minor whitespace/naming changes for string support files\n  arch/tile: enable single-step support for TILE-Gx\n  arch/tile: parameterize system PLs to support KVM port\n  arch/tile: add Tilera\u0027s \u003carch/sim.h\u003e header as an open-source header\n  arch/tile: Bomb C99 comments to C89 comments in tile\u0027s \u003carch/sim_def.h\u003e\n  arch/tile: prevent corrupt top frame from causing backtracer runaway\n  arch/tile: various top-level Makefile cleanups\n  arch/tile: change lower bound on syscall error return to -4095\n  arch/tile: properly export __mb_incoherent for modules\n  arch/tile: provide a definition of MAP_STACK\n  kmemleak: add TILE to the list of supported architectures.\n  char: hvc: check for error case\n  arch/tile: Add a warning if we try to allocate too much vmalloc memory.\n  arch/tile: update some comments to clarify register usage.\n  arch/tile: use better \"punctuation\" for VMSPLIT_3_5G and friends\n  arch/tile: Use \u003casm-generic/syscalls.h\u003e\n  tile: replace some BUG_ON checks with BUILD_BUG_ON checks\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "e18105c128734b1671739ad4d85e216ebec28c61",
      "tree": "66846afddb58b824b3146a1ea10cbffcb6f2d206",
      "parents": [
        "ce7f2a39675ea5e8e27b3f3bb03e5041c7d10412"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 16:50:26 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Oct 15 15:40:03 2010 -0400"
      },
      "message": "arch/tile: convert a BUG_ON to BUILD_BUG_ON\n\nInspired by Akinobu Mita\u0027s cleanup work.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "ce7f2a39675ea5e8e27b3f3bb03e5041c7d10412",
      "tree": "5552e14b279cac5acc56c2b9cd3114d8e612a078",
      "parents": [
        "c569cac8b69397d8bc80f95bc6edf13ed902e28b"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 16:48:00 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Oct 15 15:39:44 2010 -0400"
      },
      "message": "arch/tile: make ptrace() work properly for TILE-Gx COMPAT mode\n\nPreviously, we tried to pass 64-bit arguments through the\n\"COMPAT\" mode 32-bit syscall API, which turned out not to work\nwell.  Now we just use straight 32-bit arguments in COMPAT mode,\nthus requiring individual registers to be read/written with\ntwo syscalls.  Of course this is uncommon, since usually all\nthe registers are read or written at once.\n\nThe restructuring applies to all the tile platforms, but is\nplausibly better than the original code in any case.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "c569cac8b69397d8bc80f95bc6edf13ed902e28b",
      "tree": "9a51659777f876f401189fe17d35c69430a91797",
      "parents": [
        "29507663dfa2590647a1ef66f3652a0cac033eca"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 16:46:22 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Oct 15 15:39:25 2010 -0400"
      },
      "message": "arch/tile: support new info op generated by compiler\n\nThis just syncs the backtracing support in the kernel to the\nupstream backtrace library.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "233325b94999d4bb8df227bb39904a57509e4995",
      "tree": "1f195bded03ce5aa483b41531e739a8cc61ce392",
      "parents": [
        "a78c942df64ef4cf495fd4d8715e48501bd7f8a4"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 16:32:41 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Oct 15 15:38:26 2010 -0400"
      },
      "message": "arch/tile: enable single-step support for TILE-Gx\n\nThis is not quite the complete support, since we\u0027re not yet shipping\nintvec_64.S, but it is the support relevant to the set of files we are\ncurrently shipping, and makes it easier to track changes between\nour internal sources and our public GIT repository.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "a78c942df64ef4cf495fd4d8715e48501bd7f8a4",
      "tree": "fe44212d36e6ca23dbe9f2c633824389216a3d1d",
      "parents": [
        "bf65e440e8248f22b2eacf8d47961bb9d52260f7"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 16:23:03 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Oct 15 15:38:09 2010 -0400"
      },
      "message": "arch/tile: parameterize system PLs to support KVM port\n\nWhile not a port to KVM (yet), this change modifies the kernel\nto be able to build either at PL1 or at PL2 with a suitable\nconfig switch.  Pushing up this change avoids handling branch\nmerge issues going forward with the KVM work.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "bf65e440e8248f22b2eacf8d47961bb9d52260f7",
      "tree": "49189dfa1bc90732caedc1e872baed9fb360adf0",
      "parents": [
        "4fe938c5134fce1f25e1261eef6252fb47634962"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 16:00:11 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Oct 15 15:36:54 2010 -0400"
      },
      "message": "arch/tile: add Tilera\u0027s \u003carch/sim.h\u003e header as an open-source header\n\nThis change adds one of the Tilera standard \u003carch\u003e headers to the set\nof headers shipped with Linux.  The \u003carch/sim.h\u003e header provides\nmethods for programmatically interacting with the Tilera simulator.\n\nThe current \u003carch/sim.h\u003e provides inline assembly for the _sim_syscall\nfunction, so the declaration and definition previously provided\nmanually in Linux are no longer needed.  We now use the standard\nsim_validate_lines_evicted() method from \u003carch/sim.h\u003e rather than\nrolling our own direct call to sim_syscall().\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "dabe98c972091818762e02841ab1f982e573e7d0",
      "tree": "3770c66ab60cc34225158e87a6532afa5704806c",
      "parents": [
        "45123f7e74e004848da765f3182cd401a38d354d"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 15:19:04 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 15:19:04 2010 -0400"
      },
      "message": "arch/tile: prevent corrupt top frame from causing backtracer runaway\n\nThe backtracer will normally cut itself off after 100 frames anyway,\nbut it\u0027s messy.  With this change we notice that the frame being\nreported is the same as the last one, and cut off the dump with a\nmessage similar to what gdb displays in the same circumstance.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "a4dbc5ee52e8741522a2f87067b80116c6c7a934",
      "tree": "fc746caaac94740c81efb3ac5316fa01ab88cbed",
      "parents": [
        "13c9d5a6309763a494f7c3ed5aa45fb473985fd7"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 15:14:29 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 15:14:29 2010 -0400"
      },
      "message": "arch/tile: change lower bound on syscall error return to -4095\n\nPreviously we were using -1023, which is fine for normal syscall\nerror returns, but the common value in use for other platforms\nis -4095, and one Tilera-specific driver does use values in the\n-1100 range, so tickled this bug.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "77d233036ea886398770f208aa22235acf0d011c",
      "tree": "f3edb38ea286885b65cd1e615fddb796d0799c6a",
      "parents": [
        "d6f0f22c3c409f9ed88e64f881f8308730be76f0"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 14:47:35 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 14:47:35 2010 -0400"
      },
      "message": "arch/tile: Add a warning if we try to allocate too much vmalloc memory.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "d6f0f22c3c409f9ed88e64f881f8308730be76f0",
      "tree": "5521d78679fd3441cecdfe5a273eeca81aee922f",
      "parents": [
        "5592840ba83c281b4df45345863b224bb290020c"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 14:42:58 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 14:42:58 2010 -0400"
      },
      "message": "arch/tile: update some comments to clarify register usage.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "d929b6aeaacbe78cbfef4a80e3eed1bf0464d984",
      "tree": "5f121a845d616a3926768c2fa1b25c4ae417d9c2",
      "parents": [
        "ce0ecc8abfa9904e27a5f3ac4dd83398b134278d"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 14:34:33 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 14:34:33 2010 -0400"
      },
      "message": "arch/tile: Use \u003casm-generic/syscalls.h\u003e\n\nWith this change we now include \u003casm-generic/syscalls.h\u003e into the \"tile\"\nversion of the header.  To take full advantage of the prototypes there,\nwe also change our naming convention for \"struct pt_regs *\" syscalls so\nthat, e.g., _sys_execve() is the \"true\" syscall entry, which sets the\nappropriate register to point to the pt_regs before calling sys_execve().\n\nWhile doing this I realized I no longer needed the fork and vfork\nentry point stubs, since those functions aren\u0027t in the generic\nsyscall ABI, so I removed them as well.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "7c5f13519a67aa7ba3a99155f128d4bdef87d087",
      "tree": "e4d0537092930a53a85932de83a7861990c58607",
      "parents": [
        "5e62feabcc3e4127a084701ec54ffe891985b7e8",
        "021989622810b02aab4b24f91e1f5ada2b654579"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:41:22 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:41:26 2010 +0200"
      },
      "message": "Merge branch \u0027x86/urgent\u0027 of into irq/sparseirq\n\nReason: Pull in the latest io_apic bugfixes\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ea44e06e79a393fb577272399ef7521a143b6b59",
      "tree": "0bd32a6dd55a82966a51fbb190afa5fadfa2d4c9",
      "parents": [
        "7040dea4d2a0609241c7a98a944b7c432c69db2e"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Sep 24 17:19:20 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Sep 24 17:19:20 2010 -0400"
      },
      "message": "arch/tile: remove dead code from intvec_32.S\n\nThis \"bpt_code\" instruction was killed off in our development line a while\nago (the actual definition of bpt_code that is used is in kernel/traps.c)\nbut I didn\u0027t push it for 2.6.36 because it seemed harmless and I didn\u0027t\nwant to try to push more than absolutely necessary.\n\nHowever, we recently fixed a bug in our gcc that had been causing\n\"-gdwarf2\" not to be passed to the assembler, and passing this flag causes\nan erroneous assembler failure in the presence of code in a data section,\nsometimes.  While we\u0027d like to track down the bug in the assembler,\nwe\u0027d also like to make sure 2.6.36 builds with the current toolchain,\nso I\u0027m removing this dead code as well.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "d1ea13c6e2cce0106531852daaa93dd97aec9580",
      "tree": "9a49b1029af4e63e08267d2b4d6e2f66396be0aa",
      "parents": [
        "a800c7cc5380fbb6b4f2f3bd89f6776eb3da2242"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Sep 23 18:40:07 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Sep 23 19:12:26 2010 +0200"
      },
      "message": "genirq: Cleanup irq_chip-\u003etypename leftovers\n\n3 years transition phase is enough. Cleanup the last users and remove\nthe cruft.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Leo Chen \u003cleochen@broadcom.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\n"
    },
    {
      "commit": "7040dea4d2a0609241c7a98a944b7c432c69db2e",
      "tree": "dc333496a8cdb0b1a5e96f92995a8c09002d262e",
      "parents": [
        "0fab59e5ddb4e0557825e9ab8e41b66b5f336941"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Sep 15 11:17:05 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Sep 15 11:17:05 2010 -0400"
      },
      "message": "arch/tile: fix formatting bug in register dumps\n\nThis cut-and-paste bug was caused by rewriting the register dump\ncode to use only a single printk per line of output.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "a802fc685426303ab627b7ad3fd5c97b5dea7e00",
      "tree": "29a4ae60405318129efc0897f311a6ac4b1328d2",
      "parents": [
        "74fca9da097b74117ae2cef9e5f0d9b0e28ccbb7"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Sep 15 11:16:10 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Sep 15 11:16:10 2010 -0400"
      },
      "message": "arch/tile: Save and restore extra user state for tilegx\n\nDuring context switch, save and restore a couple of additional bits of\ntilegx user state that can be persistently modified by userspace.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "74fca9da097b74117ae2cef9e5f0d9b0e28ccbb7",
      "tree": "cbdb9e9b760429016a31e1dca3b115548dbebc0a",
      "parents": [
        "e6e6c46d759cd013cb57eba112a4129a3a353c4b"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Sep 15 11:16:08 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Sep 15 11:16:08 2010 -0400"
      },
      "message": "arch/tile: Change struct sigcontext to be more useful\n\nRather than just using pt_regs, it now contains the actual saved\nstate explicitly, similar to pt_regs.  By doing it this way, we\nprovide a cleaner API for userspace (or equivalently, we avoid the\nneed for libc to provide its own definition of sigcontext).\n\nWhile we\u0027re at it, move PT_FLAGS_xxx to where they are not visible\nfrom userspace.  And always pass siginfo and mcontext to signal\nhandlers, even if they claim they don\u0027t need it, since sometimes\nthey actually try to use it anyway in practice.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "e6e6c46d759cd013cb57eba112a4129a3a353c4b",
      "tree": "12dbe6085c713832d0df037efc709e2b0b08ad2b",
      "parents": [
        "49553c2ef88749dd502687f4eb9c258bb10a4f44"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Sep 15 11:16:05 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Sep 15 11:16:05 2010 -0400"
      },
      "message": "arch/tile: finish const-ifying sys_execve()\n\nThe sys_execve() implementation was properly const-ified but not\nthe declaration, the syscall wrappers, or the compat version.\nThis change completes the constification process.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "d7627467b7a8dd6944885290a03a07ceb28c10eb",
      "tree": "a18c83468418e878cfb2d44e4310d81b8db84ad7",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 17 23:52:56 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 17 18:07:43 2010 -0700"
      },
      "message": "Make do_execve() take a const filename pointer\n\nMake do_execve() take a const filename pointer so that kernel_execve() compiles\ncorrectly on ARM:\n\narch/arm/kernel/sys_arm.c:88: warning: passing argument 1 of \u0027do_execve\u0027 discards qualifiers from pointer target type\n\nThis also requires the argv and envp arguments to be consted twice, once for\nthe pointer array and once for the strings the array points to.  This is\nbecause do_execve() passes a pointer to the filename (now const) to\ncopy_strings_kernel().  A simpler alternative would be to cast the filename\npointer in do_execve() when it\u0027s passed to copy_strings_kernel().\n\ndo_execve() may not change any of the strings it is passed as part of the argv\nor envp lists as they are some of them in .rodata, so marking these strings as\nconst should be fine.\n\nFurther kernel_execve() and sys_execve() need to be changed to match.\n\nThis has been test built on x86_64, frv, arm and mips.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba00376b0b13f234d839541a7b36a5bf5c2a4036",
      "tree": "9f74c7d7933d969484859365f055b5a77cfc4fd1",
      "parents": [
        "c745a8a11fa1df6078bfc61fc29492ed43f71c2b"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Aug 13 16:37:00 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Aug 13 16:37:00 2010 -0400"
      },
      "message": "arch/tile: extend syscall ABI to set r1 on return as well.\n\nUntil now, the tile architecture ABI for syscall return has just been\nthat r0 holds the return value, and an error is only signalled like it is\nfor kernel code, with a negative small number.\n\nHowever, this means that in multiple places in userspace we end up writing\nthe same three-cycle idiom that tests for a small negative number for\nerror.  It seems cleaner to instead move that code into the kernel, and\nset r1 to hold zero on success or errno on failure; previously, r1 was\njust zeroed on return from the kernel (to avoid leaking kernel state).\nThis way a single conditional branch after the syscall is sufficient\nto test for the failure case.  The number of cycles taken is the same,\nbut the error-checking code is in just one place, so total code size is\nsmaller, and random userspace syscall code is easier to understand.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "1fcbe027b5d29ec9cd0eeb753c14fb366ae852ac",
      "tree": "b0d80646567ac71238cf2ffb33e29ad33d758816",
      "parents": [
        "32020effaf713c0c669864301bcd5dac6b9bb9e0"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Aug 13 08:40:57 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Aug 13 08:40:57 2010 -0400"
      },
      "message": "arch/tile: support backtracing on TILE-Gx\n\nThis functionality was stubbed out until recently.  Now we support our\nnormal backtracing API on TILE-Gx as well as on TILE64/TILEPro.\nThis change includes a tweak to the instruction encoding caused by\nadding addxli for compat mode.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "32020effaf713c0c669864301bcd5dac6b9bb9e0",
      "tree": "86bca127e785fe2170bfec548ebc6be549a842b8",
      "parents": [
        "749dc6f252b57d5cb9c1f4c1c4aafe4c92a28207"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Aug 13 08:32:21 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Aug 13 08:32:21 2010 -0400"
      },
      "message": "arch/tile: Fix a couple of issues with the COMPAT code for TILE-Gx.\n\nFirst, the siginfo preamble wasn\u0027t quite right; we need to indicate\nthat we are padding up to 4 ints of preamble for 64-bit code, and\nthen for compat mode we need to pad differently, using only 3 ints.\n\nSecond, the C ABI requires a save area of two registers, not two\npointers, since in compat mode we have 64-bit registers all of which\nwe need to save, even though we only have 32-bit VAs.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "749dc6f252b57d5cb9c1f4c1c4aafe4c92a28207",
      "tree": "1728f62b00935ecf9ac16bd9e3871f9d0e7ad75c",
      "parents": [
        "bc63de7c5bcc44b0098d09931f69a19e93d8a7ba"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Aug 13 08:24:22 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Aug 13 08:24:22 2010 -0400"
      },
      "message": "arch/tile: Use separate, better minsec values for clocksource and sched_clock.\n\nWe were using the same 5-sec minsec for the clocksource and sched_clock\nthat we were using for the clock_event_device.  For the clock_event_device\nthat\u0027s exactly right since it has a short maximum countdown time.\nBut for sched_clock we want to avoid wraparound when converting from\nticks to nsec over a much longer window, so we force a shift of 10.\nAnd for clocksource it seems dodgy to use a 5-sec minsec as well, so we\ncopy some other platforms and force a shift of 22.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "bc63de7c5bcc44b0098d09931f69a19e93d8a7ba",
      "tree": "7763679472e08b56a403bbcb9dffbc4b53620dcc",
      "parents": [
        "c45c1cd7bf4e997c74407dd29268d41d7adbb257"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Aug 13 08:23:07 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Aug 13 08:23:07 2010 -0400"
      },
      "message": "arch/tile: correct a bug in freeing bootmem by VA for the optional second initrd.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "a6fb72f1e9e9f1905746646fd1e40932336291da",
      "tree": "883428344ac594e4ca9f2e55d33ff0dc0348fb4c",
      "parents": [
        "fad9e93e5490e1f2c54f5e7c8418952bc55200a1"
      ],
      "author": {
        "name": "Andrea Gelmini",
        "email": "andrea.gelmini@gelma.net",
        "time": "Wed Aug 11 21:07:34 2010 +0200"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Aug 13 08:10:16 2010 -0400"
      },
      "message": "arch: tile: kernel/proc.c Removed duplicated #include\n\nSigned-off-by: Andrea Gelmini \u003candrea.gelmini@gelma.net\u003e\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "1c689cbcf2c2b7a35cd237abddd9206bb1b6fee1",
      "tree": "c8c8cf60bf54e6e0c57488fcdc7f86e9e3aacd6c",
      "parents": [
        "a2262d8a231e92742651859a10c9a4430a5e899a"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Fri Jul 16 20:13:02 2010 +0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Jul 16 13:37:14 2010 -0400"
      },
      "message": "arch/tile: check kmalloc() result\n\nIf kmalloc() fails exit with -ENOMEM.\n\nSigned-off-by: Kulikov Vasiliy \u003csegooon@gmail.com\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "bcd97c3f9a385e8e658a416cd72dd65ca0eeb544",
      "tree": "2398b89fa6edee2a81c99efd5c4e53feb18dceac",
      "parents": [
        "c6673cb54d191dd42935a61fcb0c452a4753fb23"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Jul 02 14:17:52 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Tue Jul 06 13:42:10 2010 -0400"
      },
      "message": "arch/tile: avoid erroneous error return for PTRACE_POKEUSR.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "0707ad30d10110aebc01a5a64fb63f4b32d20b73",
      "tree": "64d8ba73e605ac26e56808d1d77701b3f83cf8b2",
      "parents": [
        "c78095bd8c77fca2619769ff8efb639fd100e373"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Jun 25 17:04:17 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Tue Jul 06 13:41:51 2010 -0400"
      },
      "message": "arch/tile: Miscellaneous cleanup changes.\n\nThis commit is primarily changes caused by reviewing \"sparse\"\nand \"checkpatch\" output on our sources, so is somewhat noisy, since\nthings like \"printk() -\u003e pr_err()\" (or whatever) throughout the\ncodebase tend to get tedious to read.  Rather than trying to tease\napart precisely which things changed due to which type of code\nreview, this commit includes various cleanups in the code:\n\n- sparse: Add declarations in headers for globals.\n- sparse: Fix __user annotations.\n- sparse: Using gfp_t consistently instead of int.\n- sparse: removing functions not actually used.\n- checkpatch: Clean up printk() warnings by using pr_info(), etc.;\n  also avoid partial-line printks except in bootup code.\n  - checkpatch: Use exposed structs rather than typedefs.\n  - checkpatch: Change some C99 comments to C89 comments.\n\nIn addition, a couple of minor other changes are rolled in\nto this commit:\n\n- Add support for a \"raise\" instruction to cause SIGFPE, etc., to be raised.\n- Remove some compat code that is unnecessary when we fully eliminate\n  some of the deprecated syscalls from the generic syscall ABI.\n- Update the tile_defconfig to reflect current config contents.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "863fbac67138882b99fc60fcb0ec568bbad9a44f",
      "tree": "1457799a6258d9502111f1da45f55b917ace56db",
      "parents": [
        "9f9c0382cda2334b35b40b00f4ed9d6f89f37a7b"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Jun 25 17:02:05 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Tue Jul 06 13:40:56 2010 -0400"
      },
      "message": "arch/tile: Shrink the tile-opcode files considerably.\n\nThe C file (tile-desc_{32,64}.c) was about 300KB before this change,\nand is now shrunk down to 100K.  The original file included support\nfor BFD in the binutils toolchain, which is not necessary in the\nkernel; the kernel version only needs to include enough support to\nenable the single-stepper and backtracer.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "9f9c0382cda2334b35b40b00f4ed9d6f89f37a7b",
      "tree": "8d862fd0883343e8788f86b8f7d37823db0e19a5",
      "parents": [
        "fb702b942bf638baa6cbbbda9f76794db62921ef"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Jun 25 17:00:56 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Tue Jul 06 13:34:15 2010 -0400"
      },
      "message": "arch/tile: Add driver to enable access to the user dynamic network.\n\nThis network (the \"UDN\") connects all the cpus on the chip in a\nwormhole-routed dynamic network.  Subrectangles of the chip can\nbe allocated by a \"create\" ioctl on /dev/hardwall, and then to access the\nUDN in that rectangle, tasks must perform an \"activate\" ioctl on that\nsame file object after affinitizing themselves to a single cpu in\nthe region.  Sending a wormhole-routed message that tries to leave\nthat subrectangle causes all activated tasks to receive a SIGILL\n(just as they would if they tried to access the UDN without first\nactivating themselves to a hardwall rectangle).\n\nThe original submission of this code to LKML had the driver\ninstantiated under /proc/tile/hardwall.  Now we just use a character\ndevice for this, conventionally /dev/hardwall.  Some futures planning\nfor the TILE-Gx chip suggests that we may want to have other types of\ndevices that share the general model of \"bind a task to a cpu, then\n\u0027activate\u0027 a file descriptor on a pseudo-device that gives access to\nsome hardware resource\".  As such, we are using a device rather\nthan, for example, a syscall, to set up and activate this code.\n\nAs part of this change, the compat_ptr() declaration was fixed and used\nto pass the compat_ioctl argument to the normal ioctl.  So far we limit\ncompat code to 2GB, so the difference between zero-extend and sign-extend\n(the latter being correct, eventually) had been overlooked.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "fb702b942bf638baa6cbbbda9f76794db62921ef",
      "tree": "c065b0ab61cbb80b6209c725836a6864624b3c46",
      "parents": [
        "de5d9bf6541736dc7ad264d2b5cc99bc1b2ad958"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Jun 25 16:41:11 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Tue Jul 06 13:34:01 2010 -0400"
      },
      "message": "arch/tile: Enable more sophisticated IRQ model for 32-bit chips.\n\nThis model is based on the on-chip interrupt model used by the\nTILE-Gx next-generation hardware, and interacts much more cleanly\nwith the Linux generic IRQ layer.\n\nThe change includes modifications to the Tilera hypervisor, which\nare reflected in the hypervisor headers in arch/tile/include/arch/.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "139ef32b0e6b88b00b5e3e74d052d938f178dc9b",
      "tree": "0d3af3832ada74f2dae87de971bbd46fcbabf106",
      "parents": [
        "cc44826a26b12b2489bc7dbb597fcdf107f2cc01"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Jun 07 08:48:13 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Jun 07 09:29:59 2010 -0400"
      },
      "message": "Revert adding some arch-specific signal syscalls to \u003clinux/syscalls.h\u003e.\n\nIt turns out there is some variance on the calling conventions for\nthese syscalls, and \u003casm-generic/syscalls.h\u003e is already the mechanism\nused to handle this.  Switch arch/tile over to using that mechanism and\ntweak the calling conventions for a couple of tile syscalls to match\n\u003casm-generic/syscalls.h\u003e.\n\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "482e6f8466ab1066f1a969bcdbe916b56439622c",
      "tree": "52848e31bfc699437430d586b68e732250cbaf03",
      "parents": [
        "867e359b97c970a60626d5d76bbe2a8fadbf38fb"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Sat Jun 05 09:05:47 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Sat Jun 05 10:26:55 2010 -0400"
      },
      "message": "arch/tile: Do not use GFP_KERNEL for dma_alloc_coherent().\nFeedback from fujita.tomonori@lab.ntt.co.jp.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "867e359b97c970a60626d5d76bbe2a8fadbf38fb",
      "tree": "c5ccbb7f5172e8555977119608ecb1eee3cc37e3",
      "parents": [
        "5360bd776f73d0a7da571d72a09a03f237e99900"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri May 28 23:09:12 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Jun 04 17:11:18 2010 -0400"
      },
      "message": "arch/tile: core support for Tilera 32-bit chips.\n\nThis change is the core kernel support for TILEPro and TILE64 chips.\nNo driver support (except the console driver) is included yet.\n\nThis includes the relevant Linux headers in asm/; the low-level\nlow-level \"Tile architecture\" headers in arch/, which are\nshared with the hypervisor, etc., and are build-system agnostic;\nand the relevant hypervisor headers in hv/.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nReviewed-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    }
  ]
}
