)]}'
{
  "commit": "301feb652441a7168b59256fc44918075dcab0d5",
  "tree": "68721bebf1375659be165c4810bb439785d6e96f",
  "parents": [
    "58ea1aa07e3cb4674ab0261b45aa1ba68282a79d"
  ],
  "author": {
    "name": "David S. Miller",
    "email": "davem@sunset.davemloft.net",
    "time": "Sun Sep 16 11:51:15 2007 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@sunset.davemloft.net",
    "time": "Sun Sep 16 11:51:15 2007 -0700"
  },
  "message": "[SPARC64]: Fix lockdep, particularly on SMP.\n\nAs noted by Al Viro, when we try to call prom_set_trap_table()\nin the SMP trampoline code we try to take the PROM call spinlock\nwhich doesn\u0027t work because the current thread pointer isn\u0027t\nvalid yet and lockdep depends upon that being correct.\n\nFurthermore, we cannot set the current thread pointer register\nbecause it can\u0027t be properly dereferenced until we return from\nprom_set_trap_table().  Kernel TLB misses only work after that\ncall.\n\nSo do the PROM call to set the trap table directly instead of\ngoing through the OBP library C code, and thus avoid the lock\naltogether.\n\nThese calls are guarenteed to be serialized fully.\n\nSince there are now no calls to the prom_set_trap_table{_sun4v}()\nlibrary functions, they can be deleted.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "63144ad476f6663c1ab3ed98fd252503fc89ebdb",
      "old_mode": 33188,
      "old_path": "arch/sparc64/kernel/head.S",
      "new_id": "c4147ad8677b5307c4323ec06160b7fe541aa063",
      "new_mode": 33188,
      "new_path": "arch/sparc64/kernel/head.S"
    },
    {
      "type": "modify",
      "old_id": "9533a25ce5d2191f9ceb251695c0141acc78071c",
      "old_mode": 33188,
      "old_path": "arch/sparc64/kernel/trampoline.S",
      "new_id": "04e81dda13d008b83032cc2b251759a8fe4e8417",
      "new_mode": 33188,
      "new_path": "arch/sparc64/kernel/trampoline.S"
    },
    {
      "type": "modify",
      "old_id": "68c83ad04ad958651654e6439657206284ae5df8",
      "old_mode": 33188,
      "old_path": "arch/sparc64/prom/misc.c",
      "new_id": "bbec7522826c742bc6125dce589c3d2334590b05",
      "new_mode": 33188,
      "new_path": "arch/sparc64/prom/misc.c"
    },
    {
      "type": "modify",
      "old_id": "86dc5c018a197f0fdb3b36162ca468337bf8aa7a",
      "old_mode": 33188,
      "old_path": "include/asm-sparc64/oplib.h",
      "new_id": "55c5bb27e4da241cc1eae429f0ca36d1fb103dea",
      "new_mode": 33188,
      "new_path": "include/asm-sparc64/oplib.h"
    }
  ]
}
