)]}'
{
  "commit": "5aae8a53708025d4e718f0d2e7c2f766779ddc71",
  "tree": "d151e2c29e78248cee620cf5094a15316abd17d2",
  "parents": [
    "f7136c5150c29846d7a1d09109449d96b2f63445"
  ],
  "author": {
    "name": "K.Prasad",
    "email": "prasad@linux.vnet.ibm.com",
    "time": "Tue Jun 15 11:35:19 2010 +0530"
  },
  "committer": {
    "name": "Paul Mackerras",
    "email": "paulus@samba.org",
    "time": "Tue Jun 22 19:40:50 2010 +1000"
  },
  "message": "powerpc, hw_breakpoints: Implement hw_breakpoints for 64-bit server processors\n\nImplement perf-events based hw-breakpoint interfaces for PowerPC\n64-bit server (Book III S) processors.  This allows access to a\ngiven location to be used as an event that can be counted or\nprofiled by the perf_events subsystem.\n\nThis is done using the DABR (data breakpoint register), which can\nalso be used for process debugging via ptrace.  When perf_event\nhw_breakpoint support is configured in, the perf_event subsystem\nmanages the DABR and arbitrates access to it, and ptrace then\ncreates a perf_event when it is requested to set a data breakpoint.\n\n[Adopted suggestions from Paul Mackerras \u003cpaulus@samba.org\u003e to\n- emulate_step() all system-wide breakpoints and single-step only the\n  per-task breakpoints\n- perform arch-specific cleanup before unregistration through\n  arch_unregister_hw_breakpoint()\n]\n\nSigned-off-by: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "328774bd41ee171706de902d5640721bfc49b0d2",
      "old_mode": 33188,
      "old_path": "arch/powerpc/Kconfig",
      "new_id": "7949afc861ddb286dff6a8e447776b086cebb40f",
      "new_mode": 33188,
      "new_path": "arch/powerpc/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "b0b21134f61a8f6fb30305b46d4f2cd07aae132f",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/cputable.h",
      "new_id": "5e2e2cfcc81b5014737947c566a1670bae3d9735",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/cputable.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b111713b593e8c91412906cbb33af5169c9864c9",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/hw_breakpoint.h"
    },
    {
      "type": "modify",
      "old_id": "7492fe8ad6e400e43f80faf6da0c62c6226d8db2",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/processor.h",
      "new_id": "19c05b0f74bedb30ea4beddaba9ff005b3d6f2e1",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/processor.h"
    },
    {
      "type": "modify",
      "old_id": "58d0572de6f9b13f4b74035d323cefc83b8dce04",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/Makefile",
      "new_id": "01006040f59ebc2d02c640c06a62aa04c35a512a",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/Makefile"
    },
    {
      "type": "modify",
      "old_id": "3e423fbad6bcd40b82226002466f1ff911f2c437",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/exceptions-64s.S",
      "new_id": "f53029a01554ca3ce86a9e1983b048335f7383f0",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/exceptions-64s.S"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7a2ad5e84c16c6ebc3ecc988d83a54ddcd5466e0",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/hw_breakpoint.c"
    },
    {
      "type": "modify",
      "old_id": "26f9900f773cb2e17634538f1674882c0cd7447b",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/machine_kexec_64.c",
      "new_id": "6c7c546aa1be793b3ae30f9ca0e82f09362aba76",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/machine_kexec_64.c"
    },
    {
      "type": "modify",
      "old_id": "9d255b4f0a0ec72678bbad3787d596a8c6be13d1",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/process.c",
      "new_id": "cbf3521d50b6c4773481172bd30d33a08657fe78",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/process.c"
    },
    {
      "type": "modify",
      "old_id": "7a0c0199ea28aeba289078943d3d18114dc2be6e",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/ptrace.c",
      "new_id": "11f3cd9c832f6c25fc97b4666fda60eeaaf8e1bd",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/ptrace.c"
    },
    {
      "type": "modify",
      "old_id": "7581dbffa18e4dbc2e03644553e6ba97f66bcb1e",
      "old_mode": 33188,
      "old_path": "arch/powerpc/lib/Makefile",
      "new_id": "a52ed2e47ac6c86db6d4ba2ef164e56c6dc57e16",
      "new_mode": 33188,
      "new_path": "arch/powerpc/lib/Makefile"
    }
  ]
}
