Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Grall, ARM

86 views

Published on

Tweet Share
Virtualization capabilities were added to the latest revision of the Armv7-A architectures (with processors like Cortex A7 and A15), and this was extended further with Armv8-A (64bit). Since then, Arm has been improving virtualization support with incremental versions of the Armv8 architecture.

This talk will give an overview of the features added.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Grall, ARM

  1. 1. The evolu on of Virtualiza on in the Arm Architecture Julien Grall <julien.grall@arm.com> Xen Developer Summit 2018 © 2018 Arm Limited
  2. 2. 2 © 2018 Arm Limited
  3. 3. Use cases 3 © 2018 Arm Limited
  4. 4. Type of hypervisors Figure: From wikipedia 4 © 2018 Arm Limited
  5. 5. ARMv8-A Privilege Model Support both AArch32 and AArch64 execu on modes 32-64bit inter-working limited to excep on boundaries AArch64 always has a higher privilege than AArch32 AArch64 state is a superset of AArch32 state 5 © 2018 Arm Limited
  6. 6. ARM virtualiza on Introduced with the latest version of ARMv7 architecture New hypervisor execu on state Non-Secure world, higher privilege than EL1 6 © 2018 Arm Limited
  7. 7. Virtualiza on in a nutshell Second stage of memory transla on Adds an extra level of indirec on between guests and physical memory TLBs are tagged by Virtual Machine ID (VMID) Ability to trap access of most system registers The hypervisor decides what it wants to trap Can handle IRQs, FIQs and asynchronous aborts The guest doesn’t see physical interrupts firing, for example Guests can call into EL2 mode (HVC instruc on) Allows para-virtualizated services Standard architecture peripherals are virtualiza on-aware GIC and mer have specific features to help virtualiza on 7 © 2018 Arm Limited
  8. 8. EL2: Not EL1++ (ARMv8.0-A) EL2 is not a superset of NS-EL1 Orthogonal mode to EL1 Allows mul plexing of NS-EL1 guests on the hardware Own transla on regime Separate Stage-1 transla on, no Stage-2 transla on It would be difficult to run Linux in EL2 Requires too many changes to be prac cal EL2 could be used as a ”world switch” Between guests (baremetal hypervisor/Type I) Between host and guest (hosted hypervisor/Type II) This makes the host a form of specialized guest. 8 © 2018 Arm Limited
  9. 9. Hypervisor architecture - Type I EL1 EL0 EL2 Guest Kernel Hypervisor Guest Kernel Guest Kernel Guest Userspace Userspace Userspace Guest Guest 9 © 2018 Arm Limited
  10. 10. Hypervisor architecture - Type II EL1 EL0 EL2 HYP Host Kernel Switching Code Guest Kernel Guest Kernel Host Userspace Userspace Userspace Guest Guest 10 © 2018 Arm Limited
  11. 11. EL2 enhancement (ARMv8.1-A) The Virtualiza on Host Extension (VHE) expands the capability of EL2: Designed to improve the support of the Type-2 hypervisors Allows the host OS to be run at EL2 The host OS requires minimal changes to run at EL2 User-space s ll runs at EL0 Host has no so ware running at EL1 AArch64 specific EL2 becomes a strict superset of EL1 11 © 2018 Arm Limited
  12. 12. Hosted hypervisor architecture on a pla orm without VHE EL1 EL0 EL2 HYP Host Kernel Switching Code Guest Kernel Guest Kernel Host Userspace Userspace Userspace Guest Guest 12 © 2018 Arm Limited
  13. 13. Hosted hypervisor architecture on a pla orm with VHE EL1 EL0 EL2 Guest Kernel Guest Kernel Host Userspace Userspace Userspace Guest Guest Host Kernel + HYP 13 © 2018 Arm Limited
  14. 14. Nested Virtualiza on (ARMv8.3-A) The Nested Virtualiza on extension allows a hypervisor in a VM. Unmodified guest hypervisor running in NS EL1 Implementa on of a host hypervisor required Running at EL2 AArch64 specific 14 © 2018 Arm Limited
  15. 15. 15 © 2018 Arm Limited
  16. 16. Nested Virtualiza on on Arm 16 © 2018 Arm Limited
  17. 17. Nested Virtualiza on (ARMv8.3-A) 17 © 2018 Arm Limited
  18. 18. Nested Virtualiza on (Armv8.4.A) ARMv8.4 extends Nested Virtualiza on to: Reduce the number of traps Improve performance of nested hypervisor 18 © 2018 Arm Limited
  19. 19. Memory Par oning And Monitoring (ARMv8.3-A) The Memory Par oning And Monitoring (MPAM) allows: to limit the memory system performance impact of a VM provide more bandwidth to some processes A hypervisor can monitor and control how VM uses: memory of a system communicate with other system components 19 © 2018 Arm Limited
  20. 20. Summary Robust set of virtualiza on features Not just about CPU virtualiza on Covers the whole systems architecture An architecture in mo on: ARMv8.1-A: https://goo.gl/Ox4thV ARMv8.2-A: https://goo.gl/0Ns37U ARMv8.3-A: https://goo.gl/CJv1n0 ARMv8-4-A: https://goo.gl/tYZmhR 20 © 2018 Arm Limited
  21. 21. Ques ons? 21 © 2018 Arm Limited
  22. 22. The Arm trademarks featured in this presenta on are registered trademarks or trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere. All rights reserved. All other marks featured may be trademarks of their respec ve owners. www.arm.com/company/policies/trademarks © 2018 Arm Limited

×