android_packages_modules_Vi.../microdroid/kernel
Jiyong Park 06bcfd97d4 Update kernel to builds 9365138
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
2022-12-06 00:13:27 +00:00
..
arm64 Update kernel to builds 9365138 2022-12-05 11:40:08 +09:00
x86_64 Update kernel to builds 9365138 2022-12-06 00:13:27 +00:00
README.md Update the doc about configuring the kernel using kleaf 2022-11-14 19:14:34 +09:00

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 .