ARM Virtualization


Let MindShare Bring "ARM Virtualization" to Life for You

Virtualization support implemented in hardware (at the processor and at the SoC level) is a relatively new feature for the ARM architecture. The first complete processor virtualization implementation was introduced with the Cortex-A15.

This course explains what virtualization is, and how it is implemented in an ARM platform such as a Micro-server or mobile architecture.

MindShare Courses Related to ARM Virtualization:

Course Name

Virtual Classroom

ARM Virtualization  
3 days
3 days
Notify Me When Available
IO Virtualization on ARM Platforms
2 days

2 days
ARM Architecture (with x86 comparisons)
4 days

4 days

Show Me
ARMv8-A 64-bit Architecture
4 days

4 days

Show Me
ARMv7 32-bit Architecture
3 days

3 days

Show Me
Fundamentals of ARM Architecture
1 day

1 day

Show Me

All of MindShare's classroom and virtual classroom courses can be customized to fit the needs of your group.

ARM Virtualization Course Info

You Will Learn:

  • What virtualization is, and the use cases in the ARM environment.
  • The theory of virtualization dating back to the IBM mainframes of the 1960s and 1970s, and how that mainframe technology is relevant to the phone, tablet, and micro-sever today.
  • The ARM processor, memory and interrupt controller enhancements to support virtualization.
  • ARM platform enhancements to support virtualization of I/O devices that are passed through to the guest, including PCIe devices.
  • The major sources of overhead added to the system with virtualization, and some ways in which they may be alleviated.
  • Other potential uses for this virtualization hardware

Course Length:  3 days

Who Should Attend?

Virtualization is a topic that covers both hardware and software. This course is suitable for hardware engineers who desire to understand the full picture of how virtualization on an ARM platform works. It is also suitable for software engineers who desire to understand how to implement the required ARM virtualization software.

Course Outline:

  • Introduction to virtualization technology.
    • Brief overview of the ARM processor and platform architecture.
    • What is virtualization?
    • The usage scenarios for virtualization.
    • Virtualization theory – classical virtualization – trap and emulate.
    • Paravirtualization techniques.
  • Virtualization implemented totally in software.
    • Interrupt controller support added to support software virtualization.
  • ARM processor virtualization support.
    • Processor mode (Hyp) mode added in 32-bit ARM to implement hardware virtualization of the processor core.
    • The intersection of virtualization support and security support (TrustZone).
    • ARM 64-bit processor virtualization implementation – Exception Levels 2 and 3.
  • Interrupts and Virtualization.
    • Interrupt delivery, and the role of the hypervisor.
    • vIRQ and vFIQ support in the interrupt controller.
  • Memory management.
    • Paravirtualization techniques.
    • Brief introduction to paging.
    • Hardware support for paging guest operating systems.
    • Significance of guest physical (intermediate physical address space), especially with regard to I/O.
    • TLB management and TLB features to support virtualization.
  • IO Virtualization.
    • Paravirtualization techniques, and the benefits of paravirtualization.
    • Trap and emulate.
    • Virtualization of the network, as an example of I/O.
  • Hardware support for device pass-thru to guests.

Recommended Prerequisites:

A background in ARM architecture will assist the students in understanding the material. We can not understand how to virtualize a particular function unless we first understand that function! Each section will include a brief review of the appropriate ARM architecture to help fill in any holes in the students’ knowledge, but this class is not intended to be a complete ARM architecture class.

Training Materials:

Students will be provided with an electronic version of the slides used in class