History of April 19, 2018 | ARM open source software focused Dr. Sang-bum Suh CEO Perseus Co., Ltd, GENIVI Alliance Email: [email protected] This work is licensed under a Creative Commons Attribution-Share Alike 4.0 (CC BY-SA 4.0) GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries. Copyright © GENIVI Alliance 2018. Contents

• Origin of – Virtualization at 2008

• Why hypervisor in the past?

• Hypervisor evolution

• History of Xen ARM hypervisor – Smartphone prototype based on Xen ARM: Demo to show two OS running and how to protect smartphone against hacker’s attack Origin of virtualization • Virtual machine monitor? Type-1 virtualization? Hypervisor?

• IBM developed Hypervisor first, for migration of bank transaction service without interrupt of the service in 70s.

• Hypervisor for server massively adopted in data center from 2008.

• On the other hand, development of Hypervisor for mobile devices on ARM CPU started from around 2005.

3 | April 19, 2018 | Copyright © GENIVI Alliance 2017 Virtualization at 2008

Theory: simple vs. Practice: complexity of design & implementation comparable to that of Application A α virtualization (virtual (Real State) V(A) State) OS kernel virtualization e(A) ε(α)

B β Xen ARM, OK-Labs L4 Hypervisor (Virtual (Real State) V(B) State) Xen Trango, Virtualligix, etc

Virtualization is the construction of an isomorphism between a virtual system and a real system [Virtual Machines] James E. Smith/Ravi Nair , 4p Components: DRAM, Flash/HDD

For server system side For mobile system side 4 | April 19, 2018 | Copyright © GENIVI Alliance 2018 Why hypervisor in the past?

Consolidation

HW consolidation  SoC BOM cost saving App1 ... AppN AppN+1 ... App2N

App1 ... AppN AppN+1 ... App2N MS Windows Linux Data center: IT industry MS Windows Linux Hypervisor since 2008~ HW1 HW2HWN HW

DecouplingDecoupling DecouplingDecoupling & live migration DecouplingDecoupling

Between OS and HW Live migration from old OS to latest OS Between OS and HW  Zero down-time of service

App1 ... AppN App1 ... AppN App1 ... AppN App1 ... AppN Bank service: IBM Linux 3.x Linux 3.x Linux 4.x Linux 4.x since 70s~ Hypervisor Hypervisor Hypervisor

Mainframe Mainframe Mainframe

5 | April 19, 2018 | Copyright © GENIVI Alliance 2017 Hypervisor Evolution (1/2) Guest OS runs on hypervisor, without modifying source code of Guest OS CAN NOT run on hypervisor, guest OS. without modifying source code of guest •Thin Hypervisor OS. •High Performance •Heavy Hypervisor Guest OS Guest OS •Low Performance Gust OS Guest OS Hypervisor

VCPU VMMU H/W with Virtualization Extension Virtual I/O

Hypervisor After SoC Architecture reflecting virtualization requirements of customers: Legacy H/W • CPU/MMU Virtualization • I/O Virtualization Past Today No Hardware support Simpler, stronger Hypervisor by ARM/ x86 SoC hardware assist 6 | April 19, 2018 | Copyright © GENIVI Alliance 2017 Hypervisor Evolution: Xen case (2/2) PV driver Overhead Reduces

I/O Virtualization Overhead Reduces

CPU/MMU Virtualization Overhead Reduces

Xen ARM Xen-1.0 Xen-3.0 Xen-4.3 (PV) (PV) (HVM) (x86 & ARM) released for server for server for server for mobile

2003 2005 2006 2007 2008 2009 2012 2014

Intel VT-d SR-IOV Hardware VT-x, AMD-v EPT, NPT ARM VTE, Device Pass-through GICv2, NIC CPU Virtualization MMU Virtualization assist improves I/O MMU400 performance Overhead reduces Overhead reduces performance improves

7 | April 19, 2018 | Copyright © GENIVI Alliance 2017 History of Xen ARM hypervisor

‘07 ‘08 ‘09 ‘10 ‘11 ‘12

Xen ARM 1st Xen ARM 2nd Xen ARM 3rd th Xen ARM 5th Xen ARM 6th Xen ARM Xen ARM 4 Release: Release: Release: Release: Release: architecture Release: ARM9 Xen Paravirtualized ARM11MPCore Cortex-A9 Cortex-A15 introduced Performance Hypervisor, Linux kernel Support MPCore Support MPCore Support at North America Optimization Mini-OS (v2.6.24), Xen tool Xen Summit

Xen ARM Feature

. CPU overhead: 3% on average after optimization . Memory footprint: 1~2 MB DRAM

Supported Hardware & Guest OS

. Linux v2.6.11, v2.6.18, v2.6.21, v2.6.24, v2.6.27 . ARM926EJ-S (i.MX21, OMAP5912) (multicore supported) . Xscale 3rd Generation Architecture . uC/OS-II (PXA310, Samsung SGH- i780) . ARM1136/ARM1176(Core Only) . Goldfish (EQMU Emulator) . Versatile Platform Board . ARM11MPCore (Realview PB11MP) . Tegra250

8 | April 19, 2018 | Copyright © GENIVI Alliance 2017 Smartphone prototype based on Xen ARM: Two Linux OS running on Xen ARM with mandatory access control, guaranteeing enhanced security.

Linux 1 Linux 2 Important Hypervisor services H/W

Secure Smartphone on Xen ARM

9 | April 19, 2018 | Copyright © GENIVI Alliance 2017 Thank you!

Visit GENIVI at http://www.genivi.org or http://projects.genivi.org Contact us: [email protected]

This work is licensed under a Creative Commons Attribution-Share Alike 4.0 (CC BY-SA 4.0) GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries. Copyright © GENIVI Alliance 2018.