)]}'
{
  "log": [
    {
      "commit": "a6a4909d25062393147fcb773e8dd396aea26d0f",
      "tree": "90b266216593e274bc9cb0368a90dee2187e40af",
      "parents": [
        "a60324f0529adc568c2183f6a3a49ae44db54af5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri May 18 15:04:12 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 16:12:41 2019 +0000"
      },
      "message": "time: Revise state abstraction\n\nMake abstract state `State` of HW.Time.Timer, that\u0027s used to derive the\nHz value for instance, External. This helps to fix flow issues in the\nmutime implementation and also matches real hardware better: The clock\nrate may be derived from the hardware state.\n\nHW.Time.Timer.Hz had to be made a volatile function, therefore.\n\nChange-Id: I35af2d0db1acbf9652ea00763aa288545746bb79\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libhwbase/+/26838\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "commit": "def89ebc0588f05a7ff9b1f475ae974527bb1f0f",
      "tree": "a2c008b6eb57b6ab80f9a414636340b5c5a8756d",
      "parents": [
        "81294ed04949f0a2028796a8601825f0c6e8ac27"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Aug 18 17:38:55 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Aug 20 21:16:06 2017 +0000"
      },
      "message": "posix file: Add procedure to query the size of a file\n\nChange-Id: Ib3b31e90ca98dc09185463ce467a70770e0f222d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/21095\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "967dd0d48eb0f0c2bf57d58b887e691daea7bd1e",
      "tree": "ab589b49d2c2b00120dfb789095ca87f21a41a51",
      "parents": [
        "a43b1ee1c5aba43291a994ada9886278976e4140"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 09 15:51:08 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Aug 20 21:15:55 2017 +0000"
      },
      "message": "posix file: Add an `Offset` parameter and make `Len` optional\n\nGive Map() an `Offset` parameter that will be passed to mmap(). Make the\n`Len` parameter of Map() optional. If it\u0027s left at the default, `0`, map\nuntil the end of the file (up to SIZE_MAX bytes).\n\nChange-Id: I7b062ce1e9cddab87a66a2aedc8b64e4e8524d9f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20553\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "a43b1ee1c5aba43291a994ada9886278976e4140",
      "tree": "dd9112dc92e23f0a371c24cf6f835402a18d8750",
      "parents": [
        "ef4545afbf2547d2a5548df3730beff6efa243ac"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 09 15:40:25 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Aug 20 21:15:33 2017 +0000"
      },
      "message": "posix file: Let the OS decide addresses to map to\n\nReverse the direction of the `Addr` parameter of Map(). We let mmap()\ndecide which address to use and return that. Given that we can set the\naddress for `MMIO_Range` instances during runtime, we shouldn\u0027t ever\nhave to force static addresses.\n\nChange-Id: I35bfd65e7b471daae4f43a9233ce613c7f45891e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20552\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "32f1489253dde0a568653e277288d8e18dc6c388",
      "tree": "f9ebad64044c7341e9a0f4c36f03fef69a648077",
      "parents": [
        "3bf6759dc09d27c06b3533fd536e667356853d3d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 18 02:35:37 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jul 12 23:14:18 2017 +0000"
      },
      "message": "posix file: Match newer warning wording\n\nFor compatibility with GNAT GPL 2017.\n\nChange-Id: I1b4b914aa4964967b1c598ef5ca303410bd413ec\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20256\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\n"
    },
    {
      "commit": "f03ef4f2d47b9c2a14c62c3311fc24b0be01e90f",
      "tree": "a4b99ee75e15823e76b11bcceda3f3ab7315e84c",
      "parents": [
        "e86fff93bdb438e61f27e58df0f2b3051666b5e7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 04 13:57:09 2017 +0100"
      },
      "committer": {
        "name": "Stefan Reinauer",
        "email": "stefan.reinauer@coreboot.org",
        "time": "Tue Jun 06 17:59:50 2017 +0200"
      },
      "message": "Add support to map the contents of a file\n\nAdd a package HW.File with a single procedure Map():\n\n   procedure Map\n     (Path     : in     String;\n      Addr     : in     Word64;\n      Len      : in     Natural;\n      Readable : in     Boolean :\u003d False;\n      Writable : in     Boolean :\u003d False;\n      Map_Copy : in     Boolean :\u003d False;\n      Success  :    out Boolean)\n   with\n      Pre \u003d\u003e (Readable or Writable) and\n             (if Map_Copy then Readable and not Writable);\n\nIf `Map_Copy` is `False`, it should map `Len` bytes from the start of\nthe file given by `Path` into the application\u0027s address space at `Addr`\nusing mmap(). If `Map_Copy` is `True`, anonymous memory should be map-\nped instead and be filled with a copy of the file\u0027s content using\nread().\n\nThe current implementation is backed by C code to reduce dependencies\nto external libraries (e.g. Florist is not packaged by a famous Linux\ndistro).\n\nWhile we are at it, also add a configuration file for common POSIX\nenvironments (configs/posix).\n\nChange-Id: Ic10c35b35d3216dab6a5b2baba7ba619c885b346\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/18779\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "5f82d1ab9782935bbd4e8eda9454488d9d924895",
      "tree": "92b8276aa15efced1565483a25c9589f10f6e07e",
      "parents": [
        "cf01ab6e40ce7229cf6740fe1b7e0e107b396a23"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon May 08 14:14:21 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 22 21:07:18 2017 +0200"
      },
      "message": "ada/dynamic_mmio: Drop unnecessary Volatile aspect\n\nThe access variable `Range_A` was accidentally declared `Volatile` which\nled to the following complaint by GCC 7.1:\n\n    volatile object cannot appear in this context (SPARK RM 7.1.3(11))\n\nThis happened probably to make `Range_A` compatible with our state\nabstraction, but we can just use the correct abstraction instead.\n\nTEST\u003dCompiled a coreboot target with libgfxinit and checked the\n     emitted assembly: Only minor reordering regarding the pointer\n     but not the dereference.\n     Booted ThinkPad T420 with libgfxinit enabled.\n\nChange-Id: I56a3fcadce59713fb03a089d192d2022bfb1d378\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/19624\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\nReviewed-by: Philippe Mathieu-Daudé \u003cphilippe.mathieu.daude@gmail.com\u003e\n"
    },
    {
      "commit": "b6641197dc51101115894d0d7f82feba5fce9011",
      "tree": "6456d043ac2f3732c37991d75ec2c3e1cc766716",
      "parents": [
        "a5c8ba24c1a8fc6e911d4eb35770d66e9dd55c63"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Feb 13 15:27:30 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 20 20:43:36 2017 +0100"
      },
      "message": "Add muen scheduling info as timer source\n\nThis is a very low precision clock. We just take the start of the cur-\nrent scheduling minor frame as the minimum, yet elapsed moment and the\nend of the frame as the maximum, yet reached moment in time. As a\nresult, every timer based delay will wait at least for the next minor\nframe.\n\nFor the build, `musinfo.ads` and `muschedinfo.ads` from the Muen\nproject are required. One should point the `muen-common-path` variable\nto the `common` subdir of the Muen source distribution.\n\nChange-Id: Ib139749214bf8d2ca293e31327b156de5198b65d\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18357\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Adrian-Ken Rueegsegger \u003cken@codelabs.ch\u003e\n"
    },
    {
      "commit": "aab715f166bf1b54cfbd6982e8df49248ea544d8",
      "tree": "10ef0a0779a34e700764476dd6558204cb87b554",
      "parents": [
        "ded07e802febe7e1742bd81464888e5193537fdb"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Oct 18 00:22:25 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 20 13:05:03 2016 +0200"
      },
      "message": "Relicense libhwbase under GPL v2+\n\nChange-Id: Id91d759fa1f6691dbcd228730809064fc8305af2\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17053\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "5e9b1b50e7ac90f68ca2ea798ef656ac863c2851",
      "tree": "4bdccf08b1b59035632f26a8853c8456e07b8fca",
      "parents": [],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Sat Oct 08 22:09:33 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 09 11:31:44 2016 +0200"
      },
      "message": "Initial upstream commit\n\nThe history contained unlicensed code so everything got squashed, sorry.\n\nChange-Id: Ie1335ecfcee7f740bb6de2e9887606be30a2deff\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n"
    }
  ]
}
