)]}'
{
  "log": [
    {
      "commit": "99d9b4dcf27d7fbcbadab71bdc88ef6531baf6bf",
      "tree": "9fd924386b0e415c4e252c478b1c5c004decdbe6",
      "parents": [
        "5e915346477f4f2f33345c7dbe711be828b58730"
      ],
      "author": {
        "name": "Jason Thorpe",
        "email": "thorpej@me.com",
        "time": "Sun Jun 13 14:09:34 2021 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "richard.henderson@linaro.org",
        "time": "Mon Jun 14 20:55:38 2021 -0700"
      },
      "message": "Provide a minimal Console Terminal Block in the HWRPB.\n\nProvide a minimal Console Terminal Block in the HWRPB so that operating\nsystems that depend on it can correctly initialize the console device.\nThis is suffucient, at least, for the BSD operating systems, but may not\nbe sufficient for Digital UNIX.\n\nIn addition to defining and filling out the structures, there are a couple\nof other key changes:\n\n- Redefine the a2 register passed by Qemu at start-up to also include\n  some configuration flags, in addition to the CPU count, and define\n  a flag to mirror the \"-nographics\" option.\n\n- We need to initialize the HWRPB *after* initializing VGA, so that\n  we\u0027ll know if a VGA device is present and in which slot for filling\n  out the CTB.\n\nSigned-off-by: Jason Thorpe \u003cthorpej@me.com\u003e\nMessage-Id: \u003c20210613210934.21143-2-thorpej@me.com\u003e\nSigned-off-by: Richard Henderson \u003crichard.henderson@linaro.org\u003e\n"
    },
    {
      "commit": "5e915346477f4f2f33345c7dbe711be828b58730",
      "tree": "4b7eea9639a68b7a5dddf8272ffb3a8b582d8303",
      "parents": [
        "b5bee8227775b91e12c0b6635977d44f2d7fa376"
      ],
      "author": {
        "name": "Jason Thorpe",
        "email": "thorpej@me.com",
        "time": "Wed Jun 02 20:53:17 2021 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "richard.henderson@linaro.org",
        "time": "Sun Jun 06 13:26:29 2021 -0700"
      },
      "message": "Fixes for secondary CPU start-up.\n\nChanges to make secondary CPU start-up work on NetBSD, which depends\non some specific behavior in the architecture specification:\n\n- Change the internal swppal() function to take the new VPTPTR and\n  Procedure Value as explicit arguments.  Adapt do_start() to the\n  new the new swppal() signature.\n\n- In do_start_wait(), extract the new VPTPTR and PV from the relevant\n  HWRPB fields, which will have been initialized by the OS, and pass\n  them to swppal().\n\n- In the SWPPAL PAL call, get the value to stuff into PV (r27) from\n  a4 (r20), and add a comment describing why this implementation detail\n  is allowed by the architecture specification.\n\nSigned-off-by: Jason Thorpe \u003cthorpej@me.com\u003e\nMessage-Id: \u003c20210603035317.6814-9-thorpej@me.com\u003e\nSigned-off-by: Richard Henderson \u003crichard.henderson@linaro.org\u003e\n"
    },
    {
      "commit": "b5bee8227775b91e12c0b6635977d44f2d7fa376",
      "tree": "777bead041e0b8faa66d3794ef03fbaa943b0bfd",
      "parents": [
        "4793b2841559003eab79ee77cf4b688a195c62e1"
      ],
      "author": {
        "name": "Jason Thorpe",
        "email": "thorpej@me.com",
        "time": "Wed Jun 02 20:53:15 2021 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "richard.henderson@linaro.org",
        "time": "Sat Jun 05 18:47:29 2021 -0700"
      },
      "message": "Provide interrupt mapping information in PCI config registers.\n\nUse system-specific information to program the interrupt line register\nwith the interrupt mappings, which is what the SRM console does on real\nhardware; some operating systems (e.g. NetBSD) use this information\nrather than having interrupt mappings tables for every possible system\nvariation.\n\nSigned-off-by: Jason Thorpe \u003cthorpej@me.com\u003e\nMessage-Id: \u003c20210603035317.6814-7-thorpej@me.com\u003e\n[rth: Use inline not macro; fold -1 -\u003e 0xff map into interface.]\nSigned-off-by: Richard Henderson \u003crichard.henderson@linaro.org\u003e\n"
    },
    {
      "commit": "4793b2841559003eab79ee77cf4b688a195c62e1",
      "tree": "5e22cee0c73a5cbdc2be1d5f1152a9daa1d05022",
      "parents": [
        "0cbd87c2c426c7fd8a27f4d0dc8bd878d488dac0"
      ],
      "author": {
        "name": "Jason Thorpe",
        "email": "thorpej@me.com",
        "time": "Sat Jun 05 17:36:16 2021 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "richard.henderson@linaro.org",
        "time": "Sat Jun 05 17:44:34 2021 -0700"
      },
      "message": "Fix incorrect initialization of PCI BARs\n\nOnly program a BAR as a 64-bit MEM BAR if it really is a 64-bit MEM BAR.\nFixes an issue with the CMD646 IDE controller under NetBSD.\n\nSigned-off-by: Jason Thorpe \u003cthorpej@me.com\u003e\nMessage-Id: \u003c20210603035317.6814-6-thorpej@me.com\u003e\n[rth: Combine the two tests.]\nSigned-off-by: Richard Henderson \u003crichard.henderson@linaro.org\u003e\n"
    },
    {
      "commit": "0cbd87c2c426c7fd8a27f4d0dc8bd878d488dac0",
      "tree": "5e47c72e048f9b24ffcd64d85e103482eac02b56",
      "parents": [
        "7accd8de6bdf8efad1b18cb82aba58f691e51213"
      ],
      "author": {
        "name": "Jason Thorpe",
        "email": "thorpej@me.com",
        "time": "Wed Jun 02 20:53:13 2021 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "richard.henderson@linaro.org",
        "time": "Sat Jun 05 17:32:11 2021 -0700"
      },
      "message": "Make some PCI macros available to other files. NFC.\n\nMove PCI_DEVFN(), PCI_BUS(), PCI_SLOT(), and PCI_FUNC() to pci.h.\n\nSigned-off-by: Jason Thorpe \u003cthorpej@me.com\u003e\nMessage-Id: \u003c20210603035317.6814-5-thorpej@me.com\u003e\nSigned-off-by: Richard Henderson \u003crichard.henderson@linaro.org\u003e\n"
    },
    {
      "commit": "7accd8de6bdf8efad1b18cb82aba58f691e51213",
      "tree": "34c4c9c6ae172b4b6ba7b08801425d99c00b8be0",
      "parents": [
        "90e70ede8a5717323d13a304e89d04dead32dc02"
      ],
      "author": {
        "name": "Jason Thorpe",
        "email": "thorpej@me.com",
        "time": "Sat Jun 05 17:29:30 2021 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "richard.henderson@linaro.org",
        "time": "Sat Jun 05 17:29:30 2021 -0700"
      },
      "message": "Tidy comment re CY82C693UB vs PIIX\n\nSigned-off-by: Jason Thorpe \u003cthorpej@me.com\u003e\nMessage-Id: \u003c20210603035317.6814-4-thorpej@me.com\u003e\nSigned-off-by: Richard Henderson \u003crichard.henderson@linaro.org\u003e\n"
    },
    {
      "commit": "90e70ede8a5717323d13a304e89d04dead32dc02",
      "tree": "d5740b867d92327d5a1130ca2f78ccc85f75eb20",
      "parents": [
        "a169c0ba88803576addae81aa2fd4d8f16eef0cc"
      ],
      "author": {
        "name": "Jason Thorpe",
        "email": "thorpej@me.com",
        "time": "Wed Jun 02 20:53:12 2021 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "richard.henderson@linaro.org",
        "time": "Sat Jun 05 17:27:29 2021 -0700"
      },
      "message": "Fix initialization of the hwrpb.hwrpb.cpuid field.\n\nInitialize the hwrpb.hwrpb.cpuid field with the primary CPU ID, not\nthe processor type, as per the architecture specification.  Some\noperating systems check and assert this.\n\nImprove a couple of comments.\n\nSigned-off-by: Jason Thorpe \u003cthorpej@me.com\u003e\nMessage-Id: \u003c20210603035317.6814-4-thorpej@me.com\u003e\nSigned-off-by: Richard Henderson \u003crichard.henderson@linaro.org\u003e\n"
    },
    {
      "commit": "a169c0ba88803576addae81aa2fd4d8f16eef0cc",
      "tree": "3f83146e131b20fed2ed46aba07148013c941598",
      "parents": [
        "394234f7d7fb737198783ce6340873858aa939f9"
      ],
      "author": {
        "name": "Jason Thorpe",
        "email": "thorpej@me.com",
        "time": "Wed Jun 02 20:53:11 2021 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "richard.henderson@linaro.org",
        "time": "Sat Jun 05 17:26:13 2021 -0700"
      },
      "message": "Fix delivery of unaligned access exceptions.\n\nIn the unaligned access exception vector, actually pass the return PC\nin the exception frame.  This is required in order for unaligned access\nfixup handlers in the operating system to work.\n\nSigned-off-by: Jason Thorpe \u003cthorpej@me.com\u003e\nMessage-Id: \u003c20210603035317.6814-3-thorpej@me.com\u003e\nSigned-off-by: Richard Henderson \u003crichard.henderson@linaro.org\u003e\n"
    },
    {
      "commit": "394234f7d7fb737198783ce6340873858aa939f9",
      "tree": "3d21a052fc5994965cd355afaee9bdcdeacb8528",
      "parents": [
        "bf0e13698872450164fa7040da36a95d2d4b326f"
      ],
      "author": {
        "name": "Jason Thorpe",
        "email": "thorpej@me.com",
        "time": "Wed Jun 02 20:53:10 2021 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "richard.henderson@linaro.org",
        "time": "Sat Jun 05 17:26:13 2021 -0700"
      },
      "message": "Make qemu-palcode build environment standalone. NFC.\n\nDon\u0027t include system headers.  Instead, provide standalone definitions\nand declarations of types needed and functions used by the PALcode that\nare compatible with the standard Alpha / GCC ABI.\n\nSigned-off-by: Jason Thorpe \u003cthorpej@me.com\u003e\nMessage-Id: \u003c20210603035317.6814-2-thorpej@me.com\u003e\nSigned-off-by: Richard Henderson \u003crichard.henderson@linaro.org\u003e\n"
    },
    {
      "commit": "bf0e13698872450164fa7040da36a95d2d4b326f",
      "tree": "b29dc3f5ae86e9d9c0092f398ed80dc416fc003d",
      "parents": [
        "51c237d7e20d05100eacadee2f61abc17e6bc097"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Mar 25 13:09:53 2019 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Mar 25 13:09:53 2019 -0700"
      },
      "message": "Report machine checks to the kernel\n\nUse a minimally populated logout frame.  This is good enough to\nhandle probing of devices using the kernel\u0027s mcheck_expected.\n\nSigned-off-by: Richard Henderson \u003crth@twiddle.net\u003e\n"
    },
    {
      "commit": "51c237d7e20d05100eacadee2f61abc17e6bc097",
      "tree": "8bbfaf2a60e0af734dfd4cd8a8db65b70705ed29",
      "parents": [
        "f3c7e44c70254975df2a00af39701eafbac4d471"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Tue Jan 08 12:08:37 2019 +1000"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Tue Jan 08 12:08:37 2019 +1000"
      },
      "message": "Do not increment PC for OPCDEC\n\nThis will already have been done by QEMU.\n\nFixes: https://bugs.launchpad.net/bugs/1810545\nSigned-off-by: Richard Henderson \u003crth@twiddle.net\u003e\n"
    },
    {
      "commit": "f3c7e44c70254975df2a00af39701eafbac4d471",
      "tree": "9844d518155af0386beacc0302e3af47dfd805fb",
      "parents": [
        "6dd8bea7b98988e970f48a17b314c80e5a6c01b9"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Nov 13 19:08:24 2016 +0100"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Nov 13 19:08:24 2016 +0100"
      },
      "message": "Reinstate do_console if kernel not provided\n\nSigned-off-by: Richard Henderson \u003crth@twiddle.net\u003e\n"
    },
    {
      "commit": "6dd8bea7b98988e970f48a17b314c80e5a6c01b9",
      "tree": "30c3ec00573cc83ed1a93bc1d8f91dac65702188",
      "parents": [
        "333f7da2d9287747779599e62a0bab89b5fa558b"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Nov 13 12:21:45 2016 +0100"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Nov 13 12:21:45 2016 +0100"
      },
      "message": "Tidy clipper Sys_Setup\n\nSigned-off-by: Richard Henderson \u003crth@twiddle.net\u003e\n"
    },
    {
      "commit": "333f7da2d9287747779599e62a0bab89b5fa558b",
      "tree": "56e4fa46cdde9d04420d2cc6aaccecfcfdea82d0",
      "parents": [
        "c87a92639b28ac42bc8f6c67443543b405dc479b"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Nov 13 12:04:29 2016 +0100"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Nov 13 12:04:29 2016 +0100"
      },
      "message": "Add smp support\n\nSigned-off-by: Richard Henderson \u003crth@twiddle.net\u003e\n"
    },
    {
      "commit": "c87a92639b28ac42bc8f6c67443543b405dc479b",
      "tree": "75204b3b31ff73c13d40b8518474451a3d97d49d",
      "parents": [
        "25b1ca4615505cea783a7bd43982eb29aea8d90b"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Tue Jul 16 06:46:36 2013 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Tue Jul 16 06:46:36 2013 -0700"
      },
      "message": "Add Cserve_Get_VM_Time\n\nSigned-off-by: Richard Henderson \u003crth@twiddle.net\u003e\n"
    },
    {
      "commit": "25b1ca4615505cea783a7bd43982eb29aea8d90b",
      "tree": "6a728f8f0df3df762082794a8b9a97345febf1d5",
      "parents": [
        "7a72670104742457c5094f2d4a85a4757c2a244f"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 12:13:01 2013 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 12:13:01 2013 -0700"
      },
      "message": "Build with -O2 and -g1.\n"
    },
    {
      "commit": "7a72670104742457c5094f2d4a85a4757c2a244f",
      "tree": "aaa3dc8b77c40a72332fc4da9873f60c2b2c09e9",
      "parents": [
        "e959a30a6a5a781606431f3c65e7ed6356940d6e"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 11:49:21 2013 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 11:49:21 2013 -0700"
      },
      "message": "Don\u0027t initialize COM2.\n\nAt least not until we implement MCHK handling.  The current QEMU will\n(properly) MCHK when accessing a non-existant device.\n"
    },
    {
      "commit": "e959a30a6a5a781606431f3c65e7ed6356940d6e",
      "tree": "ed8618c4b3f4b753356693d8c1e1f2b73836db31",
      "parents": [
        "7974e1e03fbad67e3d29f4b942b13b8d82891ba2"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 11:48:03 2013 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 11:48:03 2013 -0700"
      },
      "message": "Optimize memory layout.\n\nMinimizing the amount of padding between page-aligned data structures.\n"
    },
    {
      "commit": "7974e1e03fbad67e3d29f4b942b13b8d82891ba2",
      "tree": "8fd36ff014ca392a4187503fc373bfd726b05ba5",
      "parents": [
        "ead7ef0a5861126a624905c960f26da97ddcbd6d"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 11:46:21 2013 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 11:46:21 2013 -0700"
      },
      "message": "Declare vgahw_init where init.c can find it.\n"
    },
    {
      "commit": "ead7ef0a5861126a624905c960f26da97ddcbd6d",
      "tree": "24380cee848389887d2f015fbc58b2eadf4f534c",
      "parents": [
        "b54e85c107176aefda25e62777208fa9e6f5abe0"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 11:45:58 2013 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 11:45:58 2013 -0700"
      },
      "message": "Omit video_save_pointer_table as unused.\n"
    },
    {
      "commit": "b54e85c107176aefda25e62777208fa9e6f5abe0",
      "tree": "46b0adb84ede2dd3acc782a529e5def23d3ac7a7",
      "parents": [
        "187bba34b30bb5e36a077426fccfcee0b9f4f9c5"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 11:45:34 2013 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 11:45:34 2013 -0700"
      },
      "message": "Fix use of undefined PACKED macro.\n"
    },
    {
      "commit": "187bba34b30bb5e36a077426fccfcee0b9f4f9c5",
      "tree": "5cd60018ebe3f3031afb3b55e449f2240c68896e",
      "parents": [
        "7abb12f60eb3069019e9497e193733d77d8f0722"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 11:34:57 2013 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Jul 08 11:34:57 2013 -0700"
      },
      "message": "Make vga fonts const\n"
    },
    {
      "commit": "7abb12f60eb3069019e9497e193733d77d8f0722",
      "tree": "23eb9e1e2a2df99e8f0a8475cac48499d212cbca",
      "parents": [
        "db3b5b6935eed9a229bf5c11b4db0b7d2a812940"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri Jun 03 17:12:52 2011 -0500"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri Jun 03 17:12:52 2011 -0500"
      },
      "message": "Properly detect the presence of a vga device.\n"
    },
    {
      "commit": "db3b5b6935eed9a229bf5c11b4db0b7d2a812940",
      "tree": "273952f35bbb86d78b5bd0058606fbb4ae44116e",
      "parents": [
        "4f4608beab5ad6cbd1547b415154dc8af154f48b"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Thu Jun 02 23:15:49 2011 -0500"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Thu Jun 02 23:15:49 2011 -0500"
      },
      "message": "Initialize a VGA controler.\n\nDoesn\u0027t actually check to see that one exists yet...\n"
    },
    {
      "commit": "4f4608beab5ad6cbd1547b415154dc8af154f48b",
      "tree": "4729276ebd68d01febb6842e449eeeb6b0aca42d",
      "parents": [
        "6248b55bfa57db9576a33be128da89f271a51da4"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon May 09 10:59:50 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon May 09 10:59:50 2011 -0700"
      },
      "message": "Begin initiallizing the VGA card.\n"
    },
    {
      "commit": "6248b55bfa57db9576a33be128da89f271a51da4",
      "tree": "0d233aab4d849cc96641723749b39ff8c440ec56",
      "parents": [
        "1a4a2299f36eb26c482319bc66f4cee7cb144af1"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon May 09 10:59:22 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon May 09 10:59:22 2011 -0700"
      },
      "message": "Add in/out functions for 16 and 32-bit quantities.\n"
    },
    {
      "commit": "1a4a2299f36eb26c482319bc66f4cee7cb144af1",
      "tree": "5ea21a8116c66536acccab3351f66fce24ea0c68",
      "parents": [
        "a7b2ef5dd9bb9890f10252981481b55ae30babd1"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon May 09 10:58:45 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon May 09 10:58:45 2011 -0700"
      },
      "message": "Hack: Move pci BAR ranges.\n\nThe Linux kernel will re-allocate all of these, tickling what appears\nto be a bug in QEMU.  Work around this by moving the ranges allocated\nby the console so that the new ranges don\u0027t overlap.\n"
    },
    {
      "commit": "a7b2ef5dd9bb9890f10252981481b55ae30babd1",
      "tree": "709164ae779b78dc52876ed86477b56736e884ac",
      "parents": [
        "2d46a7ec8fdf0c22f21e57ecfc46a5df5cd5cfbf"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri May 06 18:05:46 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri May 06 18:05:46 2011 -0700"
      },
      "message": "Don\u0027t use alarms for ndelay.\n"
    },
    {
      "commit": "2d46a7ec8fdf0c22f21e57ecfc46a5df5cd5cfbf",
      "tree": "1e892a683028f2047f4b931abe6108409636ff1b",
      "parents": [
        "90bb73f3fbcb32569f271bf1130fab45b2b4fb66"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri May 06 18:05:13 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri May 06 18:05:13 2011 -0700"
      },
      "message": "Initial PCI setup.\n"
    },
    {
      "commit": "90bb73f3fbcb32569f271bf1130fab45b2b4fb66",
      "tree": "34ea8971642427f3136d634f97d79795949c49a1",
      "parents": [
        "45a30cd864c313b353f47c8186b2b932069af4a1"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri May 06 18:04:44 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri May 06 18:04:44 2011 -0700"
      },
      "message": "Inline i/o routines.\n"
    },
    {
      "commit": "45a30cd864c313b353f47c8186b2b932069af4a1",
      "tree": "8eb31dfd2bf4c7fbc4f613dcf604eb636c167ff8",
      "parents": [
        "87fb8be28570645cd42f940ebdaed4ee1d7724cf"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri May 06 15:50:07 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri May 06 15:50:07 2011 -0700"
      },
      "message": "Handle padding in printf numerical output.\n"
    },
    {
      "commit": "87fb8be28570645cd42f940ebdaed4ee1d7724cf",
      "tree": "198578397b6b6c8793ec6781263ab33418d92141",
      "parents": [
        "2166044b7174136787fa660e7da798132f7d26cc"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri May 06 11:52:02 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri May 06 11:52:02 2011 -0700"
      },
      "message": "Use level-triggered ISA interrupts.\n"
    },
    {
      "commit": "2166044b7174136787fa660e7da798132f7d26cc",
      "tree": "8ae742ef999e56af0ab52a185d6431ff4f993b72",
      "parents": [
        "369d1d9a68527fe2659f4a21dc4c0aa52533dbc3"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri May 06 11:07:37 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri May 06 11:07:37 2011 -0700"
      },
      "message": "Add ps2 keyboard initialization.\n\nWhich also requires that we properly initialize the i8259 (ISA)\ninterrupt controller.\n"
    },
    {
      "commit": "369d1d9a68527fe2659f4a21dc4c0aa52533dbc3",
      "tree": "e348726a048cecbb036ba7b9a80cd1bf7bfcff21",
      "parents": [
        "9e75c89f005e07e059c80317904fefaffe6fde7f"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Thu May 05 13:06:24 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Thu May 05 13:12:49 2011 -0700"
      },
      "message": "Beginnings of the SRM console prompt.\n"
    },
    {
      "commit": "9e75c89f005e07e059c80317904fefaffe6fde7f",
      "tree": "36cfe71d8e853c26d57af55aad3731154fb3c3d4",
      "parents": [
        "ee671d4ef86346e8d10cd0474aad998c16aa0383"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Tue May 03 07:49:58 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Tue May 03 07:49:58 2011 -0700"
      },
      "message": "Read the correct register for typhoon device interrupt ready.\n"
    },
    {
      "commit": "ee671d4ef86346e8d10cd0474aad998c16aa0383",
      "tree": "d81fe5e4f49bc2fd0990a686283bd332c67bc59b",
      "parents": [
        "2441ea1234e5b4399954ca64a101794cf6e813b3"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon May 02 10:46:14 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon May 02 10:46:14 2011 -0700"
      },
      "message": "Implement the console callback interface.\n\nAt least enough for GETC and PUTS.\n"
    },
    {
      "commit": "2441ea1234e5b4399954ca64a101794cf6e813b3",
      "tree": "44132ef73b15e4929cad97bde91729fe4142f9f1",
      "parents": [
        "28a139998d9c6f123168c0edd5117ab00c0a6288"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon May 02 08:48:14 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon May 02 10:16:53 2011 -0700"
      },
      "message": "clipper: Report ISA interrupts properly.\n"
    },
    {
      "commit": "28a139998d9c6f123168c0edd5117ab00c0a6288",
      "tree": "1522eae68e6e59a351d0becfe23b48e837f41f1b",
      "parents": [
        "784fbf5895e0d0ca8086628a660b0f9c57fa4e80"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun May 01 20:17:07 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun May 01 20:17:07 2011 -0700"
      },
      "message": "Fix SMP stack initialization.\n"
    },
    {
      "commit": "784fbf5895e0d0ca8086628a660b0f9c57fa4e80",
      "tree": "5ea8d78396e1eb29acc85f654537c465a30d583b",
      "parents": [
        "ac57e53396490404cc27dc894e470269c07564f0"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun May 01 09:11:52 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun May 01 09:11:52 2011 -0700"
      },
      "message": "Add copyright information.\n"
    },
    {
      "commit": "ac57e53396490404cc27dc894e470269c07564f0",
      "tree": "0fa3aab169081f1b55f0c36b5297c39c9f72e3e7",
      "parents": [
        "2337817db11065e3b70f7c2f4e0859f2fe5e9225"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Thu Apr 28 08:45:05 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Thu Apr 28 08:45:05 2011 -0700"
      },
      "message": "Rearrange Cserve.  Add QMU clock/alarm related entry points.\n"
    },
    {
      "commit": "2337817db11065e3b70f7c2f4e0859f2fe5e9225",
      "tree": "a7f65ef51aedc5d4ba9f76a1d57354527fc6a785",
      "parents": [
        "ea0e38f6bc1e458b34b11b40c1092036db34f548"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 27 14:46:50 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 27 14:46:50 2011 -0700"
      },
      "message": "Set max_asn properly for the cpu.\n"
    },
    {
      "commit": "ea0e38f6bc1e458b34b11b40c1092036db34f548",
      "tree": "78a8757d7a5d6bc16cce2c63beb652b78dd520a6",
      "parents": [
        "331e6b4c75dd8095a29ed2991e32a862dc40074b"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 27 09:43:00 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 27 09:43:00 2011 -0700"
      },
      "message": "Re-org for Clipper system.\n"
    },
    {
      "commit": "331e6b4c75dd8095a29ed2991e32a862dc40074b",
      "tree": "901c80a3167610911a0c85b60c96aa30c486a300",
      "parents": [
        "27d5d3c45361242df244c9fe9568c1ea3faec87e"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 25 14:09:29 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 25 14:09:29 2011 -0700"
      },
      "message": "Fix error in SWPCTX code.\n"
    },
    {
      "commit": "27d5d3c45361242df244c9fe9568c1ea3faec87e",
      "tree": "f90a0ebcb71e5961986242eab8c6e0c7707554d5",
      "parents": [
        "6d3e153cf8b83306b8faa5e969d3f784a4d2b372"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Apr 24 13:40:23 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Apr 24 13:40:23 2011 -0700"
      },
      "message": "Use fixed frequency for rpcc.\n"
    },
    {
      "commit": "6d3e153cf8b83306b8faa5e969d3f784a4d2b372",
      "tree": "710f9f4d9e5dfc80d219109c6477958e6dc56ded",
      "parents": [
        "71b4db6096ad4f82bb297f2419e83301a41b0f95"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 20 15:20:43 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri Apr 22 07:04:56 2011 -0700"
      },
      "message": "Implement CallPal_Cserve.\n\nThis is just good enough to handle the cserve_ena/dis used by\nthe Linux kernel for managing interrupts.\n"
    },
    {
      "commit": "71b4db6096ad4f82bb297f2419e83301a41b0f95",
      "tree": "39ed29b150834cecbce25b41ad8f5eeb34f49d00",
      "parents": [
        "2eec0e49ac23330ed8a866a4b3f268be4af09e34"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri Apr 22 06:48:21 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Fri Apr 22 06:48:21 2011 -0700"
      },
      "message": "Implement WTINT.\n"
    },
    {
      "commit": "2eec0e49ac23330ed8a866a4b3f268be4af09e34",
      "tree": "cbdfbfa6ad143916656e2f0bc60ee5b462e04bfe",
      "parents": [
        "2c3764b53d9956f6e62a2426ea9744bd8c14d41d"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 18 15:20:38 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 18 15:20:38 2011 -0700"
      },
      "message": "Use qemu_sysval and qemu_usp, newly exported from QEMU.\n"
    },
    {
      "commit": "2c3764b53d9956f6e62a2426ea9744bd8c14d41d",
      "tree": "2f3a4a3df28850bc12088b21b7fee8cb8750681d",
      "parents": [
        "53e49943d20f6d80a036d67bd4bcaa24b47be132"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 18 15:17:40 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 18 15:17:40 2011 -0700"
      },
      "message": "Build palcode-sx164 instead of palcode.\n"
    },
    {
      "commit": "53e49943d20f6d80a036d67bd4bcaa24b47be132",
      "tree": "a0cd6a58fd29855ce555b99113addbbd2a66552c",
      "parents": [
        "5c54b53299d0223877158df6285560b7a69609ff"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sat Apr 16 08:24:30 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sat Apr 16 08:24:30 2011 -0700"
      },
      "message": "Optimize for size, and pca56.\n"
    },
    {
      "commit": "5c54b53299d0223877158df6285560b7a69609ff",
      "tree": "81474e4362283ed7d8fe02a9e6e28786c8e8c505",
      "parents": [
        "3fae2a407ae3a09d6191ba407a8ce93c2e57c506"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sat Apr 16 08:24:15 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sat Apr 16 08:24:15 2011 -0700"
      },
      "message": "Use explicit division avoidance in print_decimal.\n"
    },
    {
      "commit": "3fae2a407ae3a09d6191ba407a8ce93c2e57c506",
      "tree": "9d74fdcbf6178e10ff71c7d76632ed46b4f5c4aa",
      "parents": [
        "4070883293a637743655e9c7d654ca1b90304eb5"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sat Apr 16 07:59:53 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sat Apr 16 07:59:53 2011 -0700"
      },
      "message": "Fix return value for early return in memset.\n"
    },
    {
      "commit": "4070883293a637743655e9c7d654ca1b90304eb5",
      "tree": "b1cdeaab7cc38930d6e25366207aef77e63e6c85",
      "parents": [
        "790e1b3c74de244fd284245dc37b1f4fce8b1c52"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Thu Apr 14 18:37:56 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Thu Apr 14 18:37:56 2011 -0700"
      },
      "message": "Fix typos in rti implementation.\n"
    },
    {
      "commit": "790e1b3c74de244fd284245dc37b1f4fce8b1c52",
      "tree": "1ddc956a70799b1575b892d646b3e06c032de1f0",
      "parents": [
        "925b1cba52481c6eb9d343c456dc5df72eb3ed0e"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Thu Apr 14 16:49:28 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Thu Apr 14 16:49:28 2011 -0700"
      },
      "message": "Handle timer interrupts specially.\n"
    },
    {
      "commit": "925b1cba52481c6eb9d343c456dc5df72eb3ed0e",
      "tree": "a7b7df1607fd283d5d8160e7a3ef74ad8cdd055f",
      "parents": [
        "2f26e86da27f7fe59e16abb5535f64bdad29e688"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 13 20:07:56 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 13 20:07:56 2011 -0700"
      },
      "message": "Raise the interrupt level for entInt\n"
    },
    {
      "commit": "2f26e86da27f7fe59e16abb5535f64bdad29e688",
      "tree": "1658055e9a665c7075883b435af356e1eef70fd2",
      "parents": [
        "2f022b055a875fe2099737a7435e9df458038e5e"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 13 16:57:22 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 13 16:57:22 2011 -0700"
      },
      "message": "PCBB.PTBR contains a page frame number, not a physical address.\n"
    },
    {
      "commit": "2f022b055a875fe2099737a7435e9df458038e5e",
      "tree": "f3e7fb491a410fb71903618191bc17a5cde80078",
      "parents": [
        "0830e72f0bce29bdf1de0d67ad503a9a8b99c968"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 13 12:57:57 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 13 12:57:57 2011 -0700"
      },
      "message": "Use -Wall.\n"
    },
    {
      "commit": "0830e72f0bce29bdf1de0d67ad503a9a8b99c968",
      "tree": "fac6a38690678935130280060f55427269448808",
      "parents": [
        "f907c57529209ddf51dc8d817bee266fb10784f4"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 13 12:57:44 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 13 12:57:44 2011 -0700"
      },
      "message": "Rely less on initialized data.\n\n(1) Don\u0027t statically initialize HWRPB and PCBB.\n(2) Use SwpPal at the end of do_start to install the PCBB and PTBR,\n    rather than setting those up in __start in PALmode.\n(3) Use -mbuild-constants to prevent the compiler using static data.\n"
    },
    {
      "commit": "f907c57529209ddf51dc8d817bee266fb10784f4",
      "tree": "17f211889c053485aed582714fcae2f62ccfb268",
      "parents": [
        "166df70b3b5bba0058aae0f8d1c6371bddf40315"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Tue Apr 12 17:07:34 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Tue Apr 12 17:07:34 2011 -0700"
      },
      "message": "Don\u0027t hard-code paths to the cross-compiler.\n"
    },
    {
      "commit": "166df70b3b5bba0058aae0f8d1c6371bddf40315",
      "tree": "0be4f5d856bfbc8f1a994b986a1a442e2e16a29d",
      "parents": [
        "13f15375bef566ac210d5584cdd5a58539223a79"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 11 23:04:50 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 11 23:04:50 2011 -0700"
      },
      "message": "Fix WrEnt bounds checking.\n"
    },
    {
      "commit": "13f15375bef566ac210d5584cdd5a58539223a79",
      "tree": "410fc5ed4e93bfde469f1b0ca4df84fe76af2791",
      "parents": [
        "c5d1989c5a58658983ce668cec1e3aa1977da89c"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 11 20:59:02 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 11 20:59:02 2011 -0700"
      },
      "message": "Misc enhancements\n\n(1) Mark symbols as functions,\n(2) Fix STACK_FRAME in-kernel test\n(3) Zero newly allocated memory\n"
    },
    {
      "commit": "c5d1989c5a58658983ce668cec1e3aa1977da89c",
      "tree": "30caff29d0225bce34da0f6db7c823d358753b92",
      "parents": [
        "6e14504513166f6b5ad7e46a9c365cca005ff918"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 11 17:08:18 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 11 17:08:18 2011 -0700"
      },
      "message": "Don\u0027t allow MMFault in PALmode.\n"
    },
    {
      "commit": "6e14504513166f6b5ad7e46a9c365cca005ff918",
      "tree": "4353b9c30acfa5318a64ce7ae22feb0454e6ac83",
      "parents": [
        "aacb76ca0399404c560bb8ee7bebecf730ac3a3a"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 11 17:07:58 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 11 17:07:58 2011 -0700"
      },
      "message": "Signal halt properly.\n"
    },
    {
      "commit": "aacb76ca0399404c560bb8ee7bebecf730ac3a3a",
      "tree": "f49c0bfc411255db64f22216caf980d2fce44e59",
      "parents": [
        "1a82ff3ead8103913b66b7a43303786bd2c349cf"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 11 17:07:22 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 11 17:07:22 2011 -0700"
      },
      "message": "Dynamically allocate page tables; setup as per MILO.\n"
    },
    {
      "commit": "1a82ff3ead8103913b66b7a43303786bd2c349cf",
      "tree": "e07a795017612f46dce82c3b8d26aec9fde7b9e4",
      "parents": [
        "1ea1eb3d5ae252953d986eb74dba4474f421fa75"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 11 10:47:43 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Mon Apr 11 10:47:43 2011 -0700"
      },
      "message": "Add simplistic printf.\n"
    },
    {
      "commit": "1ea1eb3d5ae252953d986eb74dba4474f421fa75",
      "tree": "b52ab7dd007aba3225678dfa6ce899c82f7da0cc",
      "parents": [
        "28a330ab4f2c965db0b9efc85d39f091c2ad68ba"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Apr 10 22:58:07 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Apr 10 22:58:07 2011 -0700"
      },
      "message": "Add rudimentary printf.\n"
    },
    {
      "commit": "28a330ab4f2c965db0b9efc85d39f091c2ad68ba",
      "tree": "15318c1b0da0d4a549ebda512768632224c0d8f3",
      "parents": [
        "0c0f711f60fec844964c99b141508e7343a41501"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Apr 10 22:57:42 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Apr 10 22:57:42 2011 -0700"
      },
      "message": "Move stack to sbss section for easy access.\n"
    },
    {
      "commit": "0c0f711f60fec844964c99b141508e7343a41501",
      "tree": "696a34d7ae26fe75c4d42415aea4e9697395fadb",
      "parents": [
        "0ea286dc681fe3690fc4bb8007144190e03b8d51"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Apr 10 19:20:18 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Apr 10 19:20:18 2011 -0700"
      },
      "message": "Add uart printing support.\n"
    },
    {
      "commit": "0ea286dc681fe3690fc4bb8007144190e03b8d51",
      "tree": "8f6462f8d6e270a7766e05392b7bee05caf0c28b",
      "parents": [
        "e00c70db6ec09b5015ba5602a781d282134d3fcd"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 06 16:02:23 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Apr 10 10:25:15 2011 -0700"
      },
      "message": "TEMP: finished through init_page_tables\n"
    },
    {
      "commit": "e00c70db6ec09b5015ba5602a781d282134d3fcd",
      "tree": "8cf83340683dbb2ac8116f7c2921d4f693ebb1f5",
      "parents": [],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 06 16:02:02 2011 -0700"
      },
      "committer": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Wed Apr 06 16:02:02 2011 -0700"
      },
      "message": "TEMP\n"
    }
  ]
}
