)]}'
{
  "commit": "64e9ee3095b61d0300ea548216a57d2536611309",
  "tree": "21cf21caafa18b5661ceeaeb4d29e2ed784d0345",
  "parents": [
    "67baf94cd260dc37504dbd15ba3faa2d8cf8a444"
  ],
  "author": {
    "name": "Jason Wessel",
    "email": "jason.wessel@windriver.com",
    "time": "Fri Feb 15 14:55:56 2008 -0600"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Thu Apr 17 20:05:39 2008 +0200"
  },
  "message": "kgdb: add x86 HW breakpoints\n\nAdd HW breakpoints into the arch specific portion of x86 kgdb.  In the\ncurrent x86 kernel.org kernels HW breakpoints are changed out in lazy\nfashion because there is no infrastructure around changing them when\nchanging to a kernel task or entering the kernel mode via a system\ncall.  This lazy approach means that if a user process uses HW\nbreakpoints the kgdb will loose out.  This is an acceptable trade off\nbecause the developer debugging the kernel is assumed to know what is\ngoing on system wide and would be aware of this trade off.\n\nThere is a minor bug fix to the kgdb core so as to correctly call the\nhw breakpoint functions with a valid value from the enum.\n\nThere is also a minor change to the x86_64 startup code when using\nearly HW breakpoints.  When the debugger is connected, the cpu startup\ncode must not zero out the HW breakpoint registers or you cannot hit\nthe breakpoints you are interested in, in the first place.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5d7a21119bf83af40387da7dfdc386e3f9cc3e7d",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/kgdb.c",
      "new_id": "7d651adcb22273467fd54a07cc47d91bd2ca1c40",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/kgdb.c"
    },
    {
      "type": "modify",
      "old_id": "e24c4567709456f89d52f1a49221395c4bd5c39c",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/setup64.c",
      "new_id": "143aa78c566b4a3101f83f8eac124fd24b0e7acc",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/setup64.c"
    },
    {
      "type": "modify",
      "old_id": "319c08c92ee2c537d5ec1b09fdf6d1a0ab110217",
      "old_mode": 33188,
      "old_path": "kernel/kgdb.c",
      "new_id": "68aea78407e4be3fb1c27f42af3918faff0a9859",
      "new_mode": 33188,
      "new_path": "kernel/kgdb.c"
    }
  ]
}
