)]}'
{
  "log": [
    {
      "commit": "e9d87e8cd7b58403552e01450ef7cb2624581692",
      "tree": "a1024e80a8f329da5fee2f5e9efee3c981197316",
      "parents": [
        "a503f424a0aacd5460c32613129500905f15c477"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Mar 21 19:28:40 2023 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Mar 27 22:33:04 2023 +0900"
      },
      "message": "Patch the template DT\n\nThe original DT from crosvm is now overwritten by the template DT, which\nis then patched.\n\nadd_dice_node is modified to patch_dice_node as google,open-dice node is\nalready in the template DT and therefore we don\u0027t need to (actually\ncan\u0027t) add new one.\n\nBug: 249054080\nTest: TH\nChange-Id: Ie1c93b56af6afd1a7844478f514bc42db3b2cff0\n"
    },
    {
      "commit": "9c63cd17b43320564843220f3cb925aeadfd3757",
      "tree": "0c6d1caa53f199c4ee0745abde11d280a6d4cc62",
      "parents": [
        "6a8789ab3aa6f5ff85b0c31fd0d968836aad0d3f"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Mar 21 17:53:07 2023 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Mar 27 20:12:24 2023 +0900"
      },
      "message": "Patch DT using information extracted from DT\n\nA number of patch_* functions were added to patch the given DT using\ninformation gathered from read_*_from functions.\n\nFor now, the same DT is patched. i.e. the tempalte DT is NOT used. This\nCL however is to show that the patch routines are working correctly.\n\nBug: 249054080\nTest: TH\nChange-Id: Iacd188cb19d131f2b761ea03ed7ceac39933e063\n"
    },
    {
      "commit": "6a8789ab3aa6f5ff85b0c31fd0d968836aad0d3f",
      "tree": "ba8c6990da83205469f7ace9ba43f0adbd4beb43",
      "parents": [
        "8331612946b76114ed5b5cf66ce460e2683557ee"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Mar 21 14:50:59 2023 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Mar 21 14:58:09 2023 +0900"
      },
      "message": "Refactor DT validation routine\n\nFor each category CAT of information that can be extracted from DT,\nfollowing routinese are created:\n\n* read_CAT_from(\u0026Fdt) -\u003e libfdt::Result\u003cCAT\u003e: for reading the info\n  from DT. At this point, pvmfw-specific validation beyond that is done\nby libfdt is NOT performed. Note the result type.\n\n* validate_CAT(\u0026CAT) -\u003e Result\u003c(), RebootReason\u003e: validates the\n  extracted information\n\nAlso, memory.rs is modified so that parsing the DT is done in one place.\n\nBug: 249054080\nTest: TH\nChange-Id: Ib672b23b3fb176b9d06e87ee909be9192ab21664\n"
    },
    {
      "commit": "4ba7966f2d40f2efe22553ee5f94af0b187d2fad",
      "tree": "07b361f3272a493de7b78437bf23222e9a260a99",
      "parents": [
        "496e945edad815f7caab3fd4b1022b2fec172092"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Feb 13 11:22:41 2023 +0000"
      },
      "committer": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Fri Feb 24 13:51:21 2023 +0000"
      },
      "message": "pvmfw: refactor: Generalize BCC DT node creation\n\nAs we expect to pass more data to the next stage than the BCC alone,\nintroduce a way for main() to collect the various settings influencing\nthe final DT operations.\n\nNote: No functional change intended.\n\nBug: 268307476\nTest: atest MicrodroidHostTests\nChange-Id: I7b8f812ffc622c2cd527e1c3247267cc87be1b9e\n"
    },
    {
      "commit": "8036b4f91eed066ab2ea51a09dae3ae708e61db0",
      "tree": "7c6264ed2dda18f3fd79f809b0fe17c2ff8d0591",
      "parents": [
        "1d41447423ac743a956c62b46da8d01e2c17d2f8"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Fri Feb 17 10:31:31 2023 +0000"
      },
      "committer": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Fri Feb 17 15:56:40 2023 +0000"
      },
      "message": "pvmfw: Use Fdt::as_ptr() during logging\n\nTest: m pvmfw_bin\nChange-Id: I8f845ce77c9ad3bb651fcf6713bf50e36681e095\n"
    },
    {
      "commit": "ba8929b19ec0ec0e89712b7b0cc76161550bc539",
      "tree": "e964244e030b350f22c4ede9aefa272e6b56ffe0",
      "parents": [
        "f27528641184f4805d9bd7705187d8d0f871baa6"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Jan 13 11:13:29 2023 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Feb 01 13:00:04 2023 +0900"
      },
      "message": "Disable ramdump with debug policy\n\nThis CL disables ramdump if debug policy doesn\u0027t explicitly\nenables ramdump via ramdump prop in the /avf/guest/common node.\n\nThe virtualization service always provides crashkernel\u003d17M via\nkernel command, so this CL removes crashkernel\u003d17MB in the\nmicrodroid\u0027s bootargs in the /chosen node.\n\nHere\u0027s the test result on my machine with MicrodroidTestApp.\n\n  - Before the CL (or this CL + ramdump is enabled)\n    $ adb shell /proc/meminfo\n    MemTotal:         212968 kB\n    MemFree:          138336 kB\n    MemAvailable:     171980 kB\n\n  - With this CL + ramdump is disabled\n    $ adb shell /proc/meminfo\n    MemTotal:         230372 kB\n    MemFree:          165240 kB\n    MemAvailable:     192648 kB\n\nBug: 243630590\nTest:  Boot microdroid with following AVF debug policies \\\n  - AVF debug policy exists, and ramdump\u003d\u003c1\u003e \\\n  - AVF debug policy exists, and ramdump\u003d\u003c0\u003e \\\n  - No AVF debug policy\nChange-Id: Ia486448b5513c2d5662a4f16ddb3334b20913329\n"
    },
    {
      "commit": "a07b25d02d87bedc26922762dbe4a421ae86ffeb",
      "tree": "017b60bcf0445a96715906677ffc3516abf1d150",
      "parents": [
        "cdf39ad7dfec18e09add476ba878c4a4ec522ad0",
        "75269629ae06df0c71a6d697b52c155d181761f6"
      ],
      "author": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Mon Jan 23 20:59:44 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 23 20:59:44 2023 +0000"
      },
      "message": "Merge \"Fix warnings from Rust 1.65.0\""
    },
    {
      "commit": "75269629ae06df0c71a6d697b52c155d181761f6",
      "tree": "2a10f92b9ce5f756b55f730b4d8856ec49992624",
      "parents": [
        "861c9de206d136546c47db27d6a01689f0614179"
      ],
      "author": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Mon Dec 05 23:01:44 2022 -0800"
      },
      "committer": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Thu Jan 19 11:10:35 2023 -0800"
      },
      "message": "Fix warnings from Rust 1.65.0\n\nBug: 250026064\nTest: m rust\nChange-Id: I264dc2c92525a64f91706a0015d61d16c9cb4d6c\n"
    },
    {
      "commit": "90e19359632b87bc3f3e410cf4fd4e01a3891538",
      "tree": "dbb3fc17bf119fb508cfef6d26c6108426e711b4",
      "parents": [
        "8253ac6b6ef6fec0c398a94f05213c837df4d457"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Nov 21 17:11:48 2022 +0000"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Jan 19 16:23:09 2023 +0900"
      },
      "message": "pvmfw: Apply debug policy from config to VM FDT\n\nApply the debug config device tree overlay obtained from the\nconfiguration data to the final device tree that the payload will\nreceive.\n\nBug: 232900974\nTest: atest MicrodroidTestApp # Uses default (userdebug?) DP\nChange-Id: Ic616f6eddd669f09ad28e40fff61aa88a2bfb60c\n"
    },
    {
      "commit": "db74cb16ed9b49b714e5da75aae7d020cb5f651d",
      "tree": "ce71865d326e0fe576f72fbeb3caa9466eddd598",
      "parents": [
        "4f4f5eb3e009260544b939648a6bf7a41e262bdc"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Thu Dec 08 13:56:25 2022 +0000"
      },
      "committer": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Thu Jan 12 10:49:21 2023 +0000"
      },
      "message": "pvmfw: Pass BCC to next stage through DT\n\nGenerate the next stage BCC in a heap-allocated page-aligned buffer that\nour allocator leaks so that it outlives the execution of pvmfw and can\nbe accessed by the next stage. Flush the cache to ensure that it isn\u0027t\ndestroyed during invalidation (by the next stage) or missed if accessed\nwith the caches disabled.\n\nPass the size and location of the region through a pKVM-standard\ndevice tree node.\n\nBug: 256827715\nTest: atest MicrodroidHostTests\nChange-Id: I5931054f74063eac3b3b21a6bcbe4881af2e1e8e\n"
    },
    {
      "commit": "0d8b54d1d7426508a22a24633e2e9e1496deabaf",
      "tree": "01f25b431ad8a7d7855c82ccb817a5346654603f",
      "parents": [
        "e11eace8a90231667f91ad1ea4cbed1e842ef49e"
      ],
      "author": {
        "name": "Andrew Walbran",
        "email": "qwandor@google.com",
        "time": "Thu Dec 08 16:32:33 2022 +0000"
      },
      "committer": {
        "name": "Andrew Walbran",
        "email": "qwandor@google.com",
        "time": "Mon Dec 12 12:42:34 2022 +0000"
      },
      "message": "Map PCI (BAR) MMIO range too.\n\nBug: 237249346\nTest: Ran pVM firmware manually.\nChange-Id: Id1be96e080a3ee90b3cf842fdfed1dc8043aa2df\n"
    },
    {
      "commit": "b39e6923ff8d2780b4ac705d6435b708656c7f2c",
      "tree": "d7104651d823d6844061b99c86fa23620b274ca8",
      "parents": [
        "55ad01b92dda9231a233db9e1a6a53b95595b35f"
      ],
      "author": {
        "name": "Andrew Walbran",
        "email": "qwandor@google.com",
        "time": "Mon Dec 05 17:01:20 2022 +0000"
      },
      "committer": {
        "name": "Andrew Walbran",
        "email": "qwandor@google.com",
        "time": "Mon Dec 05 17:55:28 2022 +0000"
      },
      "message": "Add iterator over ranges property.\n\nBug: 237249743\nTest: m vmbase_example_bin pvmfw_bin\nChange-Id: I2866f4121a0e60e99e0b188182fe1ed37cd213be\n"
    },
    {
      "commit": "55ad01b92dda9231a233db9e1a6a53b95595b35f",
      "tree": "6248e3ab09004b391a03c7a779655f1fa942de09",
      "parents": [
        "02bc050d2b368f3574814ef854c8f3df9b11b75b"
      ],
      "author": {
        "name": "Andrew Walbran",
        "email": "qwandor@google.com",
        "time": "Mon Dec 05 17:00:40 2022 +0000"
      },
      "committer": {
        "name": "Andrew Walbran",
        "email": "qwandor@google.com",
        "time": "Mon Dec 05 17:55:23 2022 +0000"
      },
      "message": "Move iterators to new module.\n\nThe main module is getting rather big.\n\nBug: 237249743\nTest: m vmbase_example_bin pvmfw_bin\nChange-Id: Ia99044e8c833bd3fb4f6230bd123d95eb71f0b66\n"
    },
    {
      "commit": "ef2030e839a8c136f79e6cfad6f74acc3ff0983a",
      "tree": "45e588520a24b280883a70a5bbada41b4e388497",
      "parents": [
        "b244d933aadfbb6effcfc993fd4227ebab4f3041"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Nov 28 11:21:20 2022 +0000"
      },
      "committer": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Nov 28 21:52:06 2022 +0000"
      },
      "message": "libfdt: Rename Fdt::bytes to Fdt::buffer\n\nTo reduce potential confusion, rename the private field.\n\nNote: No change intended.\n\nBug: 255521657\nTest: atest MicrodroidTestApp\nChange-Id: Ic4eebf81182d4313befe0fc8b50a0f3aa24169b2\n"
    },
    {
      "commit": "b244d933aadfbb6effcfc993fd4227ebab4f3041",
      "tree": "d25275cb31600d893beb7b0f7fef405c422869b6",
      "parents": [
        "1b0d890386e814bb693edcb90db96d6ca3748fff"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Thu Nov 24 16:45:53 2022 +0000"
      },
      "committer": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Nov 28 21:52:06 2022 +0000"
      },
      "message": "libfdt: Map FDT_ERR_NOTFOUND to Option::None\n\nUpdate the API to make use of Option when retrieving a node or property\nfrom a DT, to ensure that client code treats NOTFOUND (a return value\nwhich might not be a hard error) differently from serious error values.\n\nBug: 255521657\nTest: atest vmbase_example.integration_test\nChange-Id: I1404cab01f2065b0fed07330b8c1be54bb993680\n"
    },
    {
      "commit": "1b0d890386e814bb693edcb90db96d6ca3748fff",
      "tree": "356f4882c172f2f2b606ede9d6063164baeaf371",
      "parents": [
        "a5f11e0e881e0268d95bdab1b1db5183ca2c8ddf"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Nov 21 18:16:59 2022 +0000"
      },
      "committer": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Nov 28 12:03:21 2022 +0000"
      },
      "message": "libfdt: Extend Rust wrapper with write functions\n\nAdd a subset of the libfdt \"read-write\" function to the Rust wrapper.\n\nBug: 255521657\nTest: atest vmbase_example.integration_test\nChange-Id: Id73e823d7f522431c8f9dd23799841317a9ce38a\n"
    },
    {
      "commit": "41c158eb7064aab8325d85437ce23e09059a7528",
      "tree": "0141280702d2f5d2e0479bdc3266386342441e46",
      "parents": [
        "1baa9a9756ca2d34ff9116863adc06328bb19abd"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Nov 21 19:16:25 2022 +0000"
      },
      "committer": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Wed Nov 23 14:23:09 2022 +0000"
      },
      "message": "libfdt: Add CompatibleIterator\n\nAdd an iterator over FDT nodes sharing a compatible string, to be used\nby drivers to locate their devices.\n\nBug: 237249743\nBug: 255521657\nTest: atest vmbase_example.integration_test\nChange-Id: I012bb6e93c286189d763685e9be7eba6952022f0\n"
    },
    {
      "commit": "1baa9a9756ca2d34ff9116863adc06328bb19abd",
      "tree": "da8df396f396f57607942b633d21115580a1d5f3",
      "parents": [
        "f4f3d1cbd73faecfcdfaa8dc585f20657498dba2"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jun 28 14:47:50 2022 +0100"
      },
      "committer": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Nov 21 18:17:10 2022 +0000"
      },
      "message": "libfdt: Create Rust wrapper\n\nlibfdt is the industry standard library for parsing and generating\nDeviceTree format. Create a wrapper around it for use in bare-metal Rust\nprojects. The low-level functions are not exposed directly but rather\nwrapper by an Fdt object that exposes information parsed from the DT\nusing high-level constructs.\n\nOnly parsing of \u0027/memory\u0027 entries is implemented for now and tested in\nthe vmbase example kernel. Other information and FDT generation will be\nadded at a later time.\n\nBug: 255521657\nTest: atest vmbase_example.integration_test\nChange-Id: If095ff3c4534d18bdf8ee5ebb072dde7a6e6efab\n"
    }
  ]
}
