Isolation and Virtualization Solutions For Automotive Real Time Processors
Isolation and Virtualization Solutions For Automotive Real Time Processors
18.04.2024
| Public | NXP and the NXP logo are trademarks of NXP B.V. All other product
or service names are the property of their respective owners. © 2024 NXP B.V.
Agenda
through software +
hardware integration Portable healthcare
and biotechnology
New levels of performance
Wearable Game streaming
across industries
technologies
Augmented
Computing Smart home virtual reality
devices
Smart phones AI and machine
Gaming consoles learning accelerators
Networking
equipment
3 | NXP | Public
Vehicle transformation underway
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
4 | NXP | Public
Integration
Automakers must
navigate mounting
ECU 1 ECU 2 ECU 3 ECU 4 ECU 5 … ECU X
software and hardware
SW SW SW SW SW SW
5 | NXP | Public
Scalability
and architectures
Domain Centralized
6 | NXP | Public
Introducing Tightly integrated software and hardware
Applications Focus on
differentiation
Middleware, OSes,
Leading Drivers
partners
S32 Discrete HW
Reduce complexity
platform CoreRide
platform
components Maximize system
performance
and integration, Energy Networking S32K1 S32M2 S32K3 S32R S32Z/E S32G S32N
paving the way to a Management
S32 compute
new era of SDV
development CAN & LIN 10 Mb → 10 Gb
Ethernet PHY & switch
Networking
Traditional Development
Middleware Software
ecosystem
OS & Tier-1s
Drivers Open Software
Ecosystem, Tier-1s, Drivers
Processing NXP S32 Processing
Semi makers and networking
Networking
System Power
Management
Power management
8 | NXP | Announced
Public by NXP March 28, 2024, 9 am CET
NXP S32 CoreRide Platform
Enables safe and secure ECU consolidation
SW SW SW SW SW
HW HW HW HW HW Middleware Software
Open software OS
ecosystem
& Tier-1s
ecosystem, Tier-1s,
Drivers
NXP
Multiple ECUs and integration efforts S32 processing
and networking
System power
management
Introduction
Challenges with New Vehicle Architectures
Overview
11 | NXP | Public
S32Z/E - Key System Design Principles
• Minimise para-virtualisation
Architecture supports • Integrate partitioning with safety and security features
partitioning/virtualisation • Optimise QoS when allocating partitions
from processor core-to-
• Provide virtualization-awareness and dedicate modules
pin
to partitions
12 | NXP | Public
13 | NXP | Public
= Features added from the S32Z2
S32Z/E Virtualization and
Isolation Capabilities
14 | NXP | Public
Cortex®-R52 Core
Interconnect
Hardware firewall
Configurable access control policies
Shared access
Independent safety response
16 | NXP | Public + Fault awareness of partition
S32Z/E - Physical Architecture Optimised for Performance
DMA
DMA DMA
DMA
LIN LIN
LIN LIN
Timer Timer
Timer Timer
Zipwire Zipwire
Zipwire Zipwire
CAN-XL CAN-XL
CAN-XL FlexRay
GPIO GPIO
GPIO GPIO
17 | NXP | Public
S32Z/E - Virtual Architecture Optimised for Functionality
19 | NXP | Public
S32Z/E – Peripherals with HW-Assisted Virtualization Support
(Examples)
DMA
Core Job Queue
Ethernet Switch Controller
(TSN & TC11)
Descriptor
RTIC
NETC Controllers
Ethernet Ports
(PK)
Ethernet
frame TX HSE
20 | NXP | Public
Agenda
Introduction
Challenges with New Vehicle Architectures
22 | NXP | Public
Hypervisors Overview
Usage recommendation:
• Direct assignment whenever the devices are not required to be shared among VMs
• HW-assisted virtualization when available. Minimum performance degradation vs direct assignment
or native setup
• Para-virtualization for sharing devices whenever direct assignment or HW-assisted virtualization
cannot be used.
• Full emulation when the above techniques cannot be used or when the HV ecosystem already
supports it.
24 | NXP | Public
Why Do We Need a Hypervisor for real-time cores?
26 | NXP | Public
S32Z/E - Hypervisor Solutions
• Type1 Hypervisor
o To maximize flexibility in using compute
power by sharing applications across cores
and cores across applications
o To implement the concept of virtual CPUs in
addition to virtual machines.
27 | NXP | Public
S32Z/E – Partitioning Hypervisor / EL2Monitor
(R52 Cluster in Split Lock mode)
RTU Cluster RTU Cluster
EL0 Apps Apps Apps Apps EL0 Apps Apps Apps Apps
EL1 RTOS_0 RTOS_1 RTOS_2 RTOS_3 EL1 RTOS_0 RTOS_1 RTOS_2 RTOS_3
EL2 EL2
R52 partition
Hw GIC distributor
EENV
EL0 Apps Apps Apps Apps EL0 Apps Apps Apps Apps
EL1 RTOS_0 RTOS_1 RTOS_2 RTOS_3 EL1 RTOS_0 RTOS_1 RTOS_2 RTOS_3
EL0
Task Task …
Access to
GIC distributor
registers
EL1
RTOS RTOS ISR
All ISRs handled the usual way
Jump to EL1
code Exception Return from without EL2monitor intervention
exception
EL2
Boot EL2M EL2M
Bootloader EL2Monitor GIC distributor
Initialization register emulation
30 | NXP | Public
3
S32Z/E - Partitioning Hypervisor / EL2 Monitor
Overview
• R52 partitions
o creates independent “R52 partitions” by doing
GIC emulation and EL2 MPU programming.
• GIC emulation
o GIC distributor is programmed by EL2 monitor to
statically allocate interrupts to different cores.
31 | NXP | Public
S32Z/E: Micro Hypervisor
32 | NXP | Public
S32Z/E - Micro Hypervisor
(Full core Virtualization Example with multiple VMs per core)
RTU Cluster
EL0 Apps
… Apps Apps
… Apps Apps
… Apps Apps
… Apps
RTOS_1 RTOS_N
EL1 RTOS_1
…
RTOS_N RTOS_1
…
RTOS_N RTOS_1
…
RTOS_N
…
vCPU
… vCPU vCPU
… vCPU vCPU
… vCPU
vCPU
… vCPU
vGIC dist vGIC dist vGIC dist vGIC dist vGIC dist vGIC dist
vGIC dist vGIC dist
GIC CPU interface GIC CPU interface GIC CPU interface GIC CPU interface
VM
EENV 4x Single core Hypervisor
Full virtualization
RTU_0 GIC distributor CPU virtualization 1:N allocation
Sync between Hypervisors 1 physical core - N virtual cores
33 | NXP | Public Multiple single core VMs
S32Z/E Micro Hypervisor
(Full core Virtualization Example with multiple VMs per core)
RTU Cluster
EL0 Apps
… Apps Apps Apps Apps
… Apps
vCPU
… vCPU vCPU vCPU vCPU vCPU vCPU vCPU
vGIC dist vGIC dist vGIC dist vGIC dist vGIC dist vGIC dist vGIC dist vGIC dist
EL2 Hypervisor
GIC CPU interface GIC CPU interface GIC CPU interface GIC CPU interface
VM
Multicore Hypervisor
Full virtualization
EENV GIC distributor CPU virtualization 1:N allocation
RTU_0 1 physical core - N virtual cores
34 | NXP | Public Multiple Single core and Multicore VMs
L4Re Hypervisor Family –
Flexible Hardware Abstraction Layer
Deployment
Service
Hardware-Independent
RTOS
RTOS
RTOS
Workloads
Mirror
Control ECU
Multi-Core System with MMU Multi-Core CPU with MPU Specific Hardware
For example: Arm Cortex-A For example: Arm Cortex-R Configuration
35 | NXP | Public
Strong isolation for security and safety
Mandatory capability-based access control
36 | NXP | Public
Agenda
Introduction
Challenges with New Vehicle Architectures
38 | NXP | Public
S32Z/E - Processors Vehicle Integration Platform (GreenVIP)
Consolidation of in-vehicle software applications from multiple vendors
AS A SERVICE
SOFTWARE
S32 Design Studio & with Integrated Tools
(SaaS)
GTM GTM FW
on S32Z/E
Example Classic AUTOSAR Example Zephyr
Comms Comms
engine Gateway Safety Accelerat
OTA Framework or Drivers
AUTOSAR RTE
AS A SERVICE
HSE
PLATFORM
oot FW TCP/IP
(PaaS)
capability to run multiple Libraries &
AUTOSAR
BSP
RTOS Safety
Framework
applications in HW enforced
Math CoPro Managem RTOS
ent FW
environments
INFRASTRUCTURE
Type-1 Hypervisor / Partitioning
AS A SERVICE
Inter VM comms
(IaaS)
Physical cores
Time-To-Market
39 | NXP | Public
40 | NXP | Public
Conclusions
41 | NXP | Public
NXP’s Approach to Manage the Complexity
(Heterogenous SoCs with Hardware-Assisted Virtualization support)
System Manager
Security Manager
Safety Manager
Virt
Bare-Metal
Software
RTOS 1 RTOS 2
Rich-OS 1 RICH-OS 2
RTOS
Micro Hypervisor Type1 Hypervisor
Programmable Programmable
HW Accelerators HW Accelerators
42 | NXP | Public
Arm, Cortex are trademarks or registered trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere. The related technology may be protected by any or all of patents, copyrights, designs and trade secrets. All rights reserved.
NXP’s Virtualization and Isolation Approach
43 | NXP | Public
nxp.com
| Public | NXP and the NXP logo are trademarks of NXP B.V. All other product
or service names are the property of their respective owners. © 2024 NXP B.V.