Abstract
This chapter describes the current, state-of-the-art support for virtualization in modern ARM processors. Much of this work is based on the original paper on KVM/ARM, the Linux kernel virtual machine for ARM [60]. §7.1 first describes the key design principles behind ARM’s virtualization technology. §7.2 describes the approach to CPU virtualization, the concept of the EL2 hypervisor mode, and how the architecture relates to the Popek and Goldberg theorem. §7.3 discusses the closely related question of MMU virtualization through nested page tables. §7.4 discusses support for interrupt virtualization. §7.5 discusses support for timer virtualization. §7.6 uses KVM/ARM as its case study on how to build a hypervisor explicitly designed to assume ARM hardware support for virtualization, and contrast it with KVM x86, as discussed in Chapter 4. §7.7 discusses some micro-architectural implications of the design, including the performance overhead of the new architectural features. §7.8 discusses the implementation complexity of KVM/ARM. §7.9 discusses improvements to the ARM virtualization support for type-2 hypervisors such as KVM/ARM. Finally, like all chapters, we close with pointers for further reading.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Bugnion, E., Nieh, J., Tsafrir, D. (2017). Virtualization Support in ARM Processors. In: Hardware and Software Support for Virtualization. Synthesis Lectures on Computer Architecture. Springer, Cham. https://doi.org/10.1007/978-3-031-01753-7_7
Download citation
DOI: https://doi.org/10.1007/978-3-031-01753-7_7
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-00625-8
Online ISBN: 978-3-031-01753-7
eBook Packages: Synthesis Collection of Technology (R0)eBColl Synthesis Collection 7