)]}'
{
  "log": [
    {
      "commit": "5f939f99ec17219ede032328edf8778d182c45ab",
      "tree": "368b4c803eee75bf71ae475c7242d8d7938acc14",
      "parents": [
        "b0d12a730913dfaad9bea2ae81f5058d898aa996"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed May 01 16:18:14 2024 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu May 02 09:29:36 2024 +0900"
      },
      "message": "Use no_full_install: true instead of installable: false\n\nSo far, we have used `instalable: false` to avoid collision with the\nother modules that are installed to the same path. A typical example was\n\u003cfoo\u003e and \u003cfoo\u003e.microdroid. The latter is a modified version of the\nformer for the inclusion of the microdroid image. They however both have\nthe same instalation path (ex: system/bin) and stem (ex: foo) so that we\ncan reference them using the same path regardless of whether we are in\nAndroid or microdroid.\n\nHowever, the use of `installable: false` for the purpose is actually\nincorrect, because `installable: false` also means, obviously, \"this\nmodule shouldn\u0027t be installed\". The only reason this incorrect way has\nworked is simply because packaging modules (ex: android_filesystem)\ndidn\u0027t respect the property when gathering the modules.\n\nAs packaging modules are now fixed to respect `installable: false`, we\nneed a correct way of avoiding the collision. `no_full_install: true` is\nit.\n\nIf a module has this property set to true, it is never installed to the\nfull instal path like out/target/product/\u003cpartition\u003e/... It can be\ninstalled only via packaging modules.\n\nBug: 338160898\nTest: m\nChange-Id: I0baa92efeedc2a8fb7aeb9d6b1da166e1c80d0c5\n"
    },
    {
      "commit": "8704861b451ae8aaf6f1ebbfd68c9cdc53f8ebbe",
      "tree": "85428927d7d07c52808935d18e5d32c582365b8e",
      "parents": [
        "6a33357da2054333eb7bf121f1b48cc74e182470"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Thu Feb 08 17:08:31 2024 +0000"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Mon Feb 12 09:19:36 2024 +0000"
      },
      "message": "Simplify test ownership.\n\nThis reverts:\n- commit 53696172c06b3e8ea2764e5fa8e0af49b1a1ef36.\n- commit 61615bd4234526c645ecae60a870aa0499d79964.\n\nWe own all the tests under here, we should only have to say so once.\n\nTest: N/A\nChange-Id: I078aa7fe512fcb3840782ac9ca896d3da129cfb6\n"
    },
    {
      "commit": "38b9e713bd5fd598050982adb617ba1e36a7a62c",
      "tree": "8654979299798f76fb50b0f2edc0571021d41afe",
      "parents": [
        "cd18984d3e31ac61b9e446a2cd22db3365d0f6b4"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Feb 08 15:55:07 2024 +0000"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Feb 08 16:21:28 2024 +0000"
      },
      "message": "Introduce avf_build_flags_cc cc_defaults\n\nThese are similar to avf_build_rust_build flags, but for cc_* soong\nmodules.\n\nIn the immediate future this will be used for flag guarding\nvirtcpu-freq related changes to platform.dts.\n\nThis patch also adds avf_build_flags_cc as cc_defaults to all our\nexisting cc_* soong modules\n\nTest: builds\nBug: 284369518\nChange-Id: I19152675802548cd9efba30a40bccdbb14867fe1\n"
    },
    {
      "commit": "53696172c06b3e8ea2764e5fa8e0af49b1a1ef36",
      "tree": "08b9bdf6e1e22580aa074a3503dd0c4209b92806",
      "parents": [
        "1f54d78dab3b96a40c3a6f2e94254a5f08885469"
      ],
      "author": {
        "name": "Aditya Choudhary",
        "email": "caditya@google.com",
        "time": "Mon Feb 05 15:46:19 2024 +0000"
      },
      "committer": {
        "name": "Aditya Choudhary",
        "email": "caditya@google.com",
        "time": "Mon Feb 05 15:46:19 2024 +0000"
      },
      "message": "[DON\u0027T BLOCK] Test ownership migration rules\n\nThis CL is created as a best effort to migrate test targets\nto the new android ownership model. If you find incorrect or unnecessary\nattribution in this CL, please create a separate CL to fix that.\n\nFor more details please refer to the link below,\ngo/new-android-ownership-model\n\nBug: 304529413\nTest: N/A\nChange-Id: I2d2b76d1877eec0b2d36ba130da619b94bb046fb\n"
    },
    {
      "commit": "d9b4c032696889535a05f523dc441764a6dc51ae",
      "tree": "6b6cd559ed2d57411289444d7d3aeaabafad4af7",
      "parents": [
        "42a20772bfd6ce5ac94067e2b7837cf48d767626"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jul 19 10:15:13 2023 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jul 19 10:20:27 2023 +0000"
      },
      "message": "Disable HWASAN for crashdump\n\ncrashdump is running as the first process in the VM and HWASAN seems to require additional setup. It crashes while setting up sighandlers:\nHWAddressSanitizer: CHECK failed: sanitizer_posix_libcdep.cpp:204\n\nBug: 291867858\nTest: atest MicrodroidHostTestCases\nChange-Id: Ib19b480a9581557bbabd2df79645b87a497481ac\n"
    },
    {
      "commit": "2ebb002551dc659777ca1859035aff1e0986e451",
      "tree": "f9d1a57ae48ce6170a65099e50cf14cc641c6b4e",
      "parents": [
        "87bea6bb50b9352b31a9b7f58002e5e5e6fd752f"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Mar 17 14:37:34 2023 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sat Mar 18 10:05:32 2023 +0900"
      },
      "message": "kexec failure gives more detailed reason\n\nBug: 272365447\nTest: apply https://android-review.git.corp.google.com/c/platform/external/scudo/+/247547\nBuild aosp_cf_x86_64_phone, and run the microdroid VM.\n\nIt fails with the following message:\n\n[    1.353364] Failed to load panic kernel: Cannot assign requested\naddress\n[    1.353678] Image size too big?\n/system/etc/microdroid_crashdump_kernel:2262528 bytes,\n/system/etc/microdroid_crashdump_initrd.img:10584832 bytes\n\nChange-Id: I290c589b084ddb0a51a4e6018dfdf69e8505d341\n"
    },
    {
      "commit": "45f2ddcf316421207c0485a0e30958e19f7aa869",
      "tree": "ee4ea85ae8476c4cbdc82c6185869949268f5724",
      "parents": [
        "ed18093e7a5cd67ca1917a80b6beddc06d78e9d3"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Feb 24 18:41:50 2023 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sat Feb 25 09:20:36 2023 +0900"
      },
      "message": "Update crashdump kernel\n\nThe new kernel is built with CONFIG_DMA_RESTRICTED_POOL\u003dy so that it can\nrun on protected VMs.\n\nThe prebuilt is from 9652773\n\nBug: 270657304\nTest: do the ramdump on procted VM\nChange-Id: I818780663e6c4d23ac27de59d2a5014788becb5f\n"
    },
    {
      "commit": "202856eab689f5501b41273442864454d82bf174",
      "tree": "e603dbe0e93cc4b2cd62d59baaea8cc9f1463828",
      "parents": [
        "1612b90f62162796160ea41951d7c4d74200c32d"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Aug 22 16:04:26 2022 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Aug 23 00:02:27 2022 +0900"
      },
      "message": "Load crashkernel using kexec\n\nMicrodroid_manager executes the kexec binary as part of the boot process\nif ramdumping is supported.\n\nBug: 238404545\nTest: boot microdroid\nChange-Id: Ie9835b427dd0e556bf21a004cea070d553b829a8\n"
    },
    {
      "commit": "8d2a7078c7ad27f9389a2a18c900d48ab945c20b",
      "tree": "1f7082f052f8ceb434b06471cfeb12abedf09e2b",
      "parents": [
        "a4eebdefe8820b0cf5d9dcd8d239198a1abca91b"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 15 14:34:27 2022 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 15 20:05:31 2022 +0900"
      },
      "message": "Hard coding the path to crashdumping kernel and initrd in kexec binary\n\nFor better security, hard-code the paths to the kernel and initrd, and\nthe cmdline into the kexec binary so that one can use kexec to load\nsomething else.\n\nBug: 238272206\nTest: do the kdump\n\nChange-Id: I79a167b2597a7b5090a263cce3065a4dc353ea21\n"
    },
    {
      "commit": "cfaf038d746c4d0a671e67e19f2592b6faf32cbf",
      "tree": "532e646ae9f4d47f96ca30c6bded4eed48f3b060",
      "parents": [
        "e2b2577f338b782c2fd977274d0d0217296783a1"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Mon Jul 11 20:10:53 2022 +0900"
      },
      "committer": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Mon Jul 11 20:10:53 2022 +0900"
      },
      "message": "Call setvbuf at the beginning of main\n\nFrom cppreference:\n\n    This function may only be used after stream has been\n    associated with an open file, but before any other operation\n    (other than a failed call to setbuf/setvbuf).\n\nTest: watch TH\nChange-Id: I70d331c9150efc2a2b5e92f8b2933ef8214d1ce9\n"
    },
    {
      "commit": "3f496905e4058d2e70243e05e3b987221ed6dffd",
      "tree": "b3b9a70038a679d5e07ed51c042c8f95e50e2c91",
      "parents": [
        "3b117f75a8e1d0a24860b319888969fadaf5a6ce",
        "4afe2011bc69411983d52100efb21611e0fe0788"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 08 10:56:25 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 08 10:56:25 2022 +0000"
      },
      "message": "Merge changes I6ab7f3c2,I1f905379\n\n* changes:\n  Use the unused /dev/hvc1 as the ramdump sink\n  VirtualizationService notifies to its client when ramdump is available\n"
    },
    {
      "commit": "24c878bd989428e605fc399fe7bc98f008741cf0",
      "tree": "559612b7e8b433e9aa545d091bf1eda69e64db21",
      "parents": [
        "fd83bd47c84f3b286c0707b7d1c6a5518b46ff4e"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 08 16:38:06 2022 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 08 16:40:40 2022 +0900"
      },
      "message": "Fix the ndk build\n\nmultiple rules generate\nout/soong/target/product/ndk/system/etc/microdroid_crashdump_kernel [-w\ndupbuild\u003derr]\n\nFixing above error by marking the module non-installable.\n\nBug: N/A\nTest: build/soong/scripts/build-ndk-prebuilts.sh\nChange-Id: Ia3496ca299fe2616a519aeb451a1bcc21db89c3a\n"
    },
    {
      "commit": "4afe2011bc69411983d52100efb21611e0fe0788",
      "tree": "403651ae6d69522c05c40b449d0a294d896befad",
      "parents": [
        "e558ab1c451b01193c6c7a9dfaa2d639b0212584"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 08 05:38:49 2022 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 08 14:48:46 2022 +0900"
      },
      "message": "Use the unused /dev/hvc1 as the ramdump sink\n\npvmfw seems to have a hard limit on the number of PCI devices. Until\nthat is fixed, don\u0027t add a new PCI device, but use the existing (but\nused) one.\n\nBug: N/A\nTest: watch TH\nChange-Id: I6ab7f3c2a3a072b28afa9601c617ec461fbeed93\n"
    },
    {
      "commit": "9e5ae63ae9d8c2fac84486feb1c1b9fe227610a0",
      "tree": "e86c9e57d50cbfcf0f61b10dfc9c72643ae60dcc",
      "parents": [
        "2a00e9998dcec314a6fe889adae26df8501b6ab6"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 08 14:47:23 2022 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 08 14:48:46 2022 +0900"
      },
      "message": "Build kdump only for 64-bit\n\nIt doesn\u0027t support 32-bit target. Build crashdump, kexec, and the kernel\nonly for 64-bit and disable the 32-bit variant.\n\nBug: N/A\nTest: build for aosp_x86 and full\nChange-Id: I3fafff4a1a45ab808aa3b8cd720925c6b8f4fef3\n"
    },
    {
      "commit": "2a00e9998dcec314a6fe889adae26df8501b6ab6",
      "tree": "3aceac15bf3e0a3b153676232165a69f2155b975",
      "parents": [
        "62033c3746951540dd9fc9e96920325cc6f13764"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 08 13:56:12 2022 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 08 14:05:42 2022 +0900"
      },
      "message": "Fix -Wformat error in crashdump.c\n\nCast statbuf.st_size to long before printing as %ld.\n\nBug: N/A\nTest: watch TH for aosp-master/full-eng.\nChange-Id: Icb25ccaeb9ca2e705039b87e4fae582a613605d0\n"
    },
    {
      "commit": "8edb55379f3d7b4648dc6d2c6ed91e4d283cc7a3",
      "tree": "0f8cd296ed3a4b14d7099466199196260060e4d0",
      "parents": [
        "9117f013f5b389b5002c90f476bdb102150b5077"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jul 07 15:51:41 2022 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 08 11:46:49 2022 +0900"
      },
      "message": "Add crashdump kernel\n\nmicrodroid_crashdump_kernel is a very small kernel that is executed when\na kernel panic occurs. Since it\u0027s only use case is to run the crashdump\nbinary, the kernel is very minimal. In addition, it has to be as small\nas possible because the kernel has to be loaded (using kexec) in the VM\nRAM before a panic occurs.\n\nTo support these needs, it is built with most configuration options\nturned off, except for the followings needed for dumping the RAM:\n\n* CONFIG_CRASH_DUMP\n* CONFIG_PROC_VMCORE\n* CONFIG_RELOCATABLE\n\nThis is basically following the guideline at [1].\n\nIn addition, the following device drivers are enabled.\n\n* CONFIG_SERIAL_8250 // for use as the earlycon\n* CONFIG_VIRTIO_CONSOLE // for use as the dump target\n\n[1] https://www.kernel.org/doc/html/latest/admin-guide/kdump/kdump.html#dump-capture-kernel-config-options-arch-independent\n\nThese kernel prebuilts are for now locally built. It will soon be\nreplaced with the prebuilts from the build bot when the kernel config is\nuploaded to the Android common kernel repo.\n\nBug: 237380607\nTest: N/A (follow-up CLs needed)\n\nChange-Id: I238e1dbb74c0fc47fd4bb926b7d09caef4b90e78\n"
    },
    {
      "commit": "9117f013f5b389b5002c90f476bdb102150b5077",
      "tree": "2374192fc5c666bb19756f0ab43ae53bcd0f89d0",
      "parents": [
        "d35241230eb276f397c1f6543d1788e360754e9a"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jul 07 15:24:06 2022 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 08 11:46:45 2022 +0900"
      },
      "message": "Implement crashdump\n\ncrashdump is a small binary which copies the ramdump from /proc/vmcore\nto /dev/hvc3 which will be backed by a file outside of the VM.\n\ncrashdump is included in a init ramdisk image, and will be executed as\nthe init process when a kernel panic occurs.\n\nBug: 237381237\nTest: N/A (follow-up CL needed)\nChange-Id: Iecac0b437a2f512348ee28abe8b2bf6b23640029\n"
    },
    {
      "commit": "d35241230eb276f397c1f6543d1788e360754e9a",
      "tree": "af86bea30212d0976aeeacb65040548e5c11aa09",
      "parents": [
        "7b535d96b5a05adc6e853199d86c8ee844fd63fa"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jul 07 15:00:51 2022 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jul 07 15:12:24 2022 +0900"
      },
      "message": "Implement kexec\n\nTo support ramdump of VMs, implement a kexec binary and add it to\nMicrodroid. The binary will be used to preload the kernel and the init\nramdisk that the system will boot into when a kernel panic occurs.\n\nThe binary is very minimal. It has much less functionalities than the\nupstream kexec-tools. It has a different cmdline interface, and is just\na thin wrapper around the kexec_file_load syscall. It supports loading\nthe kernel and the ramdisk only for the exec-on-crash use case.\n\nBug: 237380224\nTest: run kexec on Microdroid\nChange-Id: I75610d4f55c97a79a7200ecf9e8aa7fc7b12c010\n"
    }
  ]
}
