)]}'
{
  "log": [
    {
      "commit": "2116f5d3dab8695f562d4b1485034df42a7cdc71",
      "tree": "fb11f5d4f49b4566019a24cd558f0f762742d137",
      "parents": [
        "6c962da55b96260f41690d30db3105daf81a479e"
      ],
      "author": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Wed Mar 29 16:20:58 2023 -0700"
      },
      "committer": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Wed Mar 29 16:20:58 2023 -0700"
      },
      "message": "Remove unnecessary feature declarations\n\nThis CL removes `default_alloc_error_handler` annotations as this\nfeature has been stabilized in Rust 1.68.0.\n\nBug: 267698452\nTest: m rust\nChange-Id: I9c0c099a522a1c9cc3acf92d40a6fd6b8e14277f\n"
    },
    {
      "commit": "5776f0881019034af1f6fff8a1a7666857e3df34",
      "tree": "79a43df2731bc820c14324dc1c77443c3c64ba4a",
      "parents": [
        "e37dae98a4d5c34dc12bc01ea51067b8f73823f4"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Fri Feb 10 21:38:26 2023 +0000"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Feb 16 14:33:18 2023 +0000"
      },
      "message": "Add --gdb flag to vm run,run-app and run-microdroid commands\n\nThis flag will be passed through to crosvm, which in turn will start a\ngdb server at the given port. This will allow us to attach gdb to guest\nkernel.\n\nThere are following rules on how --gdb flag can be used:\n\n1. Only caller with USE_CUSTOM_VIRTUAL_MACHINE permission (a.k.a. shell)\n   can specify gdbPort in the payload config\n2. The --gdb flag is only supported for non-protected VMs.\n3. The --gdb flag is only supported for fully debuggable app payloads.\n\nBug: 242057159\nTest: run-microdroid --gdb 3456\nChange-Id: Iea93d8e6b37d23801d84cc1dc5fc1a250b54a047\n"
    },
    {
      "commit": "7d1e5ec59e9372392a2d77c4ace34fe44e3415b9",
      "tree": "22f07acbec3302483731d255d5278fe158798ba3",
      "parents": [
        "440f6c1820b18bd1faf3e44b86e3465ffc733ed3"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 06 17:56:29 2023 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Feb 09 08:13:44 2023 +0000"
      },
      "message": "Refactor VM config to support different CPU topologies\n\nThis is preliminary work to support crosvm\u0027s --host-cpu-topology (WIP),\nwhich will make it possible to mirror host\u0027s CPU topology in the guest.\nAs a first step, we refactor AVF\u0027s system API to stop accepting number\nof vCPUs as an argument, but instead only expose two topology configs:\n1 vCPU (default) and matching the host\u0027s CPU topology.\n\nFor the time being, the latter results in crosvm started with `--cpu\n\u003cnproc\u003e`.\n\nBug: 266664564\nTest: atest -p packages/modules/Virtualization:avf-presubmit\nChange-Id: I03a37be0b68b93dc0fa6e84fd51ca3bdefbe6dde\n"
    },
    {
      "commit": "8d39a9b107a6252cc792290b113923347d412caf",
      "tree": "9141d2a986a9512434bb2ba18e86f3e7489811ae",
      "parents": [
        "02adf07059ef9ef16c6fe1c99848ee156c78f5a1"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Tue Jan 10 15:01:00 2023 +0000"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Tue Jan 10 17:16:27 2023 +0000"
      },
      "message": "virtmgr: fail fast on misconfigured device\n\nIf the device does not advertise support for protected or\nnon-protected VMs, but still has the virt APEX installed, then that\u0027s\nbad.\n\nFail fast to make this as noticeable as possible, and avoid wasting\nresources, rather than waiting for things to go wrong later on.\n\nWhile I\u0027m here: make sure we consistently say \"non-protected\" rather\nthan \"unprotected\".\n\nBug: 254599807\nTest: manual - fake property read, observe obvious failure\nTest: atest MicrodroidTests MicrodroidHostTests\nChange-Id: Ia0629f2d5b2094f6c1c41ff0fc3f2a76e285f0d7\n"
    },
    {
      "commit": "4b4c510ffbb30d046317e6b6c333a9c1b9eb8c4c",
      "tree": "f3aeeb80defacbb3c70a6ae8358547d4750fa1db",
      "parents": [
        "5f341b36d6e7bf8ff2d9a06203f1838eee249db0"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Dec 19 22:56:20 2022 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jan 05 10:31:00 2023 +0000"
      },
      "message": "Start using virtmgr for running VMs\n\nMake the final changes to start running VMs using virtmgr:\n\n  * Have virtualizationservice host the VirtualizationServiceInternal\n    AIDL service.\n\n  * Remove memlock rlimit of virtmgr (instead of virtualizationservice)\n    via a method on VirtualizationServiceInternal.\n\n  * Have VirtualizationServiceInternal create the VM\u0027s temporary folder\n    and change its owner to the client\u0027s UID. The files keep the same\n    virtualizationservice_data_file SELinux label, but are now owned by\n    the client\u0027s virtmgr instance. To this end, virtualizationservice\n    requires CAP_CHOWN.\n\n  * Switch all users to the new vmclient/javalib API for spawning\n    virtmgr.\n\nBug: 245727626\nTest: atest -p packages/modules/Virtualization:avf-presubmit\nChange-Id: I93b2cadb67a8c125e1a86f9c1ba9cb98336f0cd4\n"
    },
    {
      "commit": "f219cd8fd28c4805ff21cb01a5f33a7267a7756b",
      "tree": "398f6283b64b42379a64ec68a2b96c0f5c41b00c",
      "parents": [
        "137a835dd7c5fb7ede869d21fa3a8e29b3e6aafc"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Fri Sep 09 13:13:11 2022 -0700"
      },
      "committer": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Fri Sep 09 13:46:08 2022 -0700"
      },
      "message": "Delete cpu affinity config\n\nBug: 245746308\nTest: TH\nChange-Id: I0d74f55b7b41e5d6c38be0705582bf12fc9169d9\n"
    },
    {
      "commit": "d1bd3c141b14c24c9387b619ce7854aca3a2b4f6",
      "tree": "031538465c5c2040e762262d120d7ffa0f135ac6",
      "parents": [
        "982f4d9cd5735a05425a8a793f5baca60dcbae3d",
        "62085c0e65a78189ac14d970609ff21e329cf138"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 22 11:11:38 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 22 11:11:38 2022 +0000"
      },
      "message": "Merge changes I5e4db74f,I167148cd,I512a2cd0\n\n* changes:\n  Send UID and VM identifier to existing atoms\n  Implement write_vm_exited_stats for VmExited atom\n  Implement write_vm_booted_stats for VmBooted atom\n"
    },
    {
      "commit": "62085c0e65a78189ac14d970609ff21e329cf138",
      "tree": "3f4e9ced01f6192704564e70f0a2e8d8b84e5428",
      "parents": [
        "b4c07bab62d1097933d646ff7c695277cb3217c4"
      ],
      "author": {
        "name": "Seungjae Yoo",
        "email": "seungjaeyoo@google.com",
        "time": "Fri Aug 12 04:44:52 2022 +0000"
      },
      "committer": {
        "name": "Seungjae Yoo",
        "email": "seungjaeyoo@google.com",
        "time": "Mon Aug 22 02:08:34 2022 +0000"
      },
      "message": "Send UID and VM identifier to existing atoms\n\nBug: 236252851\nTest: N/A\n\nChange-Id: I5e4db74f9a5cefd071676b9d248e9c5d91c5bfdd\n"
    },
    {
      "commit": "5f7c3c72c46b2ab3e9549e9774a5be2a315b11b5",
      "tree": "491fb694478d2330000326b547fa17eadd0b75b5",
      "parents": [
        "2cb76a94d1fb7ff5dbace57ac6cd4851769eebca"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Aug 19 16:12:33 2022 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Aug 19 15:40:57 2022 +0000"
      },
      "message": "Move AVF tests to avf-pre/postsubmit test group\n\nAVF presubmit test config currently runs all tests in the \u0027presubmit\u0027\ngroup. However, in presubmit the test configs are invoked with all\nTEST_MAPPING paths from all affected CLs. Our test config can therefore\nrun tests from TEST_MAPPINGs outside of the Virtualization repo.\n\nTo work around this problem, move all Virtualization tests to\n\u0027avf-presubmit\u0027 group. Test config running in presubmit will still be\ninvoked with TEST_MAPPINGs from various repos but only our tests will\nmatch the group.\n\nRename the postsubmit group to \u0027avf-postsubmit\u0027 for consistency.\n\nBug: 236755822\nTest: atest --test-mapping packages/modules/Virtualization:avf-presubmit\nTest: atest --test-mapping packages/modules/Virtualization:avf-postsubmit\nChange-Id: I7be5781bef4b6e060a69724c7b4256423adc649c\n"
    },
    {
      "commit": "77497955f4e5adce2b72b149cc3fca2096215265",
      "tree": "7d7716714171cb3cf3145095e72020dbbba6a04b",
      "parents": [
        "587244f31fa5ce23108aea46f9e4a09731eb507a"
      ],
      "author": {
        "name": "Andrew Walbran",
        "email": "qwandor@google.com",
        "time": "Mon Aug 15 16:39:19 2022 +0000"
      },
      "committer": {
        "name": "Andrew Walbran",
        "email": "qwandor@google.com",
        "time": "Mon Aug 15 16:41:00 2022 +0000"
      },
      "message": "Update for new version of aarch64-paging.\n\nTest: atest rialto_test\nChange-Id: I5f4d900dab32534477aa7d6a3b8c71b73a3915e2\n"
    },
    {
      "commit": "0e82b50e236acdab78fa566e92442b020262b97f",
      "tree": "86d28a5dc3552139bbb28926ca87718d85223f0c",
      "parents": [
        "9c28cb083109e3d582be4f5159002a8803f21edd"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Mon Aug 08 14:44:48 2022 +0100"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Tue Aug 09 17:43:29 2022 +0100"
      },
      "message": "Move VM callback to vmclient\n\nInstead of having clients directly register a callback with VS,\nimplement a Rust level callback interface in vmclient. This saves an\nextra binder call on each notification, a bunch of boilerplate code,\nand allows us to provide a slightly better interface (e.g. we can use\nthe Rust DeathReason enum, as elsewhere in vmclient, for instantly\nbetter logging).\n\nI also replaced all our usages of \u003csome_interface\u003e::binder::{...} with\ndirect access to binder::{...}. That makes it clearer what depends on\nthe interface itself and what is just generic binder code. I realise\nthis should be a separate change, but I only realised that after doing\nbits of both.\n\nTest: composd_cmd test-compile, observe logs (on both success \u0026 failure)\nTest: atest -b (to make sure all our tests build)\nTest: Presubmits\nChange-Id: Iceda8d7b8f8008f9d7a2c51106c2794f09bb378e\n"
    },
    {
      "commit": "dfca76c8d115a981e61d96ad8cf897814e482f32",
      "tree": "80a872c66f74a4ed9181c4759bf1a685ab3f4c7d",
      "parents": [
        "93c5033614d15c83221623b05d881be8e963c548"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Wed Aug 03 13:31:47 2022 +0100"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Wed Aug 03 13:34:24 2022 +0100"
      },
      "message": "rialto: Apply timeout to VM exit in test\n\nNow that we have wait_for_death_with_timeout, use it.\n\nTest: Hack VM to not exit, see timeout error\nChange-Id: I4f9d03f6de6d441277c949d148c8fd3b30c8f88e\n"
    },
    {
      "commit": "b6463c911a13728f5a5e89c61c98e6829c21165e",
      "tree": "1aea000750dba9860e096b5d5e38ceef2343c59a",
      "parents": [
        "6629b6e5f85bdda1b93d9d3a5fe2799f329462fd"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jul 11 15:50:43 2022 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jul 12 12:51:34 2022 +0100"
      },
      "message": "rialto: Remove activate_kernel_pgt function\n\nMinor cleanup. Just call the activate() function from init_kernel_pgt.\n\nTest: atest rialto_test\nChange-Id: Ibc5762d91c06632da5d64e4c4ecddb3b61f8008b\n"
    },
    {
      "commit": "6629b6e5f85bdda1b93d9d3a5fe2799f329462fd",
      "tree": "70f780986db25e4827648cf2821e1211837a59de",
      "parents": [
        "05a72fda020c837800222ee5ac323ad465d6408b"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Sat Jul 09 22:48:49 2022 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jul 12 12:50:12 2022 +0100"
      },
      "message": "rialto: Move PT Attributes to global constants\n\nDefine global constants for page table attributes.\n\nTest: m rialto\nChange-Id: I30d6ed5865112637f43397af3cba4190594aa06b\n"
    },
    {
      "commit": "05a72fda020c837800222ee5ac323ad465d6408b",
      "tree": "09256dd0377f3072a7eced2026e9c45cc3143443",
      "parents": [
        "e2b2577f338b782c2fd977274d0d0217296783a1"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Sat Jul 09 17:33:08 2022 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jul 12 12:50:12 2022 +0100"
      },
      "message": "rialto: Remove \u0027extern crate log\u0027\n\nAdd liblog_rust_nostd into the list of rustlibs instead.\n\nTest: m rialto\nChange-Id: I12fa74771c50927bbd1a0c70ece43aa09b46cd05\n"
    },
    {
      "commit": "2022bfbffd4b962d0c006131e4870e8b951905db",
      "tree": "413a894fb389b46883ddca45eae8109dde75b2d3",
      "parents": [
        "66fc120377c6d989e505cd6c2e8c30d55948a04a"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jul 05 13:50:41 2022 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jul 08 15:12:50 2022 +0100"
      },
      "message": "rialto: Add rialto_test to presubmit\n\nTest: TH\nChange-Id: Idbea7e2bcaf8b796996dc6adfcdc50a2e37cda0d\n"
    },
    {
      "commit": "66fc120377c6d989e505cd6c2e8c30d55948a04a",
      "tree": "3ebbdea6a920842e44e61411341d58355b44c3b5",
      "parents": [
        "30a7f08dbfcd72ca89d7725c9ada8609b1eba806"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jul 04 21:48:45 2022 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jul 08 15:12:50 2022 +0100"
      },
      "message": "rialto: Initial commit\n\nClone of ./vmbase/example with basic setup code.\n\nTest: atest rialto_test\nChange-Id: Id3d4e96674c261316e79c020ff0b1bd88f4363ba\n"
    }
  ]
}
