06bcfd97d4
git log --first-parent -100 --oneline --no-decorate 9bb8b084648e..4a881d76d4f3: 4a881d76d4f3 ANDROID: db845c: enable abi build and update KMI list 599c03f9e40a ANDROID: GKI: Fix linter warning 7d08da22b35f ANDROID: GKI: Add virtual_device arm64 symbollist 706d642b1dd2 ANDROID: GKI: Handle no ABI symbol list for modules 23eff0b4a8df UPSTREAM: x86/boot: Wrap literal addresses in absolute_pointer() 31eccfd00de0 UPSTREAM: perf/arm-cmn: Add debugfs topology info 914984267005 UPSTREAM: perf/arm-cmn: Add CI-700 Support 5e5fc87df276 UPSTREAM: dt-bindings: perf: arm-cmn: Add CI-700 1f2189da5028 UPSTREAM: perf/arm-cmn: Support new IP features 359d3ceea2b4 UPSTREAM: perf/arm-cmn: Demarcate CMN-600 specifics 2862aad95ab0 UPSTREAM: perf/arm-cmn: Move group validation data off-stack 81d720463233 UPSTREAM: perf/arm-cmn: Optimise DTC counter accesses 6a8af2bf99dd UPSTREAM: perf/arm-cmn: Optimise DTM counter reads 94dd856a9256 UPSTREAM: perf/arm-cmn: Refactor DTM handling 492930d734a1 UPSTREAM: perf/arm-cmn: Streamline node iteration 76df62f279df UPSTREAM: perf/arm-cmn: Refactor node ID handling 71be9e10b7ab UPSTREAM: perf/arm-cmn: Drop compile-test restriction c944ced82b29 UPSTREAM: perf/arm-cmn: Account for NUMA affinity a0b8d8e19179 ANDROID: Fix license for BUILD.bazel file. 8677c1236997 ANDROID: GKI: MGLRU: Ensure spare page flags bits 3f892551b489 ANDROID: GKI: Build multi-gen LRU 78cc6cce2826 BACKPORT: mm: multi-gen LRU: design doc 642d9866d67e UPSTREAM: mm: multi-gen LRU: admin guide 4983c5264ab1 BACKPORT: mm: multi-gen LRU: debugfs interface 430499cfb56f UPSTREAM: mm: multi-gen LRU: thrashing prevention baeb9a002530 BACKPORT: mm: multi-gen LRU: kill switch a8a158aaf2a6 BACKPORT: mm: multi-gen LRU: optimize multiple memcgs 7f53b0e7048e BACKPORT: mm: multi-gen LRU: support page table walks 0182f92a0f65 BACKPORT: mm: multi-gen LRU: exploit locality in rmap 37397878ee0a BACKPORT: mm: multi-gen LRU: minimal implementation d5b2fa1c7be5 BACKPORT: mm: multi-gen LRU: groundwork 7add16c8246d UPSTREAM: Revert "include/linux/mm_inline.h: fold __update_lru_size() into its sole caller" 6d3134477667 BACKPORT: mm/vmscan.c: refactor shrink_node() 0414a3554ff5 BACKPORT: mm: x86: add CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG d232fd437aa0 BACKPORT: mm: x86, arm64: add arch_has_hw_pte_young() b3890c0f96f3 Revert "FROMLIST: mm: x86, arm64: add arch_has_hw_pte_young()" 8ba6c35f8ec6 Revert "FROMLIST: mm: x86: add CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG" c277ecc960b5 Revert "FROMLIST: mm/vmscan.c: refactor shrink_node()" effb23f57b70 Revert "FROMLIST: Revert "include/linux/mm_inline.h: fold __update_lru_size() into its sole caller"" 2635d7d1085e Revert "FROMLIST: mm: multi-gen LRU: groundwork" e931b1d2225c Revert "FROMLIST: mm: multi-gen LRU: minimal implementation" 96cb087f7d92 Revert "FROMLIST: mm: multi-gen LRU: exploit locality in rmap" 02dc0d1dda1a Revert "FROMLIST: mm: multi-gen LRU: support page table walks" 52ed44a3340a Revert "FROMLIST: mm: multi-gen LRU: optimize multiple memcgs" 8994fcd031b0 Revert "FROMLIST: mm: multi-gen LRU: kill switch" 657801daa000 Revert "FROMLIST: mm: multi-gen LRU: thrashing prevention" 7cb57a581581 Revert "FROMLIST: mm: multi-gen LRU: debugfs interface" 543542a21e08 Revert "FROMLIST: mm: multi-gen LRU: admin guide" b8f8d02fd455 Revert "FROMLIST: mm: multi-gen LRU: design doc" 9143bb24b092 Revert "ANDROID: GKI: build multi-gen LRU" 849a1653aa70 FROMGIT: scsi: ufs: ufs-mediatek: Remove unnecessary return code cebbd160a67b FROMGIT: scsi: ufs: core: Fix the polling implementation 7da64b74640a FROMGIT: scsi: ufs: ufs-mediatek: Modify the return value 3f0d5bcc7acd FROMGIT: scsi: ufs: ufs-mediatek: Remove unneeded code 5e1f225bb8d6 FROMGIT: scsi: ufs: core: Fix unnecessary operation for early return 3f265b588401 FROMGIT: scsi: ufs: core: Switch 'check_for_bkops' to bool 7871280384e9 FROMGIT: scsi: ufs: core: Separate function name and message 04f5512a60f6 FROMGIT: scsi: ufs: core: Remove check_upiu_size() from ufshcd.h 6d03fcb24d15 ANDROID: Fix DDK include dirs for arm. 517fb6083cd2 UPSTREAM: xfrm: Fix oops in __xfrm_state_delete() 32a7bc01f8dc ANDROID: db845c: drop gki_modules_list to use all gki modules by default f5ea8b2710cc Merge 5.15.80 into android14-5.15 5853a069e0fd ANDROID: KVM: arm64: Use 32-bit function ID for PSCI MEM_PROTECT call 3a954f97ee99 ANDROID: kleaf: Rename allmodconfig targets 709b0127cd6f ANDROID: KVM: arm64: s2mpu: Fix SYNC latency regression 1244ad70a80a ANDROID: KVM: arm64: iommu: Add host_stage2_idmap_complete 2c06d861a9f3 ANDROID: KVM: arm64: Don't update IOMMUs unnecessarily 0812877eff72 ANDROID: KVM: arm64: s2mpu: Add SysMMU_SYNC timeout f3edf87e0dcd ANDROID: KVM: arm64: s2mpu: Allow r/o access to control regs 260c2d119525 ANDROID: KVM: arm64: s2mpu: Allow reading MPTC entries 019f61dd91bf ANDROID: KVM: arm64: s2mpu: Allow L1ENTRY_* r/o access 6ea4fec26c00 ANDROID: KVM: arm64: s2mpu: Refactor DABT handler 70f5046ab563 ANDROID: KVM: arm64: s2mpu: Extract L1ENTRY_* consts 35d955335995 ANDROID: KVM: arm64: s2mpu: Initialize MPTs to PROT_RW c85c148dd01a ANDROID: KVM: arm64: iommu: Optimize snapshot_host_stage2 6d6564e273e9 ANDROID: KVM: arm64: iommu: Fix upper bound of PT walk da176539ffde ANDROID: KVM: arm64: iommu: Add pkvm_iommu_finalize 5eabe6b4ab23 ANDROID: KVM: arm64: iommu: No powered check in DABT handler fa29a2f820f6 ANDROID: KVM: arm64: s2mpu: Create SysMMU_SYNC driver e494fba69bf4 ANDROID: KVM: arm64: iommu: Create parent/child relation d96f29b39f83 ANDROID: KVM: arm64: iommu: Run validate() on struct pkvm_iommu abb0647b7caf ANDROID: KVM: arm64: iommu: Create private mapping last d040797a836e ANDROID: KVM: arm64: iommu: Free memory on registration error 8f371d99933c ANDROID: KVM: arm64: iommu: Harden __pkvm_iommu_pm_notify 91fabda765f2 ANDROID: Add pkvm_iommu_* symbols to aarch64 ABI 039d0f6a1f98 ANDROID: KVM: arm64: Remove unused IOMMU hooks, kvm_iommu_ops b17b62d75c46 ANDROID: KVM: arm64: s2mpu: Implement host stage2 idmap callbacks 368e4d7905c2 ANDROID: KVM: arm64: s2mpu: Move mpt_update_flags into FMPT afcb8406cd4b ANDROID: KVM: arm64: s2mpu: Replace DABT handler with callback 180fc3196152 ANDROID: KVM: arm64: s2mpu: Replace SMC handler with PM callbacks a1db4a978e14 ANDROID: KVM: arm64: s2mpu: Add driver initializer c792a766aeb6 ANDROID: KVM: arm64: s2mpu: Remove host_stage2_adjust_mmio_range bed7dd0db4f4 ANDROID: KVM: arm64: s2mpu: Replace struct s2mpu with pkvm_iommu cfdfc4b47d37 ANDROID: KVM: arm64: s2mpu: Remove all EL1 code 23fba443b331 ANDROID: KVM: arm64: s2mpu: Move SFR init to EL2 d2e576625260 ANDROID: KVM: arm64: iommu: Snapshot host stage-2 at driver init 0a7dc556ab6a ANDROID: KVM: arm64: iommu: Host stage-2 idmap callbacks 3f07551fa632 ANDROID: KVM: arm64: iommu: DABT handler callback 770ec56a176b ANDROID: KVM: arm64: iommu: Suspend/resume callbacks 59feca193823 ANDROID: KVM: arm64: iommu: Register device hypcall Test: treehugger Bug: 233192153 Change-Id: Icea5d27b4e741e85c9cbdd2cdcc926a5a8cbe1df |
||
---|---|---|
.. | ||
arm64 | ||
x86_64 | ||
README.md |
README.md
Microdroid kernel
This directory contains prebuilt images of the Linux kernel that is used in Microdroid. The kernel is built from the same source tree as Generic Kernel Image (GKI), but with a different config where most of the config items are turned off to make the kernel fast & slim.
How to build the Microdroid kernels
Checkout the GKI source code.
repo init -u https://android.googlesource.com/kernel/manifest -b android14-5.15
repo sync
Build the Microdroid kernels manually
For ARM64
tools/bazel clean
tools/bazel run --config=fast --lto=thin //common-modules/virtual-device:microdroid_aarch64_dist -- --dist_dir=out/dist
For x86_64,
tools/bazel clean
tools/bazel run --config=fast --lto=thin //common-modules/virtual-device:microdroid_x86_64_dist -- --dist_dir=out/dist
Note that
--config=fast
is not mandatory, but will make your build much faster.
The build may fail in case you are doing an incremental build and the config has changed (b/257288175). Until that issue
is fixed, do the clean build by invoking tools/bazel clean
before the build command.
Change the kernel configs
For ARM64
tools/bazel run //common-modules/virtual-device:microdroid_aarch64_config -- menuconfig
For x86_64
tools/bazel run //common-modules/virtual-device:microdroid_x86_64_config -- menuconfig
How to update Microdroid kernel prebuilts
For manually built kernels (only for your own development)
Copy the built kernel image to the Android source tree directly, and build the virt APEX.
For ARM64,
cp out/dist/Image <android_checkout>/packages/modules/Virtualization/microdroid/kernel/arm64/kernel-5.15
For x86_64,
cp out/dist/bzImage <android_checkout>/packages/modules/Virtualization/microdroid/kernel/arm64/kernel-5.15
For official updates
Use the download_from_ci
script to automatically fetch the built images from
a specific <build_id>
and make commits with nice history in the message.
cd <android_checkout>/packages/modules/Virtualization
repo start <topic_name>
cd <kernel_checkout>
ANDROID_BUILD_TOP=<android_checkout> ./build/kernel/gki/download_from_ci --update-microdroid -b <bug_id> <build_id>
cd <android_checkout>/packages/modules/Virtualization
repo upload .