)]}'
{
  "log": [
    {
      "commit": "611dbc99bb47faafcd5d8356f455d122660e80d5",
      "tree": "1d31309953278665c00565cfae14d86c99bc14ba",
      "parents": [
        "3b27c6f519f4ca5a96466129046397d1f79574f8"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Apr 23 19:08:02 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed May 01 19:09:09 2024 +0000"
      },
      "message": "Put A/B/R logic in a separate libabr\n\nAdds a libabr library to host Fuchsia A/B/R logic without the gbl\ndependencies. This will be the first candidate for code share with\nFuchsia and will be replacing the Fuchsia libabr C library. libgbl may\nalso use the library to ensure backward compatibility for existing\ndevices that use the original libabr.\n\nThe library is mostly a line to line translation, including code\ncomments, from the Fuchsia C libabr. This makes sure that we are keeping\nall subtle considerations and bug fixes that we have accumulated over\nthe past.\n\nThe library provides a C static library build target that exports the\nsame C interfaces as C libabr. It currently passes all upstream tests\nin \"src/firmware/lib/abr/test/libabr_test.cc\". The only exceptions are\nthe `read/write_abr_metadata_custom` usage which we\u0027ll deprecate since\natlas is no longer relevant.\n\nBug: 336318818\n\nChange-Id: Ifa179ef6cd50a887dacefd8b92ac790918d34fe0\n"
    },
    {
      "commit": "3b27c6f519f4ca5a96466129046397d1f79574f8",
      "tree": "36bd2e19863467b8e963904673f32643f1fdb87a",
      "parents": [
        "57d214e02106f0efe7f97b1f135cb5ae863721b3"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Fri Apr 26 00:05:29 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Fri Apr 26 02:28:53 2024 +0000"
      },
      "message": "Fix build error due to chkstk/alloca on x86\n\nThe `avb_cert_validate_vbmeta_public_key` API uses more than 8KB of\nstack memory and triggers the compiler to insert calls to function\n__chkstk() and __alloca() on x86/x86_64 platforms. Although rust\nlibcompiler_builtins does provide the implementations, there are\ntwo issues:\n\n1. LLVM mangles the symbol and add an additional underscore to the\n   symbol name, causing link to fail to find the correct one.\n2. The implementation is not enabled for x86 uefi build. x86_64 had the\n   same issue but was fixed. But it wasn\u0027t ported to x86.\n\nAs a workaround, for #1 we define mangled symbols that simply jump to\nthe correct one. For #2 we apply the same fix from x86_64 for x86 at\nbuild time to and rebuild std from source, until upstream is fixed.\n\nBug: 337114254\n\nChange-Id: Id7bce71a7d5ca08fc79180733e40fc1ec083da57\n"
    },
    {
      "commit": "57d214e02106f0efe7f97b1f135cb5ae863721b3",
      "tree": "3ca88115d7925a1865873c4983e206b479a76367",
      "parents": [
        "c984ad87b7588c01da4c6c23e75fead2b6cb0f7a"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Apr 24 16:55:26 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Apr 24 16:59:40 2024 +0000"
      },
      "message": "Add a top-level LICENSE file\n\nWe are hoping to import the GBL repo into the Fuchsia source tree to\nreuse libraries such as A/B where the bootloader and OS need to be\nconsistent with each other. A LICENSE file is needed at the top-level\nbefore doing so.\n\nBug: 336327811\nChange-Id: Ibbe6df96939921fe6a2b30756b8317b6263c2f39\n"
    },
    {
      "commit": "c984ad87b7588c01da4c6c23e75fead2b6cb0f7a",
      "tree": "4ea590096ec1f027bcc75850884de2cc1de8da52",
      "parents": [
        "276f9de6b1b1d83013360ee3ff5c9f442be164cb"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Tue Apr 16 11:25:21 2024 -0700"
      },
      "committer": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Mon Apr 22 16:56:06 2024 -0700"
      },
      "message": "Use safemath library within GBL\n\nSwap out usage of checked arithmetic helper functions to use\nsafemath::SafeNum.\n\nIncludes conversion between usize and u64.\n\nTests: all unit tests pass\n\nChange-Id: Ic5b43ed185f4b9eef8489e72c592aca3d4cd2919\n"
    },
    {
      "commit": "276f9de6b1b1d83013360ee3ff5c9f442be164cb",
      "tree": "bdcfa9616caa5216f6c4a04b61812fb30d5cf73c",
      "parents": [
        "ed983f7e39d46f01872ebca8a75a27db4732a8e8"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Apr 16 23:27:16 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Apr 22 19:05:49 2024 +0000"
      },
      "message": "Flush cache by VA on aarch64\n\nOn aarch64, GBL flushes data cache by all sets/ways. This is only valid\nhowever, during core power-up/power-down sequence and does not guarantee\nto work outside of it, i.e. in smp mode. The more reliable approach is\nto flush by VA, i.e. \"dc civac\", which guarantees reaching PoC. The CL\nswitches to use `flush_dcache_range` from the ATF library and explicitly\nflushes only the image buffers needed for kernel booting. The rest of\nthe memory, in particular the stack, is left stale and the kernel jump\nlogic is reworked to only use register values loaded before disabling\nMMU/cache.\n\nBug: 316349883\n\nChange-Id: I6bc67c562bd3a384879d23bd11344d03d9ee2379\n"
    },
    {
      "commit": "ed983f7e39d46f01872ebca8a75a27db4732a8e8",
      "tree": "1f12a623f179a216568df1254e665b76474aeb8b",
      "parents": [
        "5c5ea94606b98d0113ab1e89f4ff5304af5c27c3",
        "e20b165fe58862b50163cacbff64da8f4cbe42ae"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Apr 17 19:57:15 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 17 19:57:15 2024 +0000"
      },
      "message": "Merge \"Add GBL interfaces for block device, console, boot\" into main"
    },
    {
      "commit": "e20b165fe58862b50163cacbff64da8f4cbe42ae",
      "tree": "44a8186dabf7b8f1329e4318f532b2acf8cb99af",
      "parents": [
        "e1061624d04c39a420f180fbefee5931b64dd69c"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Apr 10 20:51:55 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Apr 17 18:44:25 2024 +0000"
      },
      "message": "Add GBL interfaces for block device, console, boot\n\nAdds interfaces in GblOps for acessing platform block devices, reading\nand writing platform console and platform specific boot. Also sets up\nbasic integration tests for libgbl.\n\nBug: b/334962166\n\nChange-Id: I2aa1974599af47a619ca3b7e905f6b8055f5951a\n"
    },
    {
      "commit": "5c5ea94606b98d0113ab1e89f4ff5304af5c27c3",
      "tree": "570a3ad2048e4b3ef70475fabb43c717cf850c44",
      "parents": [
        "910eb0f1c8157db1ab96bcd3eed7c8321142d58e"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Tue Apr 02 16:59:09 2024 -0700"
      },
      "committer": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Mon Apr 15 15:16:53 2024 -0700"
      },
      "message": "Initial commit for checked arithmetic library\n\nCertain libraries, e.g. block storage, conduct arithmetic on\nvery large numbers and may generate overflows.\nThis is potentially very dangerous because, for storage in particular,\nthis can cause disk writes to non-sensical locations and lead to\nunrecoverable data.\n\nThe safemath library wraps the so-called \u0027checked\u0027 arithmetic\noperations and provides a primitive number with the following semantics:\n* All arithmetic operations are checked. If an operation would result\nin an overflow, the result is \u0027poisoned\u0027 and tracked.\n* Converting from a safe number to a primitive integer requires the caller\nto handle any potential poison.\n* Converting from a safe number to a primitive integer generates an\nerror if the destination type is not sufficiently wide.\n\nTests: new unit tests all pass\n\nChange-Id: I1cb12d72bc9bbca511f53c78207f9d9ff2b7f761\n"
    },
    {
      "commit": "910eb0f1c8157db1ab96bcd3eed7c8321142d58e",
      "tree": "25017c3a2d6dbf1f18f9f1e3ffb223c5d09f7620",
      "parents": [
        "e1061624d04c39a420f180fbefee5931b64dd69c",
        "4603cedadbe4f06bbd59feb432d2ec8369c49697"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Fri Apr 12 22:47:34 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 12 22:47:34 2024 +0000"
      },
      "message": "Merge \"gbl: update BUILD rules for ATX-\u003eCert rename\" into main"
    },
    {
      "commit": "e1061624d04c39a420f180fbefee5931b64dd69c",
      "tree": "099a1bf552604143268efbf2aa23f60b76462227",
      "parents": [
        "836d997de6a4b173814fc3777841b8d8dc6d8338"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Apr 10 21:50:57 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Apr 10 23:14:36 2024 +0000"
      },
      "message": "Move avb sysdeps implementation into libavb\n\nMove avb implementation into libavb so that it can be reused in both\ntest and EFI environment. If this proves to be good and useful enough,\nwe can consider further moving them upstream.\n\nChange-Id: Ie53bea6517f987f08b98c95ae152f8c6952ca60c\n"
    },
    {
      "commit": "4603cedadbe4f06bbd59feb432d2ec8369c49697",
      "tree": "0bb70ec678e048c9778eb400b3b789fa8b82b81c",
      "parents": [
        "836d997de6a4b173814fc3777841b8d8dc6d8338"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Tue Apr 09 16:19:30 2024 -0700"
      },
      "committer": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Tue Apr 09 16:24:16 2024 -0700"
      },
      "message": "gbl: update BUILD rules for ATX-\u003eCert rename\n\nBug: b/333078493\nTest: ./tools/bazel test @gbl//tests --extra_toolchains\u003d@gbl//toolchain:all\nChange-Id: If11d352491bb5e1101317846a19bb24bc19dea29\n"
    },
    {
      "commit": "836d997de6a4b173814fc3777841b8d8dc6d8338",
      "tree": "a0caaae3e1b6dda5221ca0a56e7663cc5e41e5b5",
      "parents": [
        "f504debaf0e77297684ed73819159763145bdd38"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Apr 08 18:27:19 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Apr 08 19:04:28 2024 +0000"
      },
      "message": "Support Fastboot over USB\n\nImplement Fastboot over USB using EFI_ANDROID_BOOT_PROTOCOL. TCP \u0026 USB\nare supported concurrently. GBL keeps polling TCP USB interfaces and\nprocess Fastboot command based on the following rule:\n\n1. If a USB packet arrives, GBL runs Fastboot over USB exclusively\n   until the command in the paket is done. In the case of downloads,\n   it will process until the download is complete. It then polls TCP\n   connection.\n2. If a TCP connection is established, GBL runs Fastboot TCP\n   exclusively until connection is lost. Then returns to 1.\n\nBug: 333406178\nChange-Id: I522733340557e86dbf436e7791b91813e23398fd\n"
    },
    {
      "commit": "f504debaf0e77297684ed73819159763145bdd38",
      "tree": "1530f5bd752dbe8b49bab559e687ef3daa2d9712",
      "parents": [
        "79b50a4bc843707be0169ae4aa4b4be208d3a58f",
        "a3c9a6a26a9d9a09966b4af7f898ec866c1d7ff7"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Apr 08 17:33:11 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 08 17:33:11 2024 +0000"
      },
      "message": "Merge \"Support EFI_ANDROID_BOOT_PROTOCOL\" into main"
    },
    {
      "commit": "a3c9a6a26a9d9a09966b4af7f898ec866c1d7ff7",
      "tree": "08ed1f4214f4d4805478cfee4017f1e1a70f2df1",
      "parents": [
        "85f238b2eb851112c67ef17c65669fc4e10dae84"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Apr 02 20:43:59 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Fri Apr 05 23:05:42 2024 +0000"
      },
      "message": "Support EFI_ANDROID_BOOT_PROTOCOL\n\nAdd C header and rust bindings for EFI_ANDROID_BOOT_PROTOCOL. Also\nsplits existing protocols to individual files.\n\ngbl/libefi/src/protocol/android_boot.rs is the new code for\nEFI_ANDROID_BOOT_PROTOCOL.\n\nBug: 332716858\n\nChange-Id: Ifccad65b9884d4dd1d873161abcc16452e420a2e\n"
    },
    {
      "commit": "79b50a4bc843707be0169ae4aa4b4be208d3a58f",
      "tree": "fe4a80f59a08a7120839f62f65f09451f03fd757",
      "parents": [
        "85f238b2eb851112c67ef17c65669fc4e10dae84"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Fri Mar 29 14:37:47 2024 -0700"
      },
      "committer": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Wed Apr 03 14:45:51 2024 -0700"
      },
      "message": "First commit for libstorage testlib\n\nMove TestBlockDevice into a standalone module and export it as a new rust_library.\n\nImplement a builder pattern for flexible customizations with\nreasonable defaults.\n\nRemove duplicated implementations of TestBlockDevice in other test code\nand replace uses with centralized implementation.\n\nNote: the consumption and re-export of storage lib traits is an\nunfortunate workaround for using Vec for block storage and scratch buffer.\n\nTests: all unit tests pass\n\nChange-Id: I936a75dc2a4d30c7cab30af7001362010f0617db\n"
    },
    {
      "commit": "85f238b2eb851112c67ef17c65669fc4e10dae84",
      "tree": "5efc2ffad37d133a12c472ae3c682e21af9287d3",
      "parents": [
        "e5526fb6f833187c2805c239f86e4f305c5323c1"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Apr 03 17:24:27 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Apr 03 17:24:27 2024 +0000"
      },
      "message": "Add libavb_atx to bindgen\n\nChange-Id: Ia5ae1a679bf8d07eef47b5b4fe794ec357739cf5\n"
    },
    {
      "commit": "e5526fb6f833187c2805c239f86e4f305c5323c1",
      "tree": "4928d5fa6effb8e4612eb9fb47ebb66262e5b37b",
      "parents": [
        "7864e2c957ece0781bf49950004b9459e4040ce4",
        "7c5ac199a496595a584103ef42947f18e9a9b7b1"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Apr 03 16:21:23 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 16:21:23 2024 +0000"
      },
      "message": "Merge \"Support flashing sparse image\" into main"
    },
    {
      "commit": "7c5ac199a496595a584103ef42947f18e9a9b7b1",
      "tree": "516b7231936bc3cba59715b5cb7cbb2f16854c51",
      "parents": [
        "c837e6b1981989e2d09a4a0610e2545b20ae7522"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Apr 01 19:55:31 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Apr 02 21:06:52 2024 +0000"
      },
      "message": "Support flashing sparse image\n\nBug: 331854173\nChange-Id: Ic8774f5fa0462138dcbb3a1bc093e5b98ff14612\n"
    },
    {
      "commit": "7864e2c957ece0781bf49950004b9459e4040ce4",
      "tree": "cfe9671745dda1dfce695df3058a682eab1320e5",
      "parents": [
        "c837e6b1981989e2d09a4a0610e2545b20ae7522"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Tue Mar 19 12:54:06 2024 -0700"
      },
      "committer": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Mon Apr 01 14:20:17 2024 -0700"
      },
      "message": "Initial Android implementation for A/B boot\n\nProvide a GBL interface for the Android reference implementation of\nA/B slotted boot semantics.\n\nNote: The reference implementation permits but does not require up to\n      four slots. This makes it difficult to reconstruct a default\n      metadata structure without scanning the partition table to\n      determine the actual number of slots.\n      The current implementation defaults to assuming 4 slots.\n\nNote: This change does NOT fully support Android A/B semantics.\n      In particular this change does not handle booting to recovery.\n      Those changes will be made subsequently and will require some\n      additional modifications for scatter/gather disk access.\n\nTests: unit tests all pass\n\nChange-Id: I1c6f2e39c5afbd618d08e243b21727705ef6e9c7\n"
    },
    {
      "commit": "c837e6b1981989e2d09a4a0610e2545b20ae7522",
      "tree": "e1a14ad0dafe2b5201c11b5f687672709aa306bc",
      "parents": [
        "1a60f01421a6dded0cf1aca2c9dd542c03eea3b5"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Mar 28 22:25:51 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Fri Mar 29 18:21:09 2024 +0000"
      },
      "message": "Support fastboot flashing\n\nBug: 331854173\n\nChange-Id: Ie9ce671821512d2fd1dd50145fbdb2ba5d5aacda\n"
    },
    {
      "commit": "1a60f01421a6dded0cf1aca2c9dd542c03eea3b5",
      "tree": "54baa267e7f7cd36c27d9b4188eaa349501a0fe3",
      "parents": [
        "23a26fb23693bb682f666d0fafe8bb56a96fe2f8"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Mar 27 21:06:56 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Fri Mar 29 17:19:39 2024 +0000"
      },
      "message": "Support \"fastboot fetch\"\n\nAdds support for the \"fastboot fetch\" command that fetches partitions\nfrom the device. Introduces a semantic that supports specifying any sub\nrange of a GPT partition or raw block device as a \"partition\" in\nFastboot commands.\n\nBug: 331257795\nChange-Id: I06df9fbb3c63e0d941af808be1fb747084b9f6b8\n"
    },
    {
      "commit": "23a26fb23693bb682f666d0fafe8bb56a96fe2f8",
      "tree": "4650b6a8468132a47af586daebee7bcdcf57e65f",
      "parents": [
        "861887e2a0c9bf136a2e13d3aa36799943865875"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Mar 28 18:03:24 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Mar 28 18:14:14 2024 +0000"
      },
      "message": "Use new avb ops lifetime\n\nTurns out external/avb isn\u0027t added to the triggering list of gbl\npresubmit. The new avb ops life time breaks current build. The presubmit\ntrigger needs to be updated later.\n\nChange-Id: I47481152202af005141fd2db9741b36ba0d345a5\n"
    },
    {
      "commit": "861887e2a0c9bf136a2e13d3aa36799943865875",
      "tree": "ff7c2dfb705700c1c4ba74d3e4487c15c617a47e",
      "parents": [
        "a86fa6086a31ffe0687ca87d23bff24d3156277b"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Mar 21 21:01:00 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Mar 26 21:13:16 2024 +0000"
      },
      "message": "Add initial draft for a EFI Android Boot protocol\n\nWe are starting to interact more with vendor firmwares and will soon\nneed an interface to handle platform specific operations needed to\nimplement GBL features. Starts an initial draft for adding EFI protocol\ninterfaces that can be used by EFI applications to implement android\nverified booting, fastboot etc. Initially added abstracted interfaces\nfor Fastboot over USB.\n\nThe draft will be used as a basis for development and iteration and\nwill continously evolve.\n\nBug: 322541826\nChange-Id: Iada3c9ddb8df9f80c6bfdafa6ffe757942d5bab9\n"
    },
    {
      "commit": "a86fa6086a31ffe0687ca87d23bff24d3156277b",
      "tree": "6f56a25d375a754fbac0b2c91424e94d9fcfcb2f",
      "parents": [
        "7bda36f0c88cb817a70106331e8070f3f34b4897"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Mar 21 05:16:05 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Fri Mar 22 22:22:31 2024 +0000"
      },
      "message": "Support fastboot upload/OEM command\n\nImplements fastboot upload and OEM commands. This allows implementation\nto support staging datat with `fastboot get_staged`\n\nChange-Id: I00ded01e8b5cebe17922e4df5eae252265763d3c\n"
    },
    {
      "commit": "7bda36f0c88cb817a70106331e8070f3f34b4897",
      "tree": "0c4e9b98cea5b76c38d76e931a3299fa880c46c8",
      "parents": [
        "cf51f287c340c75a15b070440718032643006a5f"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Mar 19 21:14:27 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Mar 21 17:51:42 2024 +0000"
      },
      "message": "Implement GBL fastboot backend\n\nImplements fastboot backends using generic GBL interfaces. Initially\nsupport `fastboot getvar [partition|block-device]`.\n\nBug: 328784766\nChange-Id: Ic236bb8cefc841e13185fcacccb4b42796fa6ae8\n"
    },
    {
      "commit": "cf51f287c340c75a15b070440718032643006a5f",
      "tree": "43c8fa759e10f5812c7ccd461f836f1c318380ca",
      "parents": [
        "ea2fdec7ef54f3b110846eaa42a02e298c55ff21",
        "4f1b9f72e32156cde6f2b817b74f9a27d01d7050"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Mar 19 21:08:23 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 19 21:08:23 2024 +0000"
      },
      "message": "Merge \"Generalize MultiGptDevices to AsMultiBlockDevices\" into main"
    },
    {
      "commit": "ea2fdec7ef54f3b110846eaa42a02e298c55ff21",
      "tree": "c7091fa9f92d2043ddeb599f20b6b3313aee5cf5",
      "parents": [
        "5b19e6dae7d210292e61f904cd09fae1b177acf4",
        "2acef74d09140b64ba906364d1db6b23e03b9828"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Tue Mar 19 19:51:16 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 19 19:51:16 2024 +0000"
      },
      "message": "Merge \"Generalize partition backed A/B/R metadata operations.\" into main"
    },
    {
      "commit": "2acef74d09140b64ba906364d1db6b23e03b9828",
      "tree": "fee7c0ad2242fb22e1ebb54d7e8490377cb7f112",
      "parents": [
        "7b7fe1bfd57f5c508b042e2e868ee4ac3cce7208"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Thu Mar 14 14:17:08 2024 -0700"
      },
      "committer": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Tue Mar 19 10:30:01 2024 -0700"
      },
      "message": "Generalize partition backed A/B/R metadata operations.\n\nRefactor and expose primitives for describing a partition-backed\nslots::Manager implementation.\n\nIncludes a new slots::partition module which exposes a MetadataBytes\ntrait.\nRemove reliance on trait objects and instead statically genericize\nslot Manager usage and internals.\n\nTests: atest\n\nChange-Id: Ibda5fa8f5bd1657a2e1a9a0627f3e13fa02317fd\n"
    },
    {
      "commit": "4f1b9f72e32156cde6f2b817b74f9a27d01d7050",
      "tree": "05fecd574379175610f12eeea2cc34e84aa01795",
      "parents": [
        "d44760dd26c07fd38d77c02b868b5f8881e3a77a"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Mar 18 06:30:11 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Mar 19 05:05:00 2024 +0000"
      },
      "message": "Generalize MultiGptDevices to AsMultiBlockDevices\n\nExtends MultiGptDevices to support reading/writing both GPT partitions\nand raw block content for multiple block devices. This is necessary for\nimages that need to be flashed to non-GPT block device, i.e. emmc\nboot0/boot1. It can also be used for writing GPT headers.\n\nBug: 330163955\n\nChange-Id: I435201deb8a411593e06f631715ac2b9425a4ad8\n"
    },
    {
      "commit": "5b19e6dae7d210292e61f904cd09fae1b177acf4",
      "tree": "94f481d6027e97a5f90b8944b480f0b488c9d639",
      "parents": [
        "d44760dd26c07fd38d77c02b868b5f8881e3a77a",
        "d6bdbc474ba32695a5a04e024c03b67d0f6724f9"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Mar 18 17:40:45 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 18 17:40:45 2024 +0000"
      },
      "message": "Merge \"Fix unnecessary panics in efi net\" into main"
    },
    {
      "commit": "d6bdbc474ba32695a5a04e024c03b67d0f6724f9",
      "tree": "baadba31d3e02badb3f7bfb14f288972a85f7974",
      "parents": [
        "ce1f4d88ed1412cecae2f84615057cfb524b0d3b"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Mar 18 06:01:42 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Mar 18 06:01:42 2024 +0000"
      },
      "message": "Fix unnecessary panics in efi net\n\nRemove unnecessary panics in with_efi_network() API.\n\nBug: 328784706\nChange-Id: Ifbb4ec9507f2aaf69f9ec00730d86be3e80d3772\n"
    },
    {
      "commit": "d44760dd26c07fd38d77c02b868b5f8881e3a77a",
      "tree": "d040fc3df24ac434c649038a7208dde8d723d472",
      "parents": [
        "ce1f4d88ed1412cecae2f84615057cfb524b0d3b"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Fri Mar 15 22:49:21 2024 +0000"
      },
      "committer": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Fri Mar 15 22:49:21 2024 +0000"
      },
      "message": "Add basic BCB support to GBL Android app\n\nSupport booting into recovery as well\n\nBug: 329716686\nChange-Id: I014c8832a3c3107d7524c6e92940e6a73912d6dd\nSigned-off-by: Dmitrii Merkurev \u003cdimorinny@google.com\u003e\n"
    },
    {
      "commit": "ce1f4d88ed1412cecae2f84615057cfb524b0d3b",
      "tree": "994fbea6251d2b64d53d2d68743b2f50c6fd7a86",
      "parents": [
        "7b7fe1bfd57f5c508b042e2e868ee4ac3cce7208"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Mar 12 19:55:28 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Fri Mar 15 18:35:42 2024 +0000"
      },
      "message": "Enable Fastboot over TCP\n\nBug: 328786603\nChange-Id: I42a3f03772377ecac7762a805c6e70b516a36989\n"
    },
    {
      "commit": "7b7fe1bfd57f5c508b042e2e868ee4ac3cce7208",
      "tree": "0829046d764209b7c73e04155e6c4434693a3cc7",
      "parents": [
        "92a40b7c1df92fa5c84c748161bfa6930ac7048f"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Wed Feb 28 10:48:46 2024 -0800"
      },
      "committer": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Thu Mar 14 11:28:54 2024 -0700"
      },
      "message": "Add storage writeback for A/B/R slot management\n\nThe slots::Cursor structure now maintains a reference to a writable\nblock device.\nThis is passed to the manager context on drop to allow for writeback\nto storage.\nIt can also be used during fastboot to write to partitions or dump\npartitions to host.\n\nIncludes ergonomic modifications to libstorage AsBlockDevice trait and\nancillary traits and free functions.\nSpecifically:\n1. Split write* methods into write and write_mut variants that take\n\u0026[u8] and \u0026mut [u8] respectively.\n2. Remove the templating from write* methods.\n3. Merge the BlockDeviceWrite back into AsBlockDevice\n\nThese are quality of life tests that make it easier to store block\ndevices and use their methods.\n\nTests: all gbl unit tests pass\n\nChange-Id: Ib20f5c4d5a660dd1e312c30f60dd21c67802dc28\n"
    },
    {
      "commit": "92a40b7c1df92fa5c84c748161bfa6930ac7048f",
      "tree": "a1a07cbef109a4a20631b73a7a2341e732a45839",
      "parents": [
        "b0b75c1b5a00037370f4049e88e04b1d2e17af6b"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Tue Mar 12 13:42:47 2024 -0700"
      },
      "committer": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Tue Mar 12 13:42:47 2024 -0700"
      },
      "message": "Bazel is primary build system for gbl\n\nRemove Soong build file for libgbl and Soong CI unit test check\n\nBugs: b/329276171\nChange-Id: Ie5785c85c897be525e61c6eb8ad2e52f36b1b6cb\n"
    },
    {
      "commit": "b0b75c1b5a00037370f4049e88e04b1d2e17af6b",
      "tree": "e728d36b1c12b471a395c83e5e0d982ef9f47194",
      "parents": [
        "87f1b134442b9ad9948f3abd29cde0177d5ff632",
        "bccc3ab787966c67a07334a5e9ff19170988193e"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Mar 12 19:51:17 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 12 19:51:17 2024 +0000"
      },
      "message": "Merge \"Support waiting key stroke from console\" into main"
    },
    {
      "commit": "bccc3ab787966c67a07334a5e9ff19170988193e",
      "tree": "f90458cb6a6fe35dddb8060a0be71808ae4472e9",
      "parents": [
        "883ea224bf866da88f7004f11fa8a1e6ed3659eb"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Fri Mar 08 21:42:55 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Mar 12 05:40:48 2024 +0000"
      },
      "message": "Support waiting key stroke from console\n\nImplement an API for waiting a specific key stroke from the console.\nThis will be primarily used for entering fastboot mode with `f` key\npress.\n\nBug: 328786603\nChange-Id: I1625f81f964d278aeebdfcb48e641a2f21580a20\n"
    },
    {
      "commit": "87f1b134442b9ad9948f3abd29cde0177d5ff632",
      "tree": "2b3b4f009c63f52923403631541224ae33049df2",
      "parents": [
        "883ea224bf866da88f7004f11fa8a1e6ed3659eb",
        "d505a42bab06f389359e586b6ced18141e9b04c2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Mar 08 09:05:43 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 08 09:05:43 2024 +0000"
      },
      "message": "Merge \"Add files for bzlmod.\" into main"
    },
    {
      "commit": "883ea224bf866da88f7004f11fa8a1e6ed3659eb",
      "tree": "8de7d5b0699cd3be29de3c6ecd95df121ce85795",
      "parents": [
        "b3c6232d34f55a2f668a34f36175f50436da56ab",
        "8e141effca97449fbbc9e9343881e4c909ab3096"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Mar 07 03:59:20 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 07 03:59:20 2024 +0000"
      },
      "message": "Merge \"Add APIs for handling multiple GPT devices\" into main"
    },
    {
      "commit": "d505a42bab06f389359e586b6ced18141e9b04c2",
      "tree": "5c1abdac6fa13fcd130316d8b90140e9257f5c9d",
      "parents": [
        "b3c6232d34f55a2f668a34f36175f50436da56ab"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Mar 06 11:33:39 2024 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Mar 06 15:39:45 2024 -0800"
      },
      "message": "Add files for bzlmod.\n\n... for bzlmod builds.\n\nForking MODULE.bazel because rules_rust cannot be\nregistered as a regular module dependency right now,\nbecause rules_rust_tinyjson needs to be overridden.\nThe MODULE.bazel is a fork of Kleaf\u0027s MODULE.bazel\nwith the following changes:\n\n- Unnecessary projects (e.g. rules_pkg, used for //common)\n  are dropped\n- rules_rust is dropped\n- prebuilt_ndk is dropped because NDK_TRIPLE is not set\n- Name is changed to uefi-gbl\n\nAlso enable bzlmod.\n\nBug: 276493276\nTest: TH\nChange-Id: Ieaff92944ae2588e646d384ce1a5f56eb95392c6\n"
    },
    {
      "commit": "8e141effca97449fbbc9e9343881e4c909ab3096",
      "tree": "8de7d5b0699cd3be29de3c6ecd95df121ce85795",
      "parents": [
        "54edca1c1fce50b819b0d3eefb44cb045ff11f37"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Sat Mar 02 00:33:20 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Mar 06 00:49:29 2024 +0000"
      },
      "message": "Add APIs for handling multiple GPT devices\n\nOn some vendor platforms, the partitions are distributed over more than\none GPT block devices. Adds APIs in libstorage to support finding,\nreading, writing partitions for multiple GPT devices.\n\nChange-Id: I8f2b72b6804c4c85f384192811194e4a4cad911a\n"
    },
    {
      "commit": "b3c6232d34f55a2f668a34f36175f50436da56ab",
      "tree": "2447fb351dba20928624c3d2bc95066779be3564",
      "parents": [
        "68ac2132b8b9be7f6a485738267ac1d3c2d70b34",
        "54edca1c1fce50b819b0d3eefb44cb045ff11f37"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Mar 05 03:18:32 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 05 03:18:32 2024 +0000"
      },
      "message": "Merge \"Add build rule for smoltcp\" into main am: 54edca1c1f\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2986950\n\nChange-Id: Ie5cd3a6330a2d1e8086336b7fb263594f226b8e2\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "54edca1c1fce50b819b0d3eefb44cb045ff11f37",
      "tree": "2447fb351dba20928624c3d2bc95066779be3564",
      "parents": [
        "4b3b0129cc9139bb2fb192e890940cf2790b0f00",
        "aac87350316a66aa09153da02811d4add13355a0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Mar 05 02:28:27 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 05 02:28:27 2024 +0000"
      },
      "message": "Merge \"Add build rule for smoltcp\" into main"
    },
    {
      "commit": "68ac2132b8b9be7f6a485738267ac1d3c2d70b34",
      "tree": "1335baef9af79067ddd014bce0f25b559f1992f9",
      "parents": [
        "b1f48bc933483ae59b5a9fb079eb25890c070345",
        "4b3b0129cc9139bb2fb192e890940cf2790b0f00"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Mar 05 00:01:15 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 05 00:01:15 2024 +0000"
      },
      "message": "Merge \"Add built-in support for fastboot TCP protocol\" into main am: 4b3b0129cc\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2961243\n\nChange-Id: Ie3262efcfe1bb37f2bd179f27ba8a0aaf4bc737a\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4b3b0129cc9139bb2fb192e890940cf2790b0f00",
      "tree": "1335baef9af79067ddd014bce0f25b559f1992f9",
      "parents": [
        "5eb69cfb3d3412054ce4a6fe48af10971f5966fe",
        "abfaa3b0097d4a131858ac901d4051f69e05521a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Mar 04 23:26:27 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 04 23:26:27 2024 +0000"
      },
      "message": "Merge \"Add built-in support for fastboot TCP protocol\" into main"
    },
    {
      "commit": "aac87350316a66aa09153da02811d4add13355a0",
      "tree": "ccdda1a3fc0172cd108aba9162acac25de7493c9",
      "parents": [
        "9cbd7c274b0995ded6e943948945c4eafb1c1a9f"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Mar 04 20:52:50 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Mar 04 22:25:06 2024 +0000"
      },
      "message": "Add build rule for smoltcp\n\nBug: 327668510\nChange-Id: I05ebbb0244fd3236dcfc1fc088d6d716fad2b4b7\n"
    },
    {
      "commit": "abfaa3b0097d4a131858ac901d4051f69e05521a",
      "tree": "4bbf33fda54b4e41147932dbe76fc4bb01a84775",
      "parents": [
        "9cbd7c274b0995ded6e943948945c4eafb1c1a9f"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Feb 13 04:56:37 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Mar 04 20:46:04 2024 +0000"
      },
      "message": "Add built-in support for fastboot TCP protocol\n\nBug: 322540167\n\nChange-Id: Ide19156d60c10215e09af8b98c91532e174771da\n"
    },
    {
      "commit": "b1f48bc933483ae59b5a9fb079eb25890c070345",
      "tree": "342b68a9b565f115a456a1e8fd2e2925d9ae121a",
      "parents": [
        "ca22b65528eada3c417616e934a7f866804eaefc",
        "5eb69cfb3d3412054ce4a6fe48af10971f5966fe"
      ],
      "author": {
        "name": "Aditya Kumar",
        "email": "appujee@google.com",
        "time": "Mon Mar 04 18:10:23 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 04 18:10:23 2024 +0000"
      },
      "message": "Merge \"Update clang version to r510928\" into main am: 5eb69cfb3d\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2973866\n\nChange-Id: I6f12adac07e80068600d206c9c3f6cb5d2fcb38e\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5eb69cfb3d3412054ce4a6fe48af10971f5966fe",
      "tree": "342b68a9b565f115a456a1e8fd2e2925d9ae121a",
      "parents": [
        "9cbd7c274b0995ded6e943948945c4eafb1c1a9f",
        "ef048635b17f081731a8c3699642d2e7caa94f5d"
      ],
      "author": {
        "name": "Aditya Kumar",
        "email": "appujee@google.com",
        "time": "Mon Mar 04 17:24:42 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 04 17:24:42 2024 +0000"
      },
      "message": "Merge \"Update clang version to r510928\" into main"
    },
    {
      "commit": "ca22b65528eada3c417616e934a7f866804eaefc",
      "tree": "bbc7b45a3600f95998c4eb81b1543107a20c9c35",
      "parents": [
        "c9aec88886bce5bf9c35f4181598e98bc8b590e9",
        "9cbd7c274b0995ded6e943948945c4eafb1c1a9f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Mar 01 03:05:18 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 01 03:05:18 2024 +0000"
      },
      "message": "Merge changes I25e04151,I22d555d5 into main am: 9cbd7c274b\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2984061\n\nChange-Id: I7e306fc63f9fded57165d7d2cfd43eb1fbf69afd\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9cbd7c274b0995ded6e943948945c4eafb1c1a9f",
      "tree": "bbc7b45a3600f95998c4eb81b1543107a20c9c35",
      "parents": [
        "a9a6cde38c89dbea443226e50dbbe7b64f6055c7",
        "06b88809f4ca98a8628374124c392e8668a15673"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Mar 01 02:11:06 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 01 02:11:06 2024 +0000"
      },
      "message": "Merge changes I25e04151,I22d555d5 into main\n\n* changes:\n  Make image path logging optional\n  Add efi_println!\n"
    },
    {
      "commit": "c9aec88886bce5bf9c35f4181598e98bc8b590e9",
      "tree": "8fb9b0424a78a27dec709a48ac424fb8e23f85ad",
      "parents": [
        "93cb33381b8476d212990c757ce082cf0eaca91c",
        "a9a6cde38c89dbea443226e50dbbe7b64f6055c7"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Thu Feb 29 22:07:36 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 29 22:07:36 2024 +0000"
      },
      "message": "Merge \"Minor cleanups for slots\" into main am: a9a6cde38c\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2973876\n\nChange-Id: I455e773466a1d552c6ad47d026dfb32ef5ecb9d0\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "06b88809f4ca98a8628374124c392e8668a15673",
      "tree": "3d68ac84af3ac38d9b48e2debc6ee23f9d1a2d88",
      "parents": [
        "f26a0d1bd325dce7144e3115a3b8ef184741ce24"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Feb 29 12:36:27 2024 -0800"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Feb 29 13:33:43 2024 -0800"
      },
      "message": "Make image path logging optional\n\nLogs image path only when it is supported. EFI images loaded by\nLoadImage() may not have a device path. This shouldn\u0027t cause failures.\n\nBug: 327017736\nChange-Id: I25e04151e6a0be7debfc40a753eb76df3c1284b2\n"
    },
    {
      "commit": "f26a0d1bd325dce7144e3115a3b8ef184741ce24",
      "tree": "bcf1acd75327a936f28b2bb71638faa268f27b7d",
      "parents": [
        "84d2caa290d55e4baa1510bc0c6a0a880d023a8e"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Feb 29 10:39:16 2024 -0800"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Feb 29 13:33:26 2024 -0800"
      },
      "message": "Add efi_println!\n\nFor UEFI platforms, the cannonical way to start a next line is to use\n\"\\r\\n\". Add a efi_println! macro that internally handles it so that\nusers don\u0027t get weird output layout due to only using \"\\n\".\n\nBug: 327017736\nChange-Id: I22d555d52bce3dc5f1cb6c03c8a83a736c9e020a\n"
    },
    {
      "commit": "a9a6cde38c89dbea443226e50dbbe7b64f6055c7",
      "tree": "8fb9b0424a78a27dec709a48ac424fb8e23f85ad",
      "parents": [
        "84d2caa290d55e4baa1510bc0c6a0a880d023a8e",
        "2ae0e77beb825c0d944eab4e815a009dfb12946d"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Thu Feb 29 21:20:03 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 29 21:20:03 2024 +0000"
      },
      "message": "Merge \"Minor cleanups for slots\" into main"
    },
    {
      "commit": "93cb33381b8476d212990c757ce082cf0eaca91c",
      "tree": "00e24342754c2869ac5e57e2dd1e7772cb5a28aa",
      "parents": [
        "c009bd0cce6a12c5c3e8af86962ed7be25681e15",
        "84d2caa290d55e4baa1510bc0c6a0a880d023a8e"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Feb 29 18:28:52 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 29 18:28:52 2024 +0000"
      },
      "message": "Fix GPT buffer initialization bug am: 84d2caa290\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2984051\n\nChange-Id: I86c9538e922ca37cd30d9124f022c14eac486ec2\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c009bd0cce6a12c5c3e8af86962ed7be25681e15",
      "tree": "89d647feaae3ee3f750094373fd327b4ab5d6069",
      "parents": [
        "518c79616bc1af798f595afd586899146529606f",
        "ebcb4d40edcb170b9112b41db70853b473c836e6"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Feb 29 18:28:49 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 29 18:28:49 2024 +0000"
      },
      "message": "Ignore system include dirs for bindgen am: ebcb4d40ed\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2982906\n\nChange-Id: I5f17e60980b2d47d81ea793e0949c54b894feb03\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "84d2caa290d55e4baa1510bc0c6a0a880d023a8e",
      "tree": "00e24342754c2869ac5e57e2dd1e7772cb5a28aa",
      "parents": [
        "ebcb4d40edcb170b9112b41db70853b473c836e6"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Feb 28 18:50:54 2024 -0800"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Feb 28 18:50:54 2024 -0800"
      },
      "message": "Fix GPT buffer initialization bug\n\nGPT buffer size should be checked before adjusting alignment. Otherwise\nit may incorrectly be considered not enough buffer size.\n\nChange-Id: I80b76bef3f720c4c2f4d578b84487f8a0500b424\n"
    },
    {
      "commit": "ebcb4d40edcb170b9112b41db70853b473c836e6",
      "tree": "89d647feaae3ee3f750094373fd327b4ab5d6069",
      "parents": [
        "12b59e108ad33b96b377c26cb398b4a52df925d9"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Feb 28 15:49:06 2024 -0800"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Feb 28 18:50:04 2024 -0800"
      },
      "message": "Ignore system include dirs for bindgen\n\nrust_bindgen reaches out to system local include dirs such as\n/usr/include with high priority. This causes build failures when system\nhas broken/missing headers. The solution is to always add `-nostdinc` to\nignore them.\n\nChange-Id: I81370f072013518722d9213ad148d6b78eccffd6\n"
    },
    {
      "commit": "2ae0e77beb825c0d944eab4e815a009dfb12946d",
      "tree": "802116a53b0906e5975b0c5684a7e5b82d815892",
      "parents": [
        "fcff06f753ca4caa4291d6f7023eaa2a01712146"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Wed Feb 07 16:06:35 2024 -0800"
      },
      "committer": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Wed Feb 28 14:30:21 2024 -0800"
      },
      "message": "Minor cleanups for slots\n\nMiscellaneous minor cleanups for gbl::slots\n\nTest: atest\n\nChange-Id: I89f45269b685b8b90388535c07ad6ea13a6fd6bd\n"
    },
    {
      "commit": "518c79616bc1af798f595afd586899146529606f",
      "tree": "41584131e8d3cd9c9fd6a73297486bee3efd62b1",
      "parents": [
        "29ae4b11318aaeb770175c8748a27525b28970e6",
        "12b59e108ad33b96b377c26cb398b4a52df925d9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Feb 28 00:31:30 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Feb 28 00:31:30 2024 +0000"
      },
      "message": "Merge \"Simplify scratch/gpt buffer management\" into main am: 12b59e108a\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2973869\n\nChange-Id: Ib2f8e05348d13ab4a526d4892e1d858e10e6d164\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "12b59e108ad33b96b377c26cb398b4a52df925d9",
      "tree": "41584131e8d3cd9c9fd6a73297486bee3efd62b1",
      "parents": [
        "0f110ac404b6bad8d58f2fea5db10cbac9f972f0",
        "f0c188e4fb6ee3a7eb4fd5edc14d59ff88354f14"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Feb 27 23:41:39 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 27 23:41:39 2024 +0000"
      },
      "message": "Merge \"Simplify scratch/gpt buffer management\" into main"
    },
    {
      "commit": "f0c188e4fb6ee3a7eb4fd5edc14d59ff88354f14",
      "tree": "4a7b80144d95bb0b949555d33c557d6629995f4d",
      "parents": [
        "a2b4ee3ecc2b09558521fe2038c1c12e49619f02"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Sun Feb 25 02:23:44 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Feb 27 19:18:32 2024 +0000"
      },
      "message": "Simplify scratch/gpt buffer management\n\nlibstorage currently requires users to maintain a scratch and gpt\nbuffer and pass them everytime they use the APIs, which can be\ninconvenient. This CL extends the BlockDevice trait with an interface\nto allow users to provide an opaque scratch buffer in one place. The\nAPIs internally gets the buffer from the new interface, initializes and\npartitions it for scratch and GPT and no longer requires them from the\narguments.\n\nChange-Id: I10a2049c8159a6d92ff9bcd92cc03817f2253c81\n"
    },
    {
      "commit": "ef048635b17f081731a8c3699642d2e7caa94f5d",
      "tree": "823abd4e382beb7a62db0c4902ebc88a29f57b78",
      "parents": [
        "0f110ac404b6bad8d58f2fea5db10cbac9f972f0"
      ],
      "author": {
        "name": "Aditya Kumar",
        "email": "appujee@google.com",
        "time": "Sat Feb 24 00:50:42 2024 +0000"
      },
      "committer": {
        "name": "Aditya Kumar",
        "email": "appujee@google.com",
        "time": "Sat Feb 24 00:50:44 2024 +0000"
      },
      "message": "Update clang version to r510928\n\nBug: b/301328082\nChange-Id: Ie3fd449d68ab690be6083144aad67c627021fa38\n"
    },
    {
      "commit": "29ae4b11318aaeb770175c8748a27525b28970e6",
      "tree": "bf8198e7ec9b26ad15d4ebd7ea75a5b88829e7ca",
      "parents": [
        "17ca73468533e341cc3765d8e526dd47c81729c1",
        "0f110ac404b6bad8d58f2fea5db10cbac9f972f0"
      ],
      "author": {
        "name": "Ram Muthiah",
        "email": "rammuthiah@google.com",
        "time": "Fri Feb 23 19:03:03 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Feb 23 19:03:03 2024 +0000"
      },
      "message": "Update documentation to remove mention of U-Boot am: 0f110ac404\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2975851\n\nChange-Id: Ie156d7f293afd16abc28ee637fe2c214472a6022\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0f110ac404b6bad8d58f2fea5db10cbac9f972f0",
      "tree": "bf8198e7ec9b26ad15d4ebd7ea75a5b88829e7ca",
      "parents": [
        "fcff06f753ca4caa4291d6f7023eaa2a01712146"
      ],
      "author": {
        "name": "Ram Muthiah",
        "email": "rammuthiah@google.com",
        "time": "Fri Feb 23 16:48:30 2024 +0000"
      },
      "committer": {
        "name": "Ram Muthiah",
        "email": "rammuthiah@google.com",
        "time": "Fri Feb 23 16:48:34 2024 +0000"
      },
      "message": "Update documentation to remove mention of U-Boot\n\nChange-Id: I50c26be1fce78196a956c68905482622cdd67b10\n"
    },
    {
      "commit": "17ca73468533e341cc3765d8e526dd47c81729c1",
      "tree": "4849ad2eb35fb71001c6e5d07981d22a05d43d30",
      "parents": [
        "cebe1d772c56eeaf7eb3b288017708f82972e4eb",
        "fcff06f753ca4caa4291d6f7023eaa2a01712146"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Feb 22 18:56:59 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 22 18:56:59 2024 +0000"
      },
      "message": "Merge \"Integrate libgbl into bazel build\" into main am: fcff06f753\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2962952\n\nChange-Id: Iebf5002f541ea8b72fcfbd19e5fbbd580c2da232\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cebe1d772c56eeaf7eb3b288017708f82972e4eb",
      "tree": "cd903ef7da514b86a5788cf194873b2e8af8086d",
      "parents": [
        "3fedc17a344c5bf801c022d7a9939c5ac9a76684",
        "6bbfee2391ac99874be70d12b4e7e7d4be7008f9"
      ],
      "author": {
        "name": "Ram Muthiah",
        "email": "rammuthiah@google.com",
        "time": "Thu Feb 22 18:54:11 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 22 18:54:11 2024 +0000"
      },
      "message": "Update OWNERS to include Yecheng am: 6bbfee2391\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2973871\n\nChange-Id: I81ca0a99b4147a58a9f85155204dc44df98c265b\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "fcff06f753ca4caa4291d6f7023eaa2a01712146",
      "tree": "4849ad2eb35fb71001c6e5d07981d22a05d43d30",
      "parents": [
        "6bbfee2391ac99874be70d12b4e7e7d4be7008f9",
        "eee7706429e1e465199b3f2e08a6deddca6e4d0c"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Feb 22 18:00:18 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 22 18:00:18 2024 +0000"
      },
      "message": "Merge \"Integrate libgbl into bazel build\" into main"
    },
    {
      "commit": "6bbfee2391ac99874be70d12b4e7e7d4be7008f9",
      "tree": "cd903ef7da514b86a5788cf194873b2e8af8086d",
      "parents": [
        "a2b4ee3ecc2b09558521fe2038c1c12e49619f02"
      ],
      "author": {
        "name": "Ram Muthiah",
        "email": "rammuthiah@google.com",
        "time": "Thu Feb 22 08:22:54 2024 -0800"
      },
      "committer": {
        "name": "Ram Muthiah",
        "email": "rammuthiah@google.com",
        "time": "Thu Feb 22 08:22:54 2024 -0800"
      },
      "message": "Update OWNERS to include Yecheng\n\nChange-Id: I3fc200350c7132b344dab23242609844410fc78e\n"
    },
    {
      "commit": "3fedc17a344c5bf801c022d7a9939c5ac9a76684",
      "tree": "13fcb6c5ba66136160cfe74b6e0cae81781760e3",
      "parents": [
        "d72a1d7436a8319655d4e53854d3ebce8ee85559",
        "a2b4ee3ecc2b09558521fe2038c1c12e49619f02"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Feb 21 18:49:58 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Feb 21 18:49:58 2024 +0000"
      },
      "message": "Merge \"Fix typo in host ruststd path\" into main am: a2b4ee3ecc\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2969693\n\nChange-Id: I88983a52896297177b6e8407733ce34b3d0ca5f3\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "eee7706429e1e465199b3f2e08a6deddca6e4d0c",
      "tree": "7ae0bf4f7223ff102a07692b1678e1b64981efd4",
      "parents": [
        "a2b4ee3ecc2b09558521fe2038c1c12e49619f02"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Feb 15 00:26:02 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Feb 21 17:48:56 2024 +0000"
      },
      "message": "Integrate libgbl into bazel build\n\nAdd a BUILD file and fixes needed for building libgbl in bazel.\n\nIn EFI environment, all memories are managed and allocated by UEFI\nloader. We can\u0027t hardcode address space for load buffer. The API is\nupdated to ask the caller to provide the load buffer instead.\n\nBug: 325312615\nChange-Id: I38d3fa35f3df85b3488062ccdf3652e2ae661130\n"
    },
    {
      "commit": "a2b4ee3ecc2b09558521fe2038c1c12e49619f02",
      "tree": "13fcb6c5ba66136160cfe74b6e0cae81781760e3",
      "parents": [
        "a8b35ba76a891e6ab503f8a1702847280d5e650a",
        "f5ae2919e6d8b3201417a4b656a76c61fcce6d7a"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Feb 21 17:34:59 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 21 17:34:59 2024 +0000"
      },
      "message": "Merge \"Fix typo in host ruststd path\" into main"
    },
    {
      "commit": "d72a1d7436a8319655d4e53854d3ebce8ee85559",
      "tree": "4e54a1ebc2a1e4378c38a9a6fc2f2fe338737ea7",
      "parents": [
        "46551206008e33752dd3291bd2f6e29000c257ef",
        "a8b35ba76a891e6ab503f8a1702847280d5e650a"
      ],
      "author": {
        "name": "Ulises Mendez Martinez",
        "email": "umendez@google.com",
        "time": "Wed Feb 21 12:21:15 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Feb 21 12:21:15 2024 +0000"
      },
      "message": "Merge \"gbl: load rust macros from defs.bzl\" into main am: a8b35ba76a\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2967562\n\nChange-Id: Iedc5fa3ea597f8a5392ed0e7aacc2524784f814d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "46551206008e33752dd3291bd2f6e29000c257ef",
      "tree": "15e8e5ab5e315bb0a379d42853cd411b368d6233",
      "parents": [
        "41023901837850b0d194921737a46ec216c9d315",
        "ec746f1a09cbb240ec0b7381dc6119f390fdb673"
      ],
      "author": {
        "name": "Ulises Mendez Martinez",
        "email": "umendez@google.com",
        "time": "Wed Feb 21 12:21:12 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Feb 21 12:21:12 2024 +0000"
      },
      "message": "Merge \"Disable \"experimental_toolchain_generated_sysroot\"\" into main am: ec746f1a09\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2966186\n\nChange-Id: I1a0159068040e0142ae5991d3dd50e14e4e44f83\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a8b35ba76a891e6ab503f8a1702847280d5e650a",
      "tree": "4e54a1ebc2a1e4378c38a9a6fc2f2fe338737ea7",
      "parents": [
        "ec746f1a09cbb240ec0b7381dc6119f390fdb673",
        "e8026e35c6f96d0264d267b731399e5c5feadbf6"
      ],
      "author": {
        "name": "Ulises Mendez Martinez",
        "email": "umendez@google.com",
        "time": "Wed Feb 21 11:52:18 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 21 11:52:18 2024 +0000"
      },
      "message": "Merge \"gbl: load rust macros from defs.bzl\" into main"
    },
    {
      "commit": "ec746f1a09cbb240ec0b7381dc6119f390fdb673",
      "tree": "15e8e5ab5e315bb0a379d42853cd411b368d6233",
      "parents": [
        "0f8bc4547e8a5a081145db9c9551f4d96fd7951f",
        "5b1ba14087034441b4f2e946db878753f12e2f4b"
      ],
      "author": {
        "name": "Ulises Mendez Martinez",
        "email": "umendez@google.com",
        "time": "Wed Feb 21 11:52:18 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 21 11:52:18 2024 +0000"
      },
      "message": "Merge \"Disable \"experimental_toolchain_generated_sysroot\"\" into main"
    },
    {
      "commit": "f5ae2919e6d8b3201417a4b656a76c61fcce6d7a",
      "tree": "c4d7c0fbd063fc83a312335fb133cff846a29642",
      "parents": [
        "0f8bc4547e8a5a081145db9c9551f4d96fd7951f"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Feb 20 22:54:20 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Feb 20 22:59:42 2024 +0000"
      },
      "message": "Fix typo in host ruststd path\n\nTurns out there is a typo in the definition of host rust std library\npath. This mostly likely has caused the build to end up using system\ninstalled std library. It also fails doc tests as they run in some\nsort of sandbox environment which doesn\u0027t have access to system stuff.\n\nChange-Id: I4b3592ec33fd78a84a9c248e9bd4e32b2c8626be\n"
    },
    {
      "commit": "41023901837850b0d194921737a46ec216c9d315",
      "tree": "ffd0aad11565d7f991d0b16c83c679925c3faf9a",
      "parents": [
        "527ae40222595d4bf5bbb97183097c591df464d0",
        "0f8bc4547e8a5a081145db9c9551f4d96fd7951f"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Feb 20 05:12:48 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 20 05:12:48 2024 +0000"
      },
      "message": "Merge \"Add wrappers for EFI_SIMPLE_NETWORK_PROTOCOl\" into main am: 0f8bc4547e\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2960063\n\nChange-Id: I8da83e67f53f6a4a1bd70a5d1759f7860fd3dece\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "527ae40222595d4bf5bbb97183097c591df464d0",
      "tree": "295459a93b6c903538037b37cae79cfca0666e4f",
      "parents": [
        "35450a66d2bd65ceb73d9e4be704069f4c84d124",
        "26a2ee43daee682c0f02d783bb2fb45580ee22ed"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Feb 20 05:12:34 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 20 05:12:34 2024 +0000"
      },
      "message": "Fix header only cc_library for bindgen am: 26a2ee43da\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2967688\n\nChange-Id: Ie852dae9fc7fb497a78df26f4c263aa519708861\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0f8bc4547e8a5a081145db9c9551f4d96fd7951f",
      "tree": "ffd0aad11565d7f991d0b16c83c679925c3faf9a",
      "parents": [
        "26a2ee43daee682c0f02d783bb2fb45580ee22ed",
        "5ad5bf7b7ffdbcbb12da97583cc3a82ec6a888b7"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Feb 20 04:31:23 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 20 04:31:23 2024 +0000"
      },
      "message": "Merge \"Add wrappers for EFI_SIMPLE_NETWORK_PROTOCOl\" into main"
    },
    {
      "commit": "5b1ba14087034441b4f2e946db878753f12e2f4b",
      "tree": "67d4f36e2abfcfbbe9bc9a6e4fe301acba7041e6",
      "parents": [
        "779036fdf1ad187f0dca1629f1c2c50b3f029f63"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Feb 20 01:34:42 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Feb 20 01:45:00 2024 +0000"
      },
      "message": "Disable \"experimental_toolchain_generated_sysroot\"\n\nAdd a .bazelrc file to disable option\n\"experimental_toolchain_generated_sysroot\".\n\nThe option appends \"--sysroot\" to rustc and causes host toolchain to\nfail to find std libraries.\n\nChange-Id: I1a43b812f0a12be4af1bf01cebf0c345833a3162\n"
    },
    {
      "commit": "e8026e35c6f96d0264d267b731399e5c5feadbf6",
      "tree": "03c8f3f3678efcae7d045eeed279504e0aac9c1e",
      "parents": [
        "26a2ee43daee682c0f02d783bb2fb45580ee22ed"
      ],
      "author": {
        "name": "Ulises Mendez Martinez",
        "email": "umendez@google.com",
        "time": "Fri Feb 16 16:38:11 2024 +0000"
      },
      "committer": {
        "name": "Ulises Mendez Martinez",
        "email": "umendez@google.com",
        "time": "Mon Feb 19 21:09:52 2024 +0000"
      },
      "message": "gbl: load rust macros from defs.bzl\n\nThis is in preparation for an upgrade of rules_rust module;\n`bindgen.bzl` is not present in recent versions.\n\nBug: 325494729\nChange-Id: Iaa557ce600d925875cdef20dce07a0c95604fd4b\nSigned-off-by: Ulises Mendez Martinez \u003cumendez@google.com\u003e\n"
    },
    {
      "commit": "26a2ee43daee682c0f02d783bb2fb45580ee22ed",
      "tree": "295459a93b6c903538037b37cae79cfca0666e4f",
      "parents": [
        "779036fdf1ad187f0dca1629f1c2c50b3f029f63"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Feb 19 20:30:26 2024 +0000"
      },
      "committer": {
        "name": "Ulises Mendez Martinez",
        "email": "umendez@google.com",
        "time": "Mon Feb 19 21:09:28 2024 +0000"
      },
      "message": "Fix header only cc_library for bindgen\n\nrust_bindgen() in newer versions of rules_rust no longer accepts header\nonly cc_library() for the `cc_lib` field. The solution now is to add a\nplaceholder source file to all existing header libraries that are\npassed to rust_bindgen().\n\nBug: 325494729\nChange-Id: I6d06c14bb234b847590e2cc4de25d92fb262bad4\n"
    },
    {
      "commit": "5ad5bf7b7ffdbcbb12da97583cc3a82ec6a888b7",
      "tree": "cd78703a2d486a5f0b0e45674f72aae6875c5d47",
      "parents": [
        "779036fdf1ad187f0dca1629f1c2c50b3f029f63"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Feb 12 22:35:46 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Fri Feb 16 19:14:34 2024 +0000"
      },
      "message": "Add wrappers for EFI_SIMPLE_NETWORK_PROTOCOl\n\nBug: 324950011\nChange-Id: Ic6958cab867a76edd84cf6e59821acf2cde92dca\n"
    },
    {
      "commit": "35450a66d2bd65ceb73d9e4be704069f4c84d124",
      "tree": "96d7816cf4851407558e1fc5c0ff6636d21d5c40",
      "parents": [
        "0c12a60cb9f25b99218416ac5c1b1813b221f86e",
        "779036fdf1ad187f0dca1629f1c2c50b3f029f63"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Feb 14 04:19:34 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Feb 14 04:19:34 2024 +0000"
      },
      "message": "Add support for EFI event am: 779036fdf1\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2954295\n\nChange-Id: Ic457b0e04e6a0368be3cd9f0c6e80c6b6abc76c1\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "779036fdf1ad187f0dca1629f1c2c50b3f029f63",
      "tree": "96d7816cf4851407558e1fc5c0ff6636d21d5c40",
      "parents": [
        "c8a817bc3cc30ff31ce01dad924de3e65ab98063"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Feb 06 20:01:02 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Wed Feb 14 01:35:30 2024 +0000"
      },
      "message": "Add support for EFI event\n\nBug: 324109697\n\nChange-Id: I2f12cb194b2f79f075f243618e013290a904dbeb\n"
    },
    {
      "commit": "0c12a60cb9f25b99218416ac5c1b1813b221f86e",
      "tree": "ef864f7e34752aa4b2914335d356564120617f8d",
      "parents": [
        "3bbc90e228d844dca81618aa7be74e846fa1ebe6",
        "c8a817bc3cc30ff31ce01dad924de3e65ab98063"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Feb 13 05:36:31 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 13 05:36:31 2024 +0000"
      },
      "message": "Merge \"Add libfastboot library\" into main am: c8a817bc3c\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2950896\n\nChange-Id: If12b75752544b48b2a65e524ade9ea7f321fbf65\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c8a817bc3cc30ff31ce01dad924de3e65ab98063",
      "tree": "ef864f7e34752aa4b2914335d356564120617f8d",
      "parents": [
        "984c3e6ad0e1d95c1ae9c343ed7c1f1d9fbe39c3",
        "a23fcafc35be7e1da75254ba9d907b8051d84fac"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Feb 13 04:56:23 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 13 04:56:23 2024 +0000"
      },
      "message": "Merge \"Add libfastboot library\" into main"
    },
    {
      "commit": "a23fcafc35be7e1da75254ba9d907b8051d84fac",
      "tree": "087752837a11f3df4d1c800ce2a7faf29c47ac97",
      "parents": [
        "3e3059957c3f9f403d4a59bde3dab3ec550516a3"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Fri Jan 26 23:24:35 2024 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Feb 12 21:51:37 2024 +0000"
      },
      "message": "Add libfastboot library\n\nImplements a fastboot library for receiving, processing and replying to\nfastboot command, with user provided transport and command backends.\n\nBug: 322540167\nChange-Id: I9a8d5098bbb6aa352d4ef9649e22cc411b0644c5\n"
    },
    {
      "commit": "3bbc90e228d844dca81618aa7be74e846fa1ebe6",
      "tree": "656a2aed2a8f75ee0a5a63e0d12c807e9dcc7161",
      "parents": [
        "6eee7318d8d144abd6a4037c391338aba78932dd",
        "984c3e6ad0e1d95c1ae9c343ed7c1f1d9fbe39c3"
      ],
      "author": {
        "name": "Sergii Parubochyi",
        "email": "sergiip@google.com",
        "time": "Fri Feb 09 02:25:59 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Feb 09 02:25:59 2024 +0000"
      },
      "message": "[gbl] switch to using cstr! macro for constants. am: 984c3e6ad0\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2953010\n\nChange-Id: Ia7e1ba3e1a62d5e7a29d6bf6678f23906ceb05a4\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "984c3e6ad0e1d95c1ae9c343ed7c1f1d9fbe39c3",
      "tree": "656a2aed2a8f75ee0a5a63e0d12c807e9dcc7161",
      "parents": [
        "1bbcca1a937cefb0842ce553963da993c96993ad"
      ],
      "author": {
        "name": "Sergii Parubochyi",
        "email": "sergiip@google.com",
        "time": "Fri Feb 09 09:57:26 2024 +1100"
      },
      "committer": {
        "name": "Sergii Parubochyi",
        "email": "sergiip@google.com",
        "time": "Thu Feb 08 23:16:21 2024 +0000"
      },
      "message": "[gbl] switch to using cstr! macro for constants.\n\nInstead of runtime `CStr::from_bytes_with_nul()` use `cstr!` macro.\nIt provides compiletime verification for the string. And makes sure it\nhas \u0027\\0\u0027 at the end.\n\nBug: N/A\nTest: atest\nChange-Id: I52bb28350d09d8bf3b58d83f8b83db3856dca018\n"
    },
    {
      "commit": "6eee7318d8d144abd6a4037c391338aba78932dd",
      "tree": "c37d72536d6633b24305e63a00384b5956479fb6",
      "parents": [
        "103bda9e5b6b6e720c18fe46bc200854c8453a5a",
        "1bbcca1a937cefb0842ce553963da993c96993ad"
      ],
      "author": {
        "name": "Sergii Parubochyi",
        "email": "sergiip@google.com",
        "time": "Thu Feb 08 03:22:43 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 08 03:22:43 2024 +0000"
      },
      "message": "[gbl] add Gbl struct builder am: 1bbcca1a93\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2949745\n\nChange-Id: I501ec68905bb1d2a9721647dd680c3ff9722afcf\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "1bbcca1a937cefb0842ce553963da993c96993ad",
      "tree": "c37d72536d6633b24305e63a00384b5956479fb6",
      "parents": [
        "4196c4bb8bcc7b114c4275fb39451aa645696c50"
      ],
      "author": {
        "name": "Sergii Parubochyi",
        "email": "sergiip@google.com",
        "time": "Mon Feb 05 15:57:17 2024 +1100"
      },
      "committer": {
        "name": "Sergii Parubochyi",
        "email": "sergiip@google.com",
        "time": "Thu Feb 08 10:54:30 2024 +1100"
      },
      "message": "[gbl] add Gbl struct builder\n\nAdded `GblBuilder` for `Gbl` construction.\nRemoved `new()` functions from `Gbl`\nAdded tests for an AVB verification error.\n\nBug: 323062115\nTest: atest\nChange-Id: I7420ff885fe3a65d77ce175a21c1ec214c6292e7\n"
    },
    {
      "commit": "103bda9e5b6b6e720c18fe46bc200854c8453a5a",
      "tree": "dc716b91165ed583379428a8b70e2e6c45704c32",
      "parents": [
        "34c8ec449aacfe028d54ef59452eae9d5a3eada0",
        "4196c4bb8bcc7b114c4275fb39451aa645696c50"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Tue Feb 06 00:35:42 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 06 00:35:42 2024 +0000"
      },
      "message": "Restrict OneShot semantics to bootloader and recovery am: 4196c4bb8b\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2950893\n\nChange-Id: If5ce11cc6d945c7da166944a85a186795c2f23c9\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "34c8ec449aacfe028d54ef59452eae9d5a3eada0",
      "tree": "6532dd2728d58425e72248c68c883e6a19c35d25",
      "parents": [
        "98c952babd168c89d2e9f88ee01343175d8384ff",
        "31262f86627754b3c38cf3a4441ab4d927f802e1"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Mon Feb 05 21:47:14 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 05 21:47:14 2024 +0000"
      },
      "message": "Merge \"Add CStr conversion to gbl::Slots::Suffix\" into main am: 31262f8662\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2944526\n\nChange-Id: I3ab406601e8d63b2edc983385739eb33bae2ad7a\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4196c4bb8bcc7b114c4275fb39451aa645696c50",
      "tree": "dc716b91165ed583379428a8b70e2e6c45704c32",
      "parents": [
        "31262f86627754b3c38cf3a4441ab4d927f802e1"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Mon Feb 05 11:57:12 2024 -0800"
      },
      "committer": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Mon Feb 05 13:26:52 2024 -0800"
      },
      "message": "Restrict OneShot semantics to bootloader and recovery\n\nRemove oneshot boot semantics that allow regular boot to regular\nslots. This simplifies implementations that permit oneshots, resolves\nan underspecification about whether oneshot boots should decrement\ntries remaining, and resolves a potential footgun about whether\nsetting a oneshot should affect the return value of get_boot_target.\n\nTest: all unit tests pass\nChange-Id: I9ad299f29d4a350838ba20d25839bcae321393ee\n"
    },
    {
      "commit": "31262f86627754b3c38cf3a4441ab4d927f802e1",
      "tree": "6532dd2728d58425e72248c68c883e6a19c35d25",
      "parents": [
        "8cee63f3d1c3ed5c0c74f850f959d6c395fe66d5",
        "310c69ccb17768b11df001c6c7b4859492b156e5"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Mon Feb 05 21:04:14 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 05 21:04:14 2024 +0000"
      },
      "message": "Merge \"Add CStr conversion to gbl::Slots::Suffix\" into main"
    },
    {
      "commit": "310c69ccb17768b11df001c6c7b4859492b156e5",
      "tree": "cb994620a21676792b62e8556716dcd831f546f5",
      "parents": [
        "3e3059957c3f9f403d4a59bde3dab3ec550516a3"
      ],
      "author": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Tue Jan 30 16:01:21 2024 -0800"
      },
      "committer": {
        "name": "Dov Shlachter",
        "email": "dovs@google.com",
        "time": "Mon Feb 05 11:05:56 2024 -0800"
      },
      "message": "Add CStr conversion to gbl::Slots::Suffix\n\nThe rust AVB wrapper takes slot suffixes as \u0026CStr parameters.\nAdd From code to allow easy conversion from a Suffix to something the\nAVB library can deal with.\nUse the slot\u0027s suffix when calling avb::slot_verify\nMark verification failures in slot metadata\nMark failed load attempts as decremented tries in slot metadata\n\nTest: new unit test passes\n\nChange-Id: I57bda73f5516003a07ce1a27c9c46b10c06c518c\n"
    },
    {
      "commit": "98c952babd168c89d2e9f88ee01343175d8384ff",
      "tree": "ea28e5a3dac6e9f3af6a1c581c16aa3a46828f08",
      "parents": [
        "10da41ae86613cbcf5a31b771cfd5d20429bb03b",
        "8cee63f3d1c3ed5c0c74f850f959d6c395fe66d5"
      ],
      "author": {
        "name": "Aditya Choudhary",
        "email": "caditya@google.com",
        "time": "Sat Feb 03 15:43:26 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Feb 03 15:43:26 2024 +0000"
      },
      "message": "Migrate Test Targets to New Android Ownership Model am: 8cee63f3d1\n\nOriginal change: https://android-review.googlesource.com/c/platform/bootable/libbootloader/+/2946235\n\nChange-Id: I311171abd11785311c1452b2bd495eaf8c467e32\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    }
  ],
  "next": "8cee63f3d1c3ed5c0c74f850f959d6c395fe66d5"
}
