)]}'
{
  "log": [
    {
      "commit": "b62ad9ab181a67207a4c8c373461b587c4861a68",
      "tree": "ace1572964d81f5f9bbc10b7960c1f742832d744",
      "parents": [
        "af390084359a5de20046c901529b2b6a50b941cb",
        "b29230769e3482bbd62a07d6d9485371ee66a18f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 13:18:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 13:18:29 2010 -0700"
      },
      "message": "Merge branch \u0027timers-timekeeping-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-timekeeping-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  um: Fix read_persistent_clock fallout\n  kgdb: Do not access xtime directly\n  powerpc: Clean up obsolete code relating to decrementer and timebase\n  powerpc: Rework VDSO gettimeofday to prevent time going backwards\n  clocksource: Add __clocksource_updatefreq_hz/khz methods\n  x86: Convert common clocksources to use clocksource_register_hz/khz\n  timekeeping: Make xtime and wall_to_monotonic static\n  hrtimer: Cleanup direct access to wall_to_monotonic\n  um: Convert to use read_persistent_clock\n  timkeeping: Fix update_vsyscall to provide wall_to_monotonic offset\n  powerpc: Cleanup xtime usage\n  powerpc: Simplify update_vsyscall\n  time: Kill off CONFIG_GENERIC_TIME\n  time: Implement timespec_add\n  x86: Fix vtime/file timestamp inconsistencies\n\nTrivial conflicts in Documentation/feature-removal-schedule.txt\n\nMuch less trivial conflicts in arch/powerpc/kernel/time.c resolved as\nper Thomas\u0027 earlier merge commit 47916be4e28c (\"Merge branch\n\u0027powerpc.cherry-picks\u0027 into timers/clocksource\")\n"
    },
    {
      "commit": "9779714c8af09d57527f18d9aa2207dcc27a8687",
      "tree": "52182f2289d9b7a77fbe119f4cd5726ef6494e66",
      "parents": [
        "89a6c8cb9e6e11b6e3671dce7e037789b8f7cf62",
        "65b5ac1479840a3e87f086d68e5ef91f3002e8e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 05 16:00:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 05 16:00:44 2010 -0700"
      },
      "message": "Merge branch \u0027kms-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027kms-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdb,docs: Update the kgdb docs to include kms\n  drm_fb_helper: Preserve capability to use atomic kms\n  i915: when kgdb is active display compression should be off\n  drm/i915: use new fb debug hooks\n  drm: add KGDB/KDB support\n  fb: add hooks to handle KDB enter/exit\n  kgdboc: Add call backs to allow kernel mode switching\n  vt,console,kdb: automatically set kdb LINES variable\n  vt,console,kdb: implement atomic console enter/leave functions\n"
    },
    {
      "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": "81d4450732c68aa728f2c86c0c2993c6cfc3d032",
      "tree": "c332675648080d38e9f461286274534a16e7346b",
      "parents": [
        "b45cfba4e9005d64d419718e7ff7f7cab44c1994"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:30 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:30 2010 -0500"
      },
      "message": "vt,console,kdb: automatically set kdb LINES variable\n\nThe kernel console interface stores the number of lines it is\nconfigured to use. The kdb debugger can greatly benefit by knowing how\nmany lines there are on the console for the pager functionality\nwithout having the end user compile in the setting or have to\nrepeatedly change it at run time.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCC: David Airlie \u003cairlied@linux.ie\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3fa43aba08c5b5a4b407e402606fbe463239b14a",
      "tree": "83c6b8a61a1c8a8795504217518300417c49c6a6",
      "parents": [
        "df4939350b345ebb44937902827aa75b8ad4998c"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:25 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:25 2010 -0500"
      },
      "message": "debug_core,kdb: fix crash when arch does not have single step\n\nWhen an arch such as mips and microblaze does not implement either HW\nor software single stepping the debug core should re-enter kdb.  The\nkdb code will properly ignore the single step operation.  Attempting\nto single step the kernel without software or hardware support causes\nunpredictable kernel crashes.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\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": "157b1a23856b9fb7cc3d19fa2ddc650b502bab3d",
      "tree": "6123509f303e4e7d944201de682e2f5b5b4c99d7",
      "parents": [
        "47916be4e28c3d6fdb97dd8fb887d1d9b3145b9d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jul 29 10:22:48 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jul 29 10:29:39 2010 +0200"
      },
      "message": "kgdb: Do not access xtime directly\n\nThe xtime cleanup missed the kgdb access to xtime. Fix it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "edd63cb6b91024332d6983fc51058ac1ef0c081e",
      "tree": "2df04fc5dc35899aa7d4f4c52197f7b492c16c8b",
      "parents": [
        "b0679c63db655fa12007558e267bc0eb1d486fdb"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:07 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:07 2010 -0500"
      },
      "message": "sysrq,kdb: Use __handle_sysrq() for kdb\u0027s sysrq function\n\nThe kdb code should not toggle the sysrq state in case an end user\nwants to try and resume the normal kernel execution.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "b0679c63db655fa12007558e267bc0eb1d486fdb",
      "tree": "b210de833621055d02c2114b77d419f09ea73a36",
      "parents": [
        "9e8b624fcaebf9c237b5be9116f4424bf168e6d1"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:07 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:07 2010 -0500"
      },
      "message": "debug_core,kdb: fix kgdb_connected bit set in the wrong place\n\nImmediately following an exit from the kdb shell the kgdb_connected\nvariable should be set to zero, unless there are breakpoints planted.\nIf the kgdb_connected variable is not zeroed out with kdb, it is\nimpossible to turn off kdb.\n\nThis patch is merely a work around for now, the real fix will check\nfor the breakpoints.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "9e8b624fcaebf9c237b5be9116f4424bf168e6d1",
      "tree": "9c46796acdbb4bbfe6adbf89bc731dd6eb0adf19",
      "parents": [
        "fb82c0ff27b2c40c6f7a3d1a94cafb154591fa80"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:06 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:06 2010 -0500"
      },
      "message": "Fix merge regression from external kdb to upstream kdb\n\nIn the process of merging kdb to the mainline, the kdb lsmod command\nstopped printing the base load address of kernel modules.  This is\nneeded for using kdb in conjunction with external tools such as gdb.\n\nSimply restore the functionality by adding a kdb_printf for the base\nload address of the kernel modules.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\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": "1396a21ba0d4ec381db19bc9cd5b6f25a89cf633",
      "tree": "09bbe851de6b70d1896d0a72f832b21d98331d9d",
      "parents": [
        "d0c6f6258478e1dba532bf7c28e2cd6e1047d3a4"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.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": "kdb: break out of kdb_ll() when command is terminated\n\nWithout this patch the \"ll\" linked-list traversal command won\u0027t\nterminate when you hit q/Q.\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@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": "c8e21ced08b39ef8dfe7236fb2a923a95f645262",
      "tree": "da34400daf3049814b459b9c8ba507d90abfe2bc",
      "parents": [
        "2c02dfe7fe3fba97a5665d329d039d2415ea5607"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:35 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:36 2010 +0930"
      },
      "message": "module: fix kdb\u0027s illicit use of struct module_use.\n\nLinus changed the structure, and luckily this didn\u0027t compile any more.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Martin Hicks \u003cmort@sgi.com\u003e\n"
    },
    {
      "commit": "0b4b3827db386ec6034a5aba1261025b039440c2",
      "tree": "a3469de6930fe3e850c8e4c49c26a2a3b53612dd",
      "parents": [
        "29c843912a0baa7fa63033fe28e1ca7e796686a5"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:29 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:29 2010 -0500"
      },
      "message": "x86, kgdb, init: Add early and late debug states\n\nThe kernel debugger can operate well before mm_init(), but the x86\nhardware breakpoint code which uses the perf api requires that the\nkernel allocators are initialized.\n\nThis means the kernel debug core needs to provide an optional arch\nspecific call back to allow the initialization functions to run after\nthe kernel has been further initialized.\n\nThe kdb shell already had a similar restriction with an early\ninitialization and late initialization.  The kdb_init() was moved into\nthe debug core\u0027s version of the late init which is called\ndbg_late_init();\n\nCC: kgdb-bugreport@lists.sourceforge.net\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "4402c153cb9c549cd21d6007ef0dfac50c8d148d",
      "tree": "2a2589958e3d5243b265ba2a9fb6f5f2ecb33b57",
      "parents": [
        "5b778dadcde0d93eb20a67bad8105b6ed8d7810f"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:28 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:28 2010 -0500"
      },
      "message": "kdb,debug_core: Allow the debug core to receive a panic notification\n\nIt is highly desirable to trap into kdb on panic.  The debug core will\nattempt to register as the first in line for the panic notifier.\n\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "6d90634076200af035f1d9dcc8fc11acefd603e9",
      "tree": "f56c723a28006df0425bf662c15e2a3503b9065a",
      "parents": [
        "d37d39ae3b4a8f9a21114921fb344fe7cadb1abd"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:27 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:27 2010 -0500"
      },
      "message": "debug_core,kdb: Allow the debug core to process a recursive debug entry\n\nThis allows kdb to debug a crash with in the kms code with a\nsingle level recursive re-entry.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "d37d39ae3b4a8f9a21114921fb344fe7cadb1abd",
      "tree": "2c20219725a12c343429758ec378b5c9d08b04bd",
      "parents": [
        "efe2f29e324fd20e0449bcd6dc6dbe4734c2ba94"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:27 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:27 2010 -0500"
      },
      "message": "printk,kdb: capture printk() when in kdb shell\n\nCertain calls from the kdb shell will call out to printk(), and any of\nthese calls should get vectored back to the kdb_printf() so that the\nkdb pager and processing can be used, as well as to properly channel\nI/O to the polled I/O devices.\n\nCC: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "efe2f29e324fd20e0449bcd6dc6dbe4734c2ba94",
      "tree": "ff8b2d7eddbfee39aebf7a43c6125202b6bda6d7",
      "parents": [
        "1cee5e35f15d0893be1ba944f1aec8676e43ab76"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:26 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:26 2010 -0500"
      },
      "message": "kgdboc,kdb: Allow kdb to work on a non open console port\n\nIf kdb is open on a serial port that is not actually a console make\nsure to call the poll routines to emit and receive characters.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Martin Hicks \u003cmort@sgi.com\u003e\n"
    },
    {
      "commit": "1cee5e35f15d0893be1ba944f1aec8676e43ab76",
      "tree": "634f5365300cfb555c8e894ade79735bb91a690e",
      "parents": [
        "5dd11d5d47d248850c58292513f0e164ba98b01e"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jun 03 14:06:57 2009 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:26 2010 -0500"
      },
      "message": "kgdb: Add the ability to schedule a breakpoint via a tasklet\n\nSome kgdb I/O modules require the ability to create a breakpoint\ntasklet, such as kgdboc and external modules such as kgdboe.  The\nbreakpoint tasklet is used as an asynchronous entry point into the\ndebugger which will have a different function scope than the current\nexecution path where it might not be safe to have an inline\nbreakpoint.  This is true of some of the kgdb I/O drivers which share\ncode with kgdb and rest of the kernel users.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "f503b5ae53cb557ac351a668fcac1baab1cef0db",
      "tree": "b2deb02cec90cb18a075b3a49e6de949db374c77",
      "parents": [
        "98ec1878cacb393975cba64f7392eece81716cb4"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:25 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:25 2010 -0500"
      },
      "message": "x86,kgdb: Add low level debug hook\n\nThe only way the debugger can handle a trap in inside rcu_lock,\nnotify_die, or atomic_notifier_call_chain without a triple fault is\nto have a low level \"first opportunity handler\" in the int3 exception\nhandler.\n\nGenerally this will be something the vast majority of folks will not\nneed, but for those who need it, it is added as a kernel .config\noption called KGDB_LOW_LEVEL_TRAP.\n\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: H. Peter Anvin \u003chpa@zytor.com\u003e\nCC: x86@kernel.org\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "98ec1878cacb393975cba64f7392eece81716cb4",
      "tree": "e56110f645daf77ef0a6b3206926915f11d52e78",
      "parents": [
        "84c08fd61e2d21702337e9fe366e97cdf09bf797"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Apr 27 10:58:06 2009 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:25 2010 -0500"
      },
      "message": "kgdb: remove post_primary_code references\n\nRemove all the references to the kgdb_post_primary_code.  This\nfunction serves no useful purpose because you can obtain the same\ninformation from the \"struct kgdb_state *ks\" from with in the\ndebugger, if for some reason you want the data.\n\nAlso remove the unintentional duplicate assignment for ks-\u003eex_vector.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "ada64e4c98eb5f04a9ca223c5ff9e7ac22ce6404",
      "tree": "48e284cf69157cf54302dcceb01ad7a07b889206",
      "parents": [
        "a0de055cf61338549b13079a5677ef2e1b6472ef"
      ],
      "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": "kgdboc,keyboard: Keyboard driver for kdb with kgdb\n\nThis patch adds in the kdb PS/2 keyboard driver.  This was mostly a\ndirect port from the original kdb where I cleaned up the code against\ncheckpatch.pl and added the glue to stitch it into kgdb.\n\nThis patch also enables early kdb debug via kgdbwait and the keyboard.\n\nAll the access to configure kdb using either a serial console or the\nkeyboard is done via kgdboc.\n\nIf you want to use only the keyboard and want to break in early you\nwould add to your kernel command arguments:\n\n    kgdboc\u003dkbd kgdbwait\n\nIf you wanted serial and or the keyboard access you could use:\n\n    kgdboc\u003dkbd,ttyS0\n\nYou can also configure kgdboc as a kernel module or at run time with\nthe sysfs where you can activate and deactivate kgdb.\n\nTurn it on:\n    echo kbd,ttyS0 \u003e /sys/module/kgdboc/parameters/kgdboc\n\nTurn it off:\n    echo \"\" \u003e /sys/module/kgdboc/parameters/kgdboc\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nReviewed-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\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": "5d5314d6795f3c1c0f415348ff8c51f7de042b77",
      "tree": "2f433649d29be98ebc975f352b7d7046a2a2beec",
      "parents": [
        "e8861129d3c1a64e3c62f459aeb1cd54a55ab045"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:20 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:20 2010 -0500"
      },
      "message": "kdb: core for kgdb back end (1 of 2)\n\nThis patch contains only the kdb core.  Because the change set was\nlarge, it was split.  The next patch in the series includes the\ninstrumentation into the core kernel which are mainly helper functions\nfor kdb.\n\nThis work is directly derived from kdb v4.4 found at:\n\nftp://oss.sgi.com/projects/kdb/download/v4.4/\n\nThe kdb internals have been re-organized to make them mostly platform\nindependent and to connect everything to the debug core which is used by\ngdbstub (which has long been known as kgdb).\n\nThe original version of kdb was 58,000 lines worth of changes to\nsupport x86.  From that implementation only the kdb shell, and basic\ncommands for memory access, runcontrol, lsmod, and dmesg where carried\nforward.\n\nThis is a generic implementation which aims to cover all the current\narchitectures using the kgdb core: ppc, arm, x86, mips, sparc, sh and\nblackfin.  More archictectures can be added by implementing the\narchitecture specific kgdb functions.\n\n[mort@sgi.com: Compile fix with hugepages enabled]\n[mort@sgi.com: Clean breakpoint code renaming kdba_ -\u003e kdb_]\n[mort@sgi.com: fix new line after printing registers]\n[mort@sgi.com: Remove the concept of global vs. local breakpoints]\n[mort@sgi.com: Rework kdb_si_swapinfo to use more generic name]\n[mort@sgi.com: fix the information dump macros, remove \u0027arch\u0027 from the names]\n[sfr@canb.auug.org.au: include fixup to include linux/slab.h]\n\nCC: linux-arch@vger.kernel.org\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-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"
    },
    {
      "commit": "c433820971ffa854feda6adc17f5f24201354f11",
      "tree": "efb8028cc56e36eeade40d3a96bb461a242bab51",
      "parents": [
        "a0fe3cc5d36a5f5b4f60abfe1a4b1caf4a5cce5a"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue May 19 07:49:32 2009 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:18 2010 -0500"
      },
      "message": "Move kernel/kgdb.c to kernel/debug/debug_core.c\n\nMove kgdb.c in preparation to separate the gdbstub from the debug\ncore and exception handling.\n\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    }
  ]
}
