)]}'
{
  "log": [
    {
      "commit": "c38015d052dd686c96504cbf5dd4c3d61fc030a5",
      "tree": "becef074bf0c3f2d0ffe93883966203f7a97bfcc",
      "parents": [
        "a6a4909d25062393147fcb773e8dd396aea26d0f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 13:13:36 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 16:12:50 2019 +0000"
      },
      "message": "mutime: Move to common/\n\nIt\u0027s valid SPARK now.\n\nChange-Id: I03bc3fa7d9bea79680888c13679cfd871e772000\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libhwbase/+/26839\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "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": "637f2a4f21ead8ccc45d5256834eb27ce72088db",
      "tree": "3fe007f2803e04aac47d68bd49fa6c099987d370",
      "parents": [
        "66859712e4817288591908d737dbf41ddea31c3a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 15 23:40:30 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat May 19 20:37:51 2018 +0000"
      },
      "message": "pci: Make HW.PCI.MMConf a public generic\n\nGCC 8 wants us to tie the hidden, private state of HW.PCI.MMConf to a\nsurrounding state. Though, as it\u0027s impossible to do that before the\npackage instantiation, we can only comply by making it public.\n\nChange-Id: I41c3d1324a7d9acde5be2c246011f976361e8f2b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26304\nTested-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "66859712e4817288591908d737dbf41ddea31c3a",
      "tree": "709ea4f7b91aa2027071f7c611d577cc2df34aa9",
      "parents": [
        "1404fbbee41319e727915e745f09a05ef6f313f4"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Aug 25 20:04:30 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Aug 30 15:14:20 2017 +0000"
      },
      "message": "linux pci: Add dummy PCI access for shared contracts\n\nOther implementations may update the PCI_State in Resource_Size() and\nMap(). To share the contract with those implementations, we have to\nsimulate such accesses.\n\nChange-Id: If994db22d91eb3707e555871d854c3a25a13678b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/21206\nReviewed-by: Adrian-Ken Rueegsegger \u003cken@codelabs.ch\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "e05bf875c1e62f7ab044f6eee295183581175477",
      "tree": "52c2676666ab3fef50bf2a60e1194d6826b601e4",
      "parents": [
        "ff3240b2534b1c8509b772436d8c878092a0ec44"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Aug 25 20:02:19 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 20:17:18 2017 +0000"
      },
      "message": "direct pci: Always initialize Address_State\n\nLet Initialize() always initialize the Address_State. This is not only\nthe expected behaviour but also necessary to share the contract with\nother implementations.\n\nChange-Id: I0454dfd6c36f7d4298edeec5b84d929e3160eb7b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/21205\nReviewed-by: Adrian-Ken Rueegsegger \u003cken@codelabs.ch\u003e\n"
    },
    {
      "commit": "ff3240b2534b1c8509b772436d8c878092a0ec44",
      "tree": "6f04c143df7e004687551413d04edaec5e3135f3",
      "parents": [
        "ae9b85522aca8ef39622933e36c5c6ae144df140"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 09 16:23:04 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 21 10:52:56 2017 +0000"
      },
      "message": "pci: Add Linux sysfs implementation of HW.PCI.Dev\n\nIn Linux\u0027 sysfs, each PCI device has a directory like:\n\n    /sys/devices/pci0000:00/0000:00:02.0/\n\nTherein, the file `config` represents the PCI device\u0027s configuration\nspace. Alas, it\u0027s not mappable so we work on a read only copy. Should\nwe ever need dynamic read/write access, we\u0027d have to implement it\nusing read()/write().\n\nIO and MMIO resources are represented by mappable files, `resource[0-5]`\nfor uncacheable accesses and `resource[0-5]_wc` for write-combining\naccess.\n\nChange-Id: I1358e9336edaf75e8eff50808a8169b997817d7e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20554\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "ae9b85522aca8ef39622933e36c5c6ae144df140",
      "tree": "3083445a34b5e0d8d886238e6bfb58301e18f8f8",
      "parents": [
        "36934fbde04193046309dca1d8d3d27132d23882"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 09 15:25:41 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 21 10:52:50 2017 +0000"
      },
      "message": "pci: Add bare metal HW.PCI.Dev implementation\n\nAdd a HW.PCI.Dev implementation that assumes direct hardware access,\ni.e. its Map() implementations just returns the physical address of\na resource.\n\nChange-Id: I055a05a17e207e8b43aa02d1b39023b027f94f6c\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20551\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "4a1048266656f98415cbc294303a149803fd2717",
      "tree": "e3ef8b698ecaeb2c7509395bb5526d5a615d1f5c",
      "parents": [
        "ba37830467a686e2ab1d4d0133472c685cb3fa8d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 09 22:13:14 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Aug 20 21:16:15 2017 +0000"
      },
      "message": "Add Div_Round_Up() for positive integer types\n\nAlso rewrite Div_Round_Closest() as expression functions.\n\nChange-Id: I9f4bb0f2f442510f821d367d8b11d14a4f697a7e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20557\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\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": "ef4545afbf2547d2a5548df3730beff6efa243ac",
      "tree": "fe993918cefce4c1de5d2cc485ea7136aa381d1a",
      "parents": [
        "359e314ba97a211eec4bac4ea10b700852fbfd21"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 18 02:58:40 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Aug 19 00:24:45 2017 +0000"
      },
      "message": "pci: Add PCI device infrastructure\n\nAdd generic PCI packages:\n\no HW.PCI containing basic definitions for PCI devices and\n  configuration space headers,\no HW.PCI.MMConf that provides access to memory mapped confi-\n  guration space of a PCI device, and\no HW.PCI.Dev adding a method to map resources of a PCI device.\n\nChange-Id: I266ea35e273ff49fdb3176d617bb0b4ab1f13f93\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20258\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "359e314ba97a211eec4bac4ea10b700852fbfd21",
      "tree": "fa8ecd5dbbb1af755f28d120dc978d93fa309d58",
      "parents": [
        "874113d29cc23fd247995d5c7bac0b115dddbc25"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 09 19:03:06 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Aug 19 00:24:42 2017 +0000"
      },
      "message": "Add HW.Config for configuration constants\n\nChange-Id: Id60c61fc53c6e153dcb3cf9f5c55668e38072817\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20556\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\n"
    },
    {
      "commit": "874113d29cc23fd247995d5c7bac0b115dddbc25",
      "tree": "847b5c3d99cb14d69a2ce6f13bcf6eee3b75a0a5",
      "parents": [
        "32f1489253dde0a568653e277288d8e18dc6c388"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 18 02:40:51 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jul 12 23:14:29 2017 +0000"
      },
      "message": "time: Juggle with types for proof\n\nHelps with SPARK GPL 2017.\n\nChange-Id: Idc0a038b132438be13aef496c41d15300069ed02\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20257\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-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": "a5c8ba24c1a8fc6e911d4eb35770d66e9dd55c63",
      "tree": "4649adb50dc1b2b3668f428e9e696d5cee5d062b",
      "parents": [
        "aab715f166bf1b54cfbd6982e8df49248ea544d8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Feb 09 16:35:33 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Feb 14 13:01:27 2017 +0100"
      },
      "message": "Add Div_Round_Closest() for positive integer types\n\nChange-Id: Ic8d398902947bf18d97c9ab3c6ca6204aa0629f0\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18356\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\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"
    }
  ]
}
