)]}'
{
  "log": [
    {
      "commit": "5dd11d5d47d248850c58292513f0e164ba98b01e",
      "tree": "fd3c5f27dd40d6a483483de3644ca060a5cafd75",
      "parents": [
        "ba797b28131b1f1367b662936ea370239d603cff"
      ],
      "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": "mips,kgdb: kdb low level trap catch and stack trace\n\nThe only way the debugger can handle a trap in inside rcu_lock,\nnotify_die, or atomic_notifier_call_chain without a recursive fault is\nto have a low level \"first opportunity handler\" do_trap_or_bp() handler.\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\nAlso added was a die notification for oops such that kdb can catch an\noops for analysis.\n\nThere appeared to be no obvious way to pass the struct pt_regs from\nthe original exception back to the stack back tracer, so a special\ncase was added to show_stack() for when kdb is active because you\ngenerally desire to generally look at the back trace of the original\nexception.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\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": "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": "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": "5f5ddfb3605d2a4f555a7ff034859e623eafcd27",
      "tree": "f3a79d9f0ba631ed8d5e10560ab6cca2debe2f65",
      "parents": [
        "94ad374a0751f40d25e22e036c37f7263569d24c"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Aug 01 08:39:34 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Aug 01 08:39:34 2008 -0500"
      },
      "message": "kgdb: remove the requirement for CONFIG_FRAME_POINTER\n\nThere is no technical reason that the kgdb core requires frame\npointers.  It is up to the end user of KGDB to decide if they need\nthem or not.\n\n[ anemo@mba.ocn.ne.jp: removed frame pointers on mips ]\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "68afab1cb31436fc9b256a5f44771fa58ed019e2",
      "tree": "0c595cf25818cc983b218a8165788fb8c8889fc6",
      "parents": [
        "c010b2f76c3032e48097a6eef291d8593d5d79a6"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 23 11:30:15 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 23 11:30:15 2008 -0500"
      },
      "message": "kgdb: remove unused HAVE_ARCH_KGDB_SHADOW_INFO config variable\n\nRemove HAVE_ARCH_KGDB_SHADOW_INFO because it does not\nexist anywhere in the kernel mainline sources\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "e024cbd257efc2788b7d21b9353e966267485c87",
      "tree": "bc4b1c7450a2ab892924b8f4e733c27a528e9413",
      "parents": [
        "688b744d8bc84dc5cc646e97509113dc5e8818ed"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Fri Apr 25 18:35:29 2008 +0200"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon May 05 07:13:21 2008 -0500"
      },
      "message": "kgdb: kconfig fix xconfig/menuconfig element\n\nKconfig.kgdb: fix menuconfig element\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "974460c5bfd9f6c38aa3dda189a63f9fc351035f",
      "tree": "fbfe9c79956e5fb31ff3da72b628d72d31d5f453",
      "parents": [
        "e3e2aaf7dc0d82a055e084cfd48b9257c0c66b68"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 20 13:43:44 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:43 2008 +0200"
      },
      "message": "kgdb: allow static kgdbts boot configuration\n\nThis patch adds in the ability to compile the kgdb internal test\nstring into the kernel so as to run the tests at boot without changing\nthe kernel boot arguments.  This patch also changes all the error\npaths to invoke WARN_ON(1) which will emit the line number of the file\nand dump the kernel stack when an error occurs.\n\nYou can disable the tests in a kernel that is built this way\nusing \"kgdbts\u003d\"\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e8d31c204e36e019b9134f2a11926cac0fcf9b19",
      "tree": "2720c1deadb6e57981254ec4120624b8a24dfdcf",
      "parents": [
        "737a460f21febe551ff1d2299b63bae9b154078f"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Mar 07 16:34:17 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:42 2008 +0200"
      },
      "message": "kgdb: add kgdb internal test suite\n\nThis patch adds regression tests for testing the kgdb core and arch\nspecific implementation.\n\nThe kgdb test suite is designed to be built into the kernel and not as\na module because it uses a number of low level kernel and kgdb\nprimitives which should not be exported externally.\n\nThe kgdb test suite is designed as a KGDB I/O module which\nsimulates the communications that a debugger would have with kgdb.\nThe tests are broken up in to a line by line and referenced here as\na \"get\" which is kgdb requesting input and \"put\" which is kgdb\nsending a response.\n\nThe kgdb suite can be invoked from the kernel command line\narguments system or executed dynamically at run time.  The test\nsuite uses the variable \"kgdbts\" to obtain the information about\nwhich tests to run and to configure the verbosity level.  The\nfollowing are the various characters you can use with the kgdbts\u003d\nline:\n\nWhen using the \"kgdbts\u003d\" you only choose one of the following core\ntest types:\nA \u003d Run all the core tests silently\nV1 \u003d Run all the core tests with minimal output\nV2 \u003d Run all the core tests in debug mode\n\nYou can also specify optional tests:\nN## \u003d Go to sleep with interrupts of for ## seconds\n      to test the HW NMI watchdog\nF## \u003d Break at do_fork for ## iterations\nS## \u003d Break at sys_open for ## iterations\n\nNOTE: that the do_fork and sys_open tests are mutually exclusive.\n\nTo invoke the kgdb test suite from boot you use a kernel start\nargument as follows:\n\tkgdbts\u003dV1 kgdbwait\nOr if you wanted to perform the NMI test for 6 seconds and do_fork\ntest for 100 forks, you could use:\n\tkgdbts\u003dV1N6F100 kgdbwait\n\nThe test suite can also be invoked at run time with:\necho kgdbts\u003dV1N6F100 \u003e /sys/module/kgdbts/parameters/kgdbts\nOr as another example:\necho kgdbts\u003dV2 \u003e /sys/module/kgdbts/parameters/kgdbts\n\nWhen developing a new kgdb arch specific implementation or\nusing these tests for the purpose of regression testing,\nseveral invocations are required.\n\n1) Boot with the test suite enabled by using the kernel arguments\n      \"kgdbts\u003dV1F100 kgdbwait\"\n   ## If kgdb arch specific implementation has NMI use\n      \"kgdbts\u003dV1N6F100\n\n2) After the system boot run the basic test.\necho kgdbts\u003dV1 \u003e /sys/module/kgdbts/parameters/kgdbts\n\n3) Run the concurrency tests.  It is best to use n+1\n   while loops where n is the number of cpus you have\n   in your system.  The example below uses only two\n   loops.\n\n## This tests break points on sys_open\nwhile [ 1 ] ; do find / \u003e /dev/null 2\u003e\u00261 ; done \u0026\nwhile [ 1 ] ; do find / \u003e /dev/null 2\u003e\u00261 ; done \u0026\necho kgdbts\u003dV1S10000 \u003e /sys/module/kgdbts/parameters/kgdbts\nfg # and hit control-c\nfg # and hit control-c\n## This tests break points on do_fork\nwhile [ 1 ] ; do date \u003e /dev/null ; done \u0026\nwhile [ 1 ] ; do date \u003e /dev/null ; done \u0026\necho kgdbts\u003dV1F1000 \u003e /sys/module/kgdbts/parameters/kgdbts\nfg # and hit control-c\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc7d552705215ac50a0617fcf51bb9c736255b8e",
      "tree": "3ca376bdf4e6996edd9e2dabd569a791f050dae8",
      "parents": [
        "c33fa9f5609e918824446ef9a75319d4a802f1f4"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Apr 17 20:05:37 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:37 2008 +0200"
      },
      "message": "kgdb: core\n\nkgdb core code. Handles the protocol and the arch details.\n\n[ mingo@elte.hu: heavily modified, simplified and cleaned up. ]\n[ xemul@openvz.org: use find_task_by_pid_ns ]\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    }
  ]
}
