crosvm: gunyah: Support launching QTVMs Qualcomm Trusted VM (QTVM) is a kind of protected VM which differentiates itself from from the traditional protected VMs that have been supported by crosvm in a few aspects like - 1. identified by reserved VM ID and PAS ID pair. 2. authenticated by the firmware/TZ and not pvmfw. 3. A QTVM Image is single loadable elf Image which contains kernel, dtb, initrd and the metadata needed for its authentication. 4. A QTVM can be backed by Contiguous Memory. Either the entire GuestMemory region could be contiguous or it could be a combination of both CMA and shm. As the guest memory now can contain regions backed by CMA, make the necessary IOCTLs to map these regions to the VM. Also, add a new IOCTL to set the authentication type to be GUNYAH_QCOM_TRUSTED_VM_TYPE. Bug: 399219478 Change-Id: I2e8a8f64db18602769421b667e69ca3a77c29426
crosvm is a virtual machine monitor (VMM) based on Linux’s KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the ChromeOS platform. Compared to QEMU, crosvm doesn’t emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.
crosvm is currently used to run Linux/Android guests on ChromeOS devices.