)]}'
{
  "log": [
    {
      "commit": "89a6c8cb9e6e11b6e3671dce7e037789b8f7cf62",
      "tree": "12b16a8abe303fd86c156ddfbb86caa469e45a98",
      "parents": [
        "03c0c29aff7e56b722eb6c47eace222b140d0377",
        "3fa43aba08c5b5a4b407e402606fbe463239b14a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 05 15:59:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 05 15:59:48 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  debug_core,kdb: fix crash when arch does not have single step\n  kgdb,x86: use macro HBP_NUM to replace magic number 4\n  kgdb,mips: remove unused kgdb_cpu_doing_single_step operations\n  mm,kdb,kgdb: Add a debug reference for the kdb kmap usage\n  KGDB: Remove set but unused newPC\n  ftrace,kdb: Allow dumping a specific cpu\u0027s buffer with ftdump\n  ftrace,kdb: Extend kdb to be able to dump the ftrace buffer\n  kgdb,powerpc: Replace hardcoded offset by BREAK_INSTR_SIZE\n  arm,kgdb: Add ability to trap into debugger on notify_die\n  gdbstub: do not directly use dbg_reg_def[] in gdb_cmd_reg_set()\n  gdbstub: Implement gdbserial \u0027p\u0027 and \u0027P\u0027 packets\n  kgdb,arm: Individual register get/set for arm\n  kgdb,mips: Individual register get/set for mips\n  kgdb,x86: Individual register get/set for x86\n  kgdb,kdb: individual register set and and get API\n  gdbstub: Optimize kgdb\u0027s \"thread:\" response for the gdb serial protocol\n  kgdb: remove custom hex_to_bin()implementation\n"
    },
    {
      "commit": "6d855b1d83c980c1283d98d2d63a2bd3a87e21b7",
      "tree": "d510c23f3387520b027ba30403db5981e82d3e90",
      "parents": [
        "55751145dc1e08e16df418cdd101661f5c6ac991"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:22 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:22 2010 -0500"
      },
      "message": "gdbstub: do not directly use dbg_reg_def[] in gdb_cmd_reg_set()\n\nPresently the usable registers definitions on x86 are not contiguous\nfor kgdb.  The x86 kgdb uses a case statement for the sparse register\naccesses.  The array which defines the registers (dbg_reg_def) should\nnot be used directly in order to safely work with sparse register\ndefinitions.\n\nSpecifically there was a problem when gdb accesses ORIG_AX, which is\naccessed only through the case statement.\n\nThis patch encodes register memory using the size information provided\nfrom the debugger which avoids the need to look up the size of the\nregister.  The dbg_set_reg() function always further validates the\ninputs from the debugger.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Dongdong Deng \u003cdongdong.deng@windriver.com\u003e\n"
    },
    {
      "commit": "55751145dc1e08e16df418cdd101661f5c6ac991",
      "tree": "c166155b118da5768341e4678478c5dd508a2b17",
      "parents": [
        "22eeef4bb2a7fd225089c0044060ed1fbf091958"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:21 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:21 2010 -0500"
      },
      "message": "gdbstub: Implement gdbserial \u0027p\u0027 and \u0027P\u0027 packets\n\nThe gdbserial \u0027p\u0027 and \u0027P\u0027 packets allow gdb to individually get and\nset registers instead of querying for all the available registers.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "534af1082329392bc29f6badf815e69ae2ae0f4c",
      "tree": "e163c1d5c418334538447983b7d5934e05fa4d71",
      "parents": [
        "84a0bd5b2830722cf80ff6ad33ef98101a947e14"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:20 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:20 2010 -0500"
      },
      "message": "kgdb,kdb: individual register set and and get API\n\nThe kdb shell specification includes the ability to get and set\narchitecture specific registers by name.\n\nFor the time being individual register get and set will be implemented\non a per architecture basis.  If an architecture defines\nDBG_MAX_REG_NUM \u003e 0 then kdb and the gdbstub will use the capability\nfor individually getting and setting architecture specific registers.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "84a0bd5b2830722cf80ff6ad33ef98101a947e14",
      "tree": "942f596d5a6b48bde181ed2ab063d697a0f2e73d",
      "parents": [
        "a9fa20a7af1f152d2d89c44c274a310ac654e3ad"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:19 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:19 2010 -0500"
      },
      "message": "gdbstub: Optimize kgdb\u0027s \"thread:\" response for the gdb serial protocol\n\nThe gdb debugger understands how to parse short versions of the thread\nreference string as long as the bytes are paired in sets of two\ncharacters.  The kgdb implementation was always sending 8 leading\nzeros which could be omitted, and further optimized in the case of\nnon-negative thread numbers.  The negative numbers are used to\nreference a specific cpu in the case of kgdb.\n\nAn example of the previous i386 stop packet looks like:\n    T05thread:00000000000003bb;\n\nNew stop packet response:\n    T05thread:03bb;\n\nThe previous ThreadInfo response looks like:\n    m00000000fffffffe,0000000000000001,0000000000000002,0000000000000003,0000000000000004,0000000000000005,0000000000000006,0000000000000007,000000000000000c,0000000000000088,000000000000008a,000000000000008b,000000000000008c,000000000000008d,000000000000008e,00000000000000d4,00000000000000d5,00000000000000dd\n\nNew ThreadInfo response:\n    mfffffffe,01,02,03,04,05,06,07,0c,88,8a,8b,8c,8d,8e,d4,d5,dd\n\nA few bytes saved means better response time when using kgdb over a\nserial line.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "a9fa20a7af1f152d2d89c44c274a310ac654e3ad",
      "tree": "bc6f6ef6c3081a7ae4bbc27b21d146e2b82a8279",
      "parents": [
        "9fe6206f400646a2322096b56c59891d530e8d51"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "ext-andriy.shevchenko@nokia.com",
        "time": "Thu Aug 05 09:22:19 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:19 2010 -0500"
      },
      "message": "kgdb: remove custom hex_to_bin()implementation\n\nSigned-off-by: Andy Shevchenko \u003cext-andriy.shevchenko@nokia.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f",
      "tree": "854ab394486288d40fa8179cbfaf66e8bdc44b0f",
      "parents": [
        "73b2c7165b76b20eb1290e7efebc33cfd21db1ca",
        "3a09b1be53d23df780a0cd0e4087a05e2ca4a00c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "fb82c0ff27b2c40c6f7a3d1a94cafb154591fa80",
      "tree": "98e49fdc15e9db7eb45e91571ca6187f9a5cf516",
      "parents": [
        "1396a21ba0d4ec381db19bc9cd5b6f25a89cf633"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:05 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:05 2010 -0500"
      },
      "message": "repair gdbstub to match the gdbserial protocol specification\n\nThe gdbserial protocol handler should return an empty packet instead\nof an error string when ever it responds to a command it does not\nimplement.\n\nThe problem cases come from a debugger client sending\nqTBuffer, qTStatus, qSearch, qSupported.\n\nThe incorrect response from the gdbstub leads the debugger clients to\nnot function correctly.  Recent versions of gdb will not detach correctly as a result of this behavior.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Dongdong Deng \u003cdongdong.deng@windriver.com\u003e\n"
    },
    {
      "commit": "a2531293dbb7608fa672ff28efe3ab4027917a2f",
      "tree": "017d5a38fa33838ebdca1a332db6887096885d2d",
      "parents": [
        "7a53cd16d4d9968d1962e378b14eec2d99aa43e0"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sun Jul 18 14:27:13 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jul 19 10:56:54 2010 +0200"
      },
      "message": "update email address\n\npavel@suse.cz no longer works, replace it with working address.\n\nSigned-off-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "a0de055cf61338549b13079a5677ef2e1b6472ef",
      "tree": "6191bbd6b3d567350b12ad973356995dbeffeeb3",
      "parents": [
        "6d45a1aed34b0cd7b298967eb9cb72b77afcb33b"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:24 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:24 2010 -0500"
      },
      "message": "kgdb: gdb \"monitor\" -\u003e kdb passthrough\n\nOne of the driving forces behind integrating another front end (kdb)\nto the debug core is to allow front end commands to be accessible via\ngdb\u0027s monitor command.  It is true that you could write gdb macros to\nget certain data, but you may want to just use gdb to access the\ncommands that are available in the kdb front end.\n\nThis patch implements the Rcmd gdb stub packet.  In gdb you access\nthis with the \"monitor\" command.  For instance you could type \"monitor\nhelp\", \"monitor lsmod\" or \"monitor ps A\" etc...\n\nThere is no error checking or command restrictions on what you can and\ncannot access at this point.  Doing something like trying to set\nbreakpoints with the monitor command is going to cause nothing but\nproblems.  Perhaps in the future only the commands that are actually\nknown to work with the gdb monitor command will be available.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "f5316b4aea024da9266d740322a5481657f6ce59",
      "tree": "5888fd0afa54fc3bab2711e583147c4b563836bc",
      "parents": [
        "dcc7871128e99458ca86186b7bc8bf27ff0c47b5"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:22 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:22 2010 -0500"
      },
      "message": "kgdb,8250,pl011: Return immediately from console poll\n\nThe design of the kdb shell requires that every device that can\nprovide input to kdb have a polling routine that exits immediately if\nthere is no character available.  This is required in order to get the\npage scrolling mechanism working.\n\nChanging the kernel debugger I/O API to require all polling character\nroutines to exit immediately if there is no data allows the kernel\ndebugger to process multiple input channels.\n\nNO_POLL_CHAR will be the return code to the polling routine when ever\nthere is no character available.\n\nCC: linux-serial@vger.kernel.org\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "dcc7871128e99458ca86186b7bc8bf27ff0c47b5",
      "tree": "e10d252ccc4e990aac7dd09f44b94cfe045adc6b",
      "parents": [
        "67fc4e0cb931d6b4ccf21248e4199b154478ecea"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:21 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:21 2010 -0500"
      },
      "message": "kgdb: core changes to support kdb\n\nThese are the minimum changes to the kgdb core in order to enable an\nAPI to connect a new front end (kdb) to the debug core.\n\nThis patch introduces the dbg_kdb_mode variable controls where the\nuser level I/O is routed.  It will be routed to the gdbstub (kgdb) or\nto the kdb front end which is a simple shell available over the kgdboc\nconnection.\n\nYou can switch back and forth between kdb or the gdb stub mode of\noperation dynamically.  From gdb stub mode you can blindly type\n\"$3#33\", or from the kdb mode you can enter \"kgdb\" to switch to the\ngdb stub.\n\nThe logic in the debug core depends on kdb to look for the typical gdb\nconnection sequences and return immediately with KGDB_PASS_EVENT if a\ngdb serial command sequence is detected.  That should allow a\nreasonably seamless transition between kdb -\u003e gdb without leaving the\nkernel exception state.  The two gdb serial queries that kdb is\nresponsible for detecting are the \"?\" and \"qSupported\" packets.\n\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Martin Hicks \u003cmort@sgi.com\u003e\n"
    },
    {
      "commit": "53197fc49549240f6c6a963b2713a4cd9517964b",
      "tree": "5a89c338ef8acd188e4aa1503370a4e928c33edd",
      "parents": [
        "c433820971ffa854feda6adc17f5f24201354f11"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Apr 02 11:48:03 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:19 2010 -0500"
      },
      "message": "Separate the gdbstub from the debug core\n\nSplit the former kernel/kgdb.c into debug_core.c which contains the\nkernel debugger exception logic and to the gdbstub.c which contains\nthe logic for allowing gdb to talk to the debug core.\n\nThis also created a private include file called debug_core.h which\ncontains all the definitions to glue the debug_core to any other\ndebugger connections.\n\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    }
  ]
}
