Overview Introduction to virtualization Virtualization in AArch64 Stage 2 translation Trapping and emulation of instructions Virtualizing exceptions Virtualizing the Generic Timers Virtualization Host Extensions Nested virtualization Secure virtualization Costs of virtualization Check your knowledge Related information Next steps
What is the difference between a Type 1 hypervisor and a Type 2 hypervisor?
A Type 2 hypervisor runs on top of a host operating system, and a Type 1 hypervisor does not have a host operating system.
How many IPA spaces do Secure state and Non-secure state have?
Secure state has two IPA spaces: Secure and Non-secure
Non-secure state has one IPA space.
In which Exception levels can virtual interrupts be taken?
Virtual interrupts can only be taken while executing in EL0 or EL1, and only if enabled by setting the corresponding routing bit in
What is an SMMU? How can you use an SMMU for virtualization?
An SMMU, or System MMU, provides address translation services to a non-processor master. In virtualization, an SMMU can be used to give a master, for instance a DMA controller, the same view of memory as the VM to which it is assigned.
How does the HCR_EL2.E2H bit affect the execution of MSR TTBR0_EL1, x0 at EL2?
E2H==0, the instruction writes
E2H==1, the write is redirected to
What is a VMID and what is it used for?
A VMID is a virtual machine identifier. It is used to tag the TLB entries of a VM, so that TLB entries from several VMs can coexist in the TLBs at the same time.
What is a trap and how might it be used for virtualization?
A trap causes otherwise legal operations to trigger exceptions, trapping the operation to a piece of software with a higher privilege. In virtualization, traps allow a hypervisor to detect when certain operations are performed, and to emulate those operations.