Update kernel to builds 11448237

git log --first-parent -100 --oneline --no-decorate 479ddc829c53:
479ddc829c53 ANDROID: KVM: arm64: Fix kvm_pgtable_stage2_relax_perms
ad47114765bb ANDROID: KVM: arm64: Invoke the POST callback walker on the stage2 annotation install
3768ce6bcf09 ANDROID: microdroid_defconfig: Enable Android-V Virtual CPUfreq
52d5a78832fc ANDROID: KVM: arm64: Fix double hyp exit event
ea3bfe521f74 ANDROID: KVM: arm64: Add missing hyp tracing "trace" file
6493b9bed2dd ANDROID: KVM: arm64: Fix hyp_event_id cast
5e747449264e ANDROID: KVM: arm64: Fix hyp_event id search boundary
9fc999beb76a BACKPORT: FROMLIST: cpufreq: add Android-V virtual-cpufreq driver
ac8171380d80 BACKPORT: FROMLIST: dt-bindings: cpufreq: add virtual cpufreq device
209211e7d51b Revert "ANDROID: KVM: arm64: Temporary fix for stage2 refcounting issue"
459f27c7279e ANDROID: KVM: arm64: Fix pagetable refcount when changing pte software bits
418385299f0d ANDROID: KVM: arm64: pkvm_module_ops documentation
d2608599faa4 BACKPORT: erofs: fix infinite loop due to a race of filling compressed_bvecs
1c22842ad1f6 ANDROID: KVM: arm64: Temporary fix for stage2 refcounting issue
139d297b3f33 BACKPORT: FROMGIT: KVM: arm64: Fix circular locking dependency
d6fe658d1843 ANDROID: KVM: arm64: Skip prefaulting ptes which will be modified later
f994dc25ba1b ANDROID: KVM: arm64: Range-based module_change_host_prot
f5009e4261bf ANDROID: KVM: arm64: Relax checks in module_change_host_page_prot
259363564b97 ANDROID: KVM: arm64: Optimise module_change_host_page_prot
ca09f070f5da ANDROID: KVM: arm64: Prefault entries when splitting a block mapping
a5a10c257887 ANDROID: Kleaf: Switch to Clang 18.0.0 (r510928)
3c9c04ead542 ANDROID: mm: Remove direct reclaim tracepoint exports
2c0f74984c2c ANDROID: KVM: arm64: Fix host_stage2_pte_is_counted()
a1ef8ccfa6a4 UPSTREAM: arm64: scs: Disable LTO for SCS patching code
565762788be0 UPSTREAM: drm/msm/dsi: Enable runtime PM
483c92c83639 UPSTREAM: usb: typec: tcpm: fix the PD disabled case
165efa82d365 UPSTREAM: usb: typec: tcpm: Support multiple capabilities
67b9d8ac3fe0 UPSTREAM: usb: typec: tcpm: Parse Accessory Mode information
2837d01aef2c ANDROID: add initial symbol list file for ExynosAuto SoCs
75292481a93d FROMGIT: dma-buf: heaps: Don't track CMA dma-buf pages under RssFile
38a4dd506bdc BACKPORT: f2fs: Restrict max filesize for 16K f2fs
9dc3e4963b36 Merge "Merge 6.1.76 into android15-6.1" into android15-6.1
5ea18ed785d7 ANDROID: Remove 32bit test config and clean up zip
2ca5f1b387a8 UPSTREAM: binder: return pending info for frozen async txns
c873898fc689 Merge "Merge 6.1.75 into android15-6.1" into android15-6.1
29cd1b1d68f3 FROMGIT: mm: update mark_victim tracepoints fields
6354483037e9 ANDROID: KVM: arm64: Support missing pKVM module sections
28dc54740cc1 ANDROID: KVM: arm64: Allow skipping module page donation
31c632eabc77 ANDROID: KVM: arm64: Addr sanity check for pKVM HVC registration
bca6a02c3a26 ANDROID: KVM: arm64: Deprecate late pKVM module loading
9136d4b01042 ANDROID: KVM: arm64: Add a fallback for pKVM module loading
25e248f07c7a ANDROID: KVM: arm64: Add a custom module path for pKVM module loading
e89cc88e6d16 ANDROID: KVM: arm64: Handle permission issue while loading pKVM module
108843a790e7 ANDROID: KVM: arm64: pKVM module loading before deprivilege
a989b95a651f ANDROID: KVM: arm64: Rework pKVM module locking
c466c95fc8a7 ANDROID: KVM: arm64: Allow setting device attr in stage-2 PTEs
13016527d6b5 ANDROID: KVM: arm64: Allow setting {P,U}XN in stage-2 PTEs
11b4e0689603 ANDROID: KVM: arm64: Restrict host-to-hyp MMIO donations
97739f99fb9b ANDROID: KVM: arm64: Allow state changes of MMIO pages
a1387cd59c18 ANDROID: KVM: arm64: Always unmap protected regions from the host
9fc76692a853 ANDROID: KVM: arm64: Map MMIO donation as device at EL2
04f7e4cb7141 ANDROID: KVM: arm64: Allow MMIO perm changes from modules
16cae48b625b ANDROID: KVM: arm64: Pin host stage-2 tables
37ceae61ac2f ANDROID: KVM: arm64: Move kvm_pte_follow() to header
d6f893c7052a ANDROID: KVM: arm64: Pre-populate host stage2
5fb9cc590386 ANDROID: KVM: arm64: Fix the host ownership later
f8cfa1d7c212 ANDROID: KVM: arm64: Don't recycle non-default PTEs
4a8dc6502b53 ANDROID: KVM: arm64: Introduce kvm_pgtable_stage2_reclaim_leaves
d3d79dcfb775 ANDROID: KVM: arm64: Specify stage-2-protected regions in DT
22a9516b589a ANDROID: KVM: arm64: Introduce concept of pKVM moveable regions
93737233de06 ANDROID: KVM: arm64: Let modules specify arbitrary permissions for host pages
4cca4681b030 ANDROID: KVM: arm64: Introduce module-owned pages
206c93ff65b0 ANDROID: KVM: arm64: Expose get_leaf to pKVM modules
547c769cd5d2 ANDROID: KVM: arm64: Sanity check the input to pKVM module mm APIs
3b28916da031 ANDROID: KVM: arm64: Expose pKVM module mm APIs in module_ops
faca983edab6 ANDROID: KVM: arm64: Allow tweaking HFGWTR_EL2 from modules
47d852f395d8 ANDROID: KVM: arm64: Allow tweaking HCR_EL2 from modules
67c8ecea7caa ANDROID: KVM: arm64: Expose hyp_va to modules
768544bb721a ANDROID: KVM: arm64: Expose host_{un}share_hyp() to modules
29ee44dc4785 ANDROID: arm64: kvm: Add new module functions used by s2mpu.
a6a708e7e3b8 ANDROID: KVM: arm64: Add helper for pKVM modules addr conversion
dbd1ba3519cc ANDROID: KVM: arm64: Correctly flag MMIO pages as PKVM_PAGE_RESTRICTED_PROT
767d50f69ed2 ANDROID: KVM: arm64: Introduce default_host_prot()
4cf4f67a1e05 ANDROID: KVM: arm64: Introduce a hyp panic module notifier
43fb633c3642 ANDROID: KVM: arm64: Expose linear map APIs to pKVM modules
aff487543a69 ANDROID: KVM: arm64: Allow trap handling from pKVM modules
ac7cdfc1d8c4 ANDROID: KVM: arm64: Notify pKVM modules of PSCI events
6b28391cff6a ANDROID: KVM: arm64: Allow handling illegal aborts from pKVM modules
66313c4b07cf ANDROID: KVM: arm64: Allow SMC handling from pKVM modules
f99c9c5c0b57 ANDROID: KVM: arm64: Add support for non-cacheable mappings
7b3e9f8c8cf8 ANDROID: KVM: arm64: Introduce hyp_protect_host_page()
3c38d5a31576 ANDROID: KVM: arm64: Add a permission fault handler
1a8f3cccb732 ANDROID: KVM: arm64: Fix PKVM_PAGE_RESTRICTED_PROT conflict
3ef49a727743 ANDROID: KVM: arm64: Introduce PKVM_PAGE_RESTRICTED_PROT
0f0972c4f428 ANDROID: KVM: arm64: Expose kvm_flush_dcache_to_poc() in module_ops
18c367b1e21c ANDROID: KVM: arm64: Expose hyp fixmap helpers in module_ops
4d17e4d6a16c ANDROID: drivers: misc: Add an example pl011 driver for pKVM
7542cf0f68c5 ANDROID: modpost: Don't complain about empty non-allocatable ELF sections
ac5d0695b6e1 ANDROID: KVM: arm64: Resolve hyp module addresses using ELF sections
fa6641ff12fb ANDROID: KVM: arm64: Block module loading based on cmdline or HVC
c26e6bfece6f ANDROID: KVM: arm64: Add support for custom hypercall registration
f55b729b63d0 ANDROID: KVM: arm64: Return a token for a pKVM module registration
3745a932dc67 ANDROID: KVM: arm64: Expose hyp_put* helpers to pKVM modules
f5e65752e43a ANDROID: KVM: arm64: Add serial framework for pKVM
d2eafcc615b8 ANDROID: KVM: arm64: Expose __pkvm_create_private_mapping to pKVM modules
e9d908bb835f ANDROID: KVM: arm64: Include .note.gnu.property in .hyp.rodata
652d1668d015 ANDROID: KVM: arm64: Allow loading modules to the pKVM hypervisor
a6fe8fb109d0 ANDROID: arm64: patching: Add aarch64_addr_write()
e3cbbc8bf596 ANDROID: arm64: patching: Refactor __aarch64_insn_write()
77001e498d7c ANDROID: KVM: arm64: Refactor nvhe Makefile

Test: treehugger
Bug: 298011555
Change-Id: I291f6107788814e7959fe83fa3d7f27d55b00817
4 files changed
tree: 2da29f5ff956ebd14c61a66261642dabc5a841bc
  1. apex/
  2. apkdmverity/
  3. authfs/
  4. compos/
  5. demo/
  6. demo_native/
  7. docs/
  8. encryptedstore/
  9. javalib/
  10. launcher/
  11. libs/
  12. microdroid/
  13. microdroid_manager/
  14. pvmfw/
  15. rialto/
  16. service_vm/
  17. tests/
  18. virtualizationmanager/
  19. virtualizationservice/
  20. vm/
  21. vm_payload/
  22. vmbase/
  23. vmclient/
  24. zipfuse/
  25. .clang-format
  26. .gitignore
  27. Android.bp
  28. OWNERS
  29. PREUPLOAD.cfg
  30. README.md
  31. rustfmt.toml
  32. TEST_MAPPING
README.md

Android Virtualization Framework (AVF)

Android Virtualization Framework (AVF) provides secure and private execution environments for executing code. AVF is ideal for security-oriented use cases that require stronger isolation assurances over those offered by Android’s app sandbox.

Visit our public doc site to learn more about what AVF is, what it is for, and how it is structured. This repository contains source code for userspace components of AVF.

If you want a quick start, see the getting started guideline and follow the steps there.

For in-depth explanations about individual topics and components, visit the following links.

AVF components:

AVF APIs:

How-Tos: