SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
ACRN: A Big Little Hypervisor for IoT Development
CHEN, Jason
Jason.cj.chen@intel.com
3/11/2020
Agenda
❑ Overview
- ACRN Introduction
- ACRN Scenario
- ACRN Architecture
❑ Modules
- ACRN Boot
- ACRN CPU
- ACRN Memory
- ACRN Interrupt
- ACRN PTDev
- ACRN DM – IO Request
Introduction
ACRN™ is a flexible, open-source, lightweight hypervisor -
intended to enable consolidation of heterogeneous
workloads, and to streamline IoT edge development.
- A Linux Foundation Project
- Launched in March 2018
- Version 1.0 released in May 2019
Ready for Production
• Released in May 2019
Key Features
• Safety and Security Isolation (Cluster + IVI)
• Extensive Sharing Capabilities
• Graphics, media, USB, audio, camera etc.
• Advanced DMA/graphics buffer sharing
• Multiple OS Support
• Clear Linux, Yocto, Ubuntu
• Android, AGL, AliOS
• MISRA-C Compliance
ACRN hypervisor
Device Model
Service VM User VMs
Trusty
ACRN 1.0 Scenario
Trusty
World
ACRN 1.0 Architecture
Subtext goes here
Service VM
(PIT, PCI, ACPI ..)
Hypercalls
VT-d EPT
ACRN Hypervisor
VMX
Trusty API vPIC/vLAPIC/
vIOAPIC/vMSI
ACRN Device
Model
(Mediators)
VM
Manager
Linux VM
virtio
FE Drivers
User
Kernel
User
Kernel
VM API
SOC Platform (Apollo Lake etc.)
Firmware (UEFI, SlimBoot etc.)
CSE
Virtual Firmware
IVI App
Normal
World
virtio
FE Drivers
User
Kernel
Virtual Firmware
VMX non-root
operation
VMX root
operation
Android VM
Encrypt/
signature
Native Device Driver
Native Device Driver
Kernel
Mediators
Hybrid-Mode
• Partition + Shared
VM Type
• Safety VM
• Real-time VM
Kata Container
More OS Support:
• Zephyr, VxWorks,
RT-Linux, Windows
FUSA Certification
ACRN hypervisor
Device Model
Safety App
Service VM User VMsSafety VM
(RTVM)
ACRN 2.0 Scenario
ACRN 2.0 Architecture
`
Service VM
ACRN Device
Model
VMX
VT-d EPT
ACRN
OSPM
vPIC/vLAPIC/ vIOAPIC/vMSI
ACRN DM
(Device Model)
Hypercalls
VM Manager
Native Device
Drivers
User VM1
(Post-Launched)
virtio
FE Drivers
Virtual Firmware
(OVMF)
Emulated Device
Drivers
User VM0
(Pre-Launched)
Passthru Device
Drivers
Passthru Device
Drivers
vPCI/vBridge/vUART/vRTC/vWDT…
RT VM
(Post-Launched)
Virtual Firmware
(OVMF)
HV Emulated
Device Drivers
ACRN Service
Driver
CPU Scheduler
virtio
FE Drivers(PMD)
Passthru Device
Drivers
ACRN Module Interaction Arch
Agenda
❑ Overview
- ACRN Introduction
- ACRN Scenario
- ACRN Architecture
❑ Modules
- ACRN Boot
- ACRN CPU
- ACRN Memory
- ACRN Interrupt
- ACRN PTDev
- ACRN DM – IO Request
ACRN Boot
• Support SBL & UEFI
Firmware boot
Firmware
(SBL or UEFI)
Multiboot
Interface
mmap info
acrn.out
sos image
module
ACRN
Hypervisor
• Multiboot1/2 interface
• Hypervisor boot from
BSP
• Hypervisor launch
SOS directly
• Hypervisor launch
UOS through SOS-DM
hypercall
ACRN CPU Virtualization
VM0
Hypervisor
CPU Scheduler
VCPU0 VCPU1
VCPU0-VM0
vCR
vMSR
vCPUID
VCPU1-VM0
vCR
vMSR
vCPUID
VCPU0-VM1
vCR
vMSR
vCPUID
VCPU1-VM1
vCR
vMSR
vCPUID
VM1
VCPU0 VCPU1
Hardware
PCPU0 PCPU1
• Dedicated VCPU instances
for each VM in hypervisor
• Emulation for
• CPUID
• Control Register
• MSR
• VM-Exit
• CPUID Instruction
• Control Register Access
• RDMSR/WRMSR Instruction
ACRN Memory (Concept)
• GVA to GPA
• MMU + Page Table in Guest
• GPA to HPA
• EPT + Page Table in
Hypervisor (per VM)
• HPA to HVA
• MMU + Page Table in
Hypervisor
• VM-Exit – EPT Violation
• no page mapping in EPT
page tables
• for MMIO emulation
Hypervisor
VM1
VCPU1 VCPU2
MMU
GVA
GPA
Page
Table
GVA
Page
Table
GVA
Page
Table
GVA
Page
Table
GVA
Page
Table
GVA
Page
Table
VM2
VCPU1 VCPU2
MMU
GVA
GPA
Page
Table
GVA
Page
Table
GVA
Page
Table
GVA
Page
Table
GVA
Page
Table
GVA
Page
Table
EPT EPT
Page Table Page Table
HPAHPA
HVA
MMU
Page Table
ACRN Memory Layout
• Identical mapping for HPA <-> HVA
• Identical mapping for SOS GPA <-> HPA
• SOS DM allocate UOS memory based on Hugetlb
ACRN Interrupt Controller
• In hypervisor(native) layer, ACRN configures
physical PIC/IOAPIC/LAPIC to support different
interrupt source from local timer/IPI to external
INTx/MSI.
• In guest layer, ACRN may emulates virtual PIC,
virtual IOAPIC and virtual LAPIC, and provides
full APIs which allow the virtual interrupt
injection from emulated or pass-thru devices.
• In guest layer, ACRN may choose pass-thru
LAPIC, which pass-thru almost all LAPIC
registers except ICR/XAPICID/LDR, and guest
will run under x2apic mode w/o vPIC &
vIOAPIC.
• VM-Exit
- PIO Access : VPIC (0x20/0x21/0xA0/0xA1…)
- EPT Violation: VIOAPIC/VLAPIC
- APIC Access/Write: APICV
Hypervisor
VM0
VCPU0
VLAPIC0
VCPU1
VLAPIC1
VIOAPIC
PCPU0
LAPIC0
PCPU1
LAPIC1
VM1
VCPU2
VLAPIC0
VCPU0
LAPIC-PT
PCPU2
LAPIC2
PCPU3
LAPIC3
IOAPIC
VPIC
PIC
Hardware
Local Timer INTx Devices MSI DevicesIPI
VPIC
VIOAPIC
Note:
under LAPIC PT mode, hypervisor will not handle native interrupt, and only MSI interrupt is supported for
this guest and such MSI interrupt will be injected into guest directly
ACRN Interrupt Injection
• Source
- Emulated device
- Pass-thru device
- Others (timer/IPI) – not show here
• Type
- INTx – through PIC/IOAPIC -> LAPIC
- MSI – through LAPIC
- IPI/LVT – through LAPIC
• Physical Interrupt Handler
- do irq for physical interrupt
- physical interrupt may happen in
hypervisor(vmx root mode) or guest (vmx
non-root mode -> vm-exit)
• Virtual Interrupt Handler
- virtual interrupt injection to guest
- request may come from DM(hypercall) or
PTDev(physical interrupt handler)
Hardware
Hypervisor
Service
VM
PCPU0
LAPIC0
PCPU1
LAPIC1
User
VM
PCPU2
LAPIC2
IOAPIC
Pass-thru Dev
w/ INTx
DM
Emulated Device
(INTx or MSI)
VCPU0
VLAPIC0
VIOAPIC
VCPU1
VLAPIC1
Pass-thru Dev
w/ MSI
Physical Interrupt Handler
Virtual Interrupt Handler
ACRN Physical Interrupt Handler
Enable Intr
VM Exit
Other Exit
Handler
Disable Intr
External Intr Exit
Handler
Enable Intr
Handle pending
req
VM Entry
Dispatch Interrupt
irq_desc[vector_2_irq(vec)]
Spurious
Handler
LAPIC ACK EOI
Action Handler
Edge
Handler
LAPIC ACK EOI
Action Handler
Level
Handler
LAPIC ACK EOI
Action Handler
IOAPIC Mask Intr
• Unregistered Vector • VCPU Notification IPI
• Local Timer
• PTDev MSI
• Non-PTDev INTx
1
1
2
1 Physical interrupt could come from VMX root mode after enabled interrupt
2 Physical interrupt could come from VMX non-root mode which trigger a vm exit
Dev Level
Handler
LAPIC ACK EOI
Action Handler
IOAPIC Mask Intr
• PTDev INTx (IOAPIC
Unmask Intr when
vIOAPIC/vPIC get
ACK EOI)
IOAPIC unMask
Intr
Do Softirq
Note:
action for PTDev leads to
virtual interrupt injection
ACRN Virtual Interrupt/Exception Injection
** it’s part of acrn_handle_pending_request
High priority
exception exist?
Inject hi exception
through
VMX_INT_INFO
Interrupt Window
Check
Interrupt
Pending from vPIC or
vLAPIC
(basic APICv)?
NMI exist?
Previous
Pending IDT Intr/
Excep?
Guest Irq
Enabled?
Inject NMI
through
VMX_INT_INFO
Inject VMX IDT
Pending Intr/Excep
through
VMX_INT_INFO
Low priority
Exception exist?
Y
Enable Interrupt
Window
Y
VM Exit
N
N
Y
N
Y
N
Y
N
Inject lo exception
through
VMX_INT_INFO
Y
N
Pending extint
from vPIC?
Inject extint
through
VMX_INT_INFO
Y
Pending
interrupt from
vLAPIC?
N
N
Inject lapic
pending interrupt
through
VMX_INT_INFO
Guest
irq enabled
&&
!irq_injected
Basic APICv
Y
N
Inject lapic
pending interrupt
through
VID PIR
Advanced
APICv
Inject virtual interrupt
from
vPIC/vIOAPIC/vLAPIC
-
acrn_inject_pending_intr
VM Entry
• Request for virtual interrupt injection come
from virtual interrupt controller - vPIC,
vIOAPIC, vLAPIC
• Request for virtual exception injection come
from different modules who need emulate
an exception – instruction emulation,
CR/MSR emulation …
• The injection be done based on priority
ACRN Pass-thru Device
• ACRN support PCI-based
pass-thru devices
• With the help of EPT, no VM-
Exit for MMIO access
• Necessary VM-Exit for PCI
config space access and
interrupt injection
• ACRN support PT IRQ
mapping mechanism for
pass-thru devices
Hardware
Hypervisor
VM
Pass-thru Dev
vPCI EPT
PCI Config Space MMIO Interrupt
PT IRQ
Pass-thru Dev
PCI Config Space MMIO Interrupt
Main Purpose – try best to avoid VM-Exit!!!
ACRN Pass-thru IRQ
• PTDev
- a PTDev may trigger interrupt from INTx
or MSI/MSIX
- exclusively assigned to different VMs
• PTIRQ Entry:
- maintain PTDev interrupt source (INTx &
MSI) mapping between native and virtual
- exclusively assigned to different VMs
associated with PTDev
• Physical Interrupt Management:
- allocate physical vector in hypervisor
when PTDev assign PTIRQ entry
- physical IOAPIC RTE & MSI fields can
be update according to virtual
configuration (except vector field)
- physical interrupt handler will look up
PTIRQ entries to find virtual dest then do
virtual interrupt injection after receive
external interrupt from PTDev
Hypervisor(Native)
VM0
IOAPIC
vPIC
PT PCI Dev
vBDF = (a, b, c)
PT PCI Dev
BDF = (A, B, C)
1 MSI, 1 INTx
VM1
vIOAPIC
PT PCI Dev
vBDF = (d, e, f)
PT PCI Dev
BDF = (D, E, F)
2 MSIX, 1 INTx
ptirq entry = {
type = intx,
vm = vm0,
int_src = pic,
virt_pin = a,
phy_pin = A,
}
ptirq entry = {
type = intx,
vm = vm1,
int_src = iopic,
virt_pin = c,
phy_pin = C,
}
ptirq entry = {
type = msix,
vm = vm1,
virt_bdf = def,
virt_idx = x,
phy_bdf = DEF,
phy_idx = X,}
INTx pins (PIC/IOAPIC)
MSI/MSIX entry
vecPhy RTE:
Vector is fixed after allocated
Others fields could be changed
according to vRTE changes
Physical Interrupt
Management
Phy MSI addr:
Vector is fixed after allocated
Others fields could be changed
according to vMSI changes
vecPhy MSI data:
Not exist for vPT-
LAPIC case
External interrupt
from PTDev
A C
a c x
X
SOS
Device
Model
ACRN HV
UOS
Virtual Dev
HV Device
Model
ACRN Device Model - IO Request
• IO Trap
- hypervisor trap out (VM-Exit) virtual
device’s PIO/MMIO access from a guest
(UOS)
• IO Request:
- hypervisor figure out the target address
and target size for the PIO/MMIO access
, to form a IO request
- instruction decode needed for a MMIO
access
- the IO request will dispatch to specific
device model based on target address
• IO Emulation
- a virtual device provide IO emulation for its
PIO or MMIO based on the IO request
- the virtual device may be emulated by
different device models from HV DM, SOS
kernel BE or SOS user space DM
Q & A

Weitere ähnliche Inhalte

Was ist angesagt?

Launch the First Process in Linux System
Launch the First Process in Linux SystemLaunch the First Process in Linux System
Launch the First Process in Linux SystemJian-Hong Pan
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchlinuxlab_conf
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLinaro
 
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIOQuick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIOChris Simmonds
 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBshimosawa
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesChris Simmonds
 
Kernel_Crash_Dump_Analysis
Kernel_Crash_Dump_AnalysisKernel_Crash_Dump_Analysis
Kernel_Crash_Dump_AnalysisBuland Singh
 
Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!Ray Jenkins
 
Software update for IoT: the current state of play
Software update for IoT: the current state of playSoftware update for IoT: the current state of play
Software update for IoT: the current state of playChris Simmonds
 
BPF / XDP 8월 세미나 KossLab
BPF / XDP 8월 세미나 KossLabBPF / XDP 8월 세미나 KossLab
BPF / XDP 8월 세미나 KossLabTaeung Song
 
Linux Memory Management
Linux Memory ManagementLinux Memory Management
Linux Memory ManagementNi Zo-Ma
 
QEMU - Binary Translation
QEMU - Binary Translation QEMU - Binary Translation
QEMU - Binary Translation Jiann-Fuh Liaw
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013Wave Digitech
 
ACRN Kata Container on ACRN
ACRN Kata Container on ACRNACRN Kata Container on ACRN
ACRN Kata Container on ACRNProject ACRN
 
OpenStack DevStack Configuration localrc local.conf Tutorial
OpenStack DevStack Configuration localrc local.conf TutorialOpenStack DevStack Configuration localrc local.conf Tutorial
OpenStack DevStack Configuration localrc local.conf TutorialSaju Madhavan
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Linaro
 
Boosting I/O Performance with KVM io_uring
Boosting I/O Performance with KVM io_uringBoosting I/O Performance with KVM io_uring
Boosting I/O Performance with KVM io_uringShapeBlue
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Chris Simmonds
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGlobalLogic Ukraine
 

Was ist angesagt? (20)

Launch the First Process in Linux System
Launch the First Process in Linux SystemLaunch the First Process in Linux System
Launch the First Process in Linux System
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
 
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIOQuick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIO
 
Xen Debugging
Xen DebuggingXen Debugging
Xen Debugging
 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
 
Kernel_Crash_Dump_Analysis
Kernel_Crash_Dump_AnalysisKernel_Crash_Dump_Analysis
Kernel_Crash_Dump_Analysis
 
Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!
 
Software update for IoT: the current state of play
Software update for IoT: the current state of playSoftware update for IoT: the current state of play
Software update for IoT: the current state of play
 
BPF / XDP 8월 세미나 KossLab
BPF / XDP 8월 세미나 KossLabBPF / XDP 8월 세미나 KossLab
BPF / XDP 8월 세미나 KossLab
 
Linux Memory Management
Linux Memory ManagementLinux Memory Management
Linux Memory Management
 
QEMU - Binary Translation
QEMU - Binary Translation QEMU - Binary Translation
QEMU - Binary Translation
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
 
ACRN Kata Container on ACRN
ACRN Kata Container on ACRNACRN Kata Container on ACRN
ACRN Kata Container on ACRN
 
OpenStack DevStack Configuration localrc local.conf Tutorial
OpenStack DevStack Configuration localrc local.conf TutorialOpenStack DevStack Configuration localrc local.conf Tutorial
OpenStack DevStack Configuration localrc local.conf Tutorial
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
 
Boosting I/O Performance with KVM io_uring
Boosting I/O Performance with KVM io_uringBoosting I/O Performance with KVM io_uring
Boosting I/O Performance with KVM io_uring
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive Solutions
 

Ähnlich wie Project ACRN hypervisor introduction

Implementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationImplementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationYan Vugenfirer
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)iXsystems
 
ACRN vMeet-Up EU 2021 - Introduction and Architecture Look Forward
ACRN vMeet-Up EU 2021 - Introduction and Architecture Look ForwardACRN vMeet-Up EU 2021 - Introduction and Architecture Look Forward
ACRN vMeet-Up EU 2021 - Introduction and Architecture Look ForwardProject ACRN
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VRISC-V International
 
Embedded Systems Conference 2014 Presentation
Embedded Systems Conference 2014 PresentationEmbedded Systems Conference 2014 Presentation
Embedded Systems Conference 2014 PresentationManish Jaggi
 
Project ACRN expose and pass through platform hidden PCIe devices to SOS
Project ACRN expose and pass through platform hidden PCIe devices to SOSProject ACRN expose and pass through platform hidden PCIe devices to SOS
Project ACRN expose and pass through platform hidden PCIe devices to SOSProject ACRN
 
Sierraware ARM hypervisor
Sierraware ARM hypervisor Sierraware ARM hypervisor
Sierraware ARM hypervisor Sierraware
 
ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...
ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...
ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...Project ACRN
 
Zero footprint guest memory introspection from xen
Zero footprint guest memory introspection from xenZero footprint guest memory introspection from xen
Zero footprint guest memory introspection from xenBitdefender Enterprise
 
Project ACRN Device Passthrough Introduction
Project ACRN Device Passthrough IntroductionProject ACRN Device Passthrough Introduction
Project ACRN Device Passthrough IntroductionProject ACRN
 
NFV Orchestration for Optimal Performance
NFV Orchestration for Optimal PerformanceNFV Orchestration for Optimal Performance
NFV Orchestration for Optimal Performancedfilppi
 
Using VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersUsing VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersMichelle Holley
 
Realtime scheduling for virtual machines in SKT
Realtime scheduling for virtual machines in SKTRealtime scheduling for virtual machines in SKT
Realtime scheduling for virtual machines in SKTThe Linux Foundation
 
Marriage of ESX and OpenStack - PayPal - VMWorld US 2013
Marriage of ESX and OpenStack - PayPal - VMWorld US 2013Marriage of ESX and OpenStack - PayPal - VMWorld US 2013
Marriage of ESX and OpenStack - PayPal - VMWorld US 2013Scott Carlson
 
2011-11-03 Intelligence Community Cloud Users Group
2011-11-03 Intelligence Community Cloud Users Group2011-11-03 Intelligence Community Cloud Users Group
2011-11-03 Intelligence Community Cloud Users GroupShawn Wells
 
See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...LinuxCon ContainerCon CloudOpen China
 
Project ACRN schedule framework introduction
Project ACRN schedule framework introductionProject ACRN schedule framework introduction
Project ACRN schedule framework introductionProject ACRN
 

Ähnlich wie Project ACRN hypervisor introduction (20)

Implementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationImplementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migration
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
 
ACRN vMeet-Up EU 2021 - Introduction and Architecture Look Forward
ACRN vMeet-Up EU 2021 - Introduction and Architecture Look ForwardACRN vMeet-Up EU 2021 - Introduction and Architecture Look Forward
ACRN vMeet-Up EU 2021 - Introduction and Architecture Look Forward
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-V
 
Embedded Systems Conference 2014 Presentation
Embedded Systems Conference 2014 PresentationEmbedded Systems Conference 2014 Presentation
Embedded Systems Conference 2014 Presentation
 
Project ACRN expose and pass through platform hidden PCIe devices to SOS
Project ACRN expose and pass through platform hidden PCIe devices to SOSProject ACRN expose and pass through platform hidden PCIe devices to SOS
Project ACRN expose and pass through platform hidden PCIe devices to SOS
 
Sierraware ARM hypervisor
Sierraware ARM hypervisor Sierraware ARM hypervisor
Sierraware ARM hypervisor
 
ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...
ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...
ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...
 
Zero footprint guest memory introspection from xen
Zero footprint guest memory introspection from xenZero footprint guest memory introspection from xen
Zero footprint guest memory introspection from xen
 
Project ACRN Device Passthrough Introduction
Project ACRN Device Passthrough IntroductionProject ACRN Device Passthrough Introduction
Project ACRN Device Passthrough Introduction
 
NFV Orchestration for Optimal Performance
NFV Orchestration for Optimal PerformanceNFV Orchestration for Optimal Performance
NFV Orchestration for Optimal Performance
 
Using VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersUsing VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear Containers
 
Contrail Enabler for agile cloud services
Contrail Enabler for agile cloud servicesContrail Enabler for agile cloud services
Contrail Enabler for agile cloud services
 
Realtime scheduling for virtual machines in SKT
Realtime scheduling for virtual machines in SKTRealtime scheduling for virtual machines in SKT
Realtime scheduling for virtual machines in SKT
 
Marriage of ESX and OpenStack - PayPal - VMWorld US 2013
Marriage of ESX and OpenStack - PayPal - VMWorld US 2013Marriage of ESX and OpenStack - PayPal - VMWorld US 2013
Marriage of ESX and OpenStack - PayPal - VMWorld US 2013
 
Intel update
Intel updateIntel update
Intel update
 
2011-11-03 Intelligence Community Cloud Users Group
2011-11-03 Intelligence Community Cloud Users Group2011-11-03 Intelligence Community Cloud Users Group
2011-11-03 Intelligence Community Cloud Users Group
 
See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...
 
Windows Server 2012 Hyper-V Networking Evolved
Windows Server 2012 Hyper-V Networking Evolved Windows Server 2012 Hyper-V Networking Evolved
Windows Server 2012 Hyper-V Networking Evolved
 
Project ACRN schedule framework introduction
Project ACRN schedule framework introductionProject ACRN schedule framework introduction
Project ACRN schedule framework introduction
 

Mehr von Project ACRN

ACRN vMeet-Up EU 2021 - installation and configuration introduction
ACRN vMeet-Up EU 2021 - installation and configuration introductionACRN vMeet-Up EU 2021 - installation and configuration introduction
ACRN vMeet-Up EU 2021 - installation and configuration introductionProject ACRN
 
ACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
ACRN vMeet-Up EU 2021 - Boot Process and Secure BootACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
ACRN vMeet-Up EU 2021 - Boot Process and Secure BootProject ACRN
 
ACRN vMeet-Up EU 2021 - debug ACRN hypervisor
ACRN vMeet-Up EU 2021 - debug ACRN hypervisorACRN vMeet-Up EU 2021 - debug ACRN hypervisor
ACRN vMeet-Up EU 2021 - debug ACRN hypervisorProject ACRN
 
ACRN vMeet-Up EU 2021 - functional safety design and certification plan
ACRN vMeet-Up EU 2021 -  functional safety design and certification planACRN vMeet-Up EU 2021 -  functional safety design and certification plan
ACRN vMeet-Up EU 2021 - functional safety design and certification planProject ACRN
 
ACRN vMeet-Up EU 2021 - community and development model
ACRN vMeet-Up EU 2021 - community and development modelACRN vMeet-Up EU 2021 - community and development model
ACRN vMeet-Up EU 2021 - community and development modelProject ACRN
 
ACRN vMeet-Up EU 2021 - hypervisor new platform enabling
ACRN vMeet-Up EU 2021 - hypervisor new platform enablingACRN vMeet-Up EU 2021 - hypervisor new platform enabling
ACRN vMeet-Up EU 2021 - hypervisor new platform enablingProject ACRN
 
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introductionACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introductionProject ACRN
 
ACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
ACRN vMeet-Up EU 2021 - Real Time Management and Performance OptimizationACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
ACRN vMeet-Up EU 2021 - Real Time Management and Performance OptimizationProject ACRN
 
Project ACRN Yocto Project meta-acrn layer introduction
Project ACRN Yocto Project meta-acrn layer introductionProject ACRN Yocto Project meta-acrn layer introduction
Project ACRN Yocto Project meta-acrn layer introductionProject ACRN
 
Project ACRN USB mediator introduction
Project ACRN USB mediator introductionProject ACRN USB mediator introduction
Project ACRN USB mediator introductionProject ACRN
 
Project ACRN I2C mediator introduction
Project ACRN I2C mediator introductionProject ACRN I2C mediator introduction
Project ACRN I2C mediator introductionProject ACRN
 
Project ACRN system debug
Project ACRN system debugProject ACRN system debug
Project ACRN system debugProject ACRN
 
Project ACRN SR-IOV on ACRN
Project ACRN SR-IOV on ACRNProject ACRN SR-IOV on ACRN
Project ACRN SR-IOV on ACRNProject ACRN
 
Project ACRN Device Model architecture introduction
Project ACRN Device Model architecture introductionProject ACRN Device Model architecture introduction
Project ACRN Device Model architecture introductionProject ACRN
 
Project ACRN configuration scenarios and config tool
Project ACRN configuration scenarios and config toolProject ACRN configuration scenarios and config tool
Project ACRN configuration scenarios and config toolProject ACRN
 
Project ACRN CPU sharing BVT scheduler in ACRN hypervisor
Project ACRN CPU sharing BVT scheduler in ACRN hypervisorProject ACRN CPU sharing BVT scheduler in ACRN hypervisor
Project ACRN CPU sharing BVT scheduler in ACRN hypervisorProject ACRN
 
Project ACRN how to build a Yocto Project-based SOS
Project ACRN how to build a Yocto Project-based SOSProject ACRN how to build a Yocto Project-based SOS
Project ACRN how to build a Yocto Project-based SOSProject ACRN
 
Project ACRN EtherCAT 101
Project ACRN EtherCAT 101Project ACRN EtherCAT 101
Project ACRN EtherCAT 101Project ACRN
 
Project ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorialProject ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorialProject ACRN
 
Project ACRN GPIO mediator introduction
Project ACRN GPIO mediator introductionProject ACRN GPIO mediator introduction
Project ACRN GPIO mediator introductionProject ACRN
 

Mehr von Project ACRN (20)

ACRN vMeet-Up EU 2021 - installation and configuration introduction
ACRN vMeet-Up EU 2021 - installation and configuration introductionACRN vMeet-Up EU 2021 - installation and configuration introduction
ACRN vMeet-Up EU 2021 - installation and configuration introduction
 
ACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
ACRN vMeet-Up EU 2021 - Boot Process and Secure BootACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
ACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
 
ACRN vMeet-Up EU 2021 - debug ACRN hypervisor
ACRN vMeet-Up EU 2021 - debug ACRN hypervisorACRN vMeet-Up EU 2021 - debug ACRN hypervisor
ACRN vMeet-Up EU 2021 - debug ACRN hypervisor
 
ACRN vMeet-Up EU 2021 - functional safety design and certification plan
ACRN vMeet-Up EU 2021 -  functional safety design and certification planACRN vMeet-Up EU 2021 -  functional safety design and certification plan
ACRN vMeet-Up EU 2021 - functional safety design and certification plan
 
ACRN vMeet-Up EU 2021 - community and development model
ACRN vMeet-Up EU 2021 - community and development modelACRN vMeet-Up EU 2021 - community and development model
ACRN vMeet-Up EU 2021 - community and development model
 
ACRN vMeet-Up EU 2021 - hypervisor new platform enabling
ACRN vMeet-Up EU 2021 - hypervisor new platform enablingACRN vMeet-Up EU 2021 - hypervisor new platform enabling
ACRN vMeet-Up EU 2021 - hypervisor new platform enabling
 
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introductionACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
 
ACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
ACRN vMeet-Up EU 2021 - Real Time Management and Performance OptimizationACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
ACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
 
Project ACRN Yocto Project meta-acrn layer introduction
Project ACRN Yocto Project meta-acrn layer introductionProject ACRN Yocto Project meta-acrn layer introduction
Project ACRN Yocto Project meta-acrn layer introduction
 
Project ACRN USB mediator introduction
Project ACRN USB mediator introductionProject ACRN USB mediator introduction
Project ACRN USB mediator introduction
 
Project ACRN I2C mediator introduction
Project ACRN I2C mediator introductionProject ACRN I2C mediator introduction
Project ACRN I2C mediator introduction
 
Project ACRN system debug
Project ACRN system debugProject ACRN system debug
Project ACRN system debug
 
Project ACRN SR-IOV on ACRN
Project ACRN SR-IOV on ACRNProject ACRN SR-IOV on ACRN
Project ACRN SR-IOV on ACRN
 
Project ACRN Device Model architecture introduction
Project ACRN Device Model architecture introductionProject ACRN Device Model architecture introduction
Project ACRN Device Model architecture introduction
 
Project ACRN configuration scenarios and config tool
Project ACRN configuration scenarios and config toolProject ACRN configuration scenarios and config tool
Project ACRN configuration scenarios and config tool
 
Project ACRN CPU sharing BVT scheduler in ACRN hypervisor
Project ACRN CPU sharing BVT scheduler in ACRN hypervisorProject ACRN CPU sharing BVT scheduler in ACRN hypervisor
Project ACRN CPU sharing BVT scheduler in ACRN hypervisor
 
Project ACRN how to build a Yocto Project-based SOS
Project ACRN how to build a Yocto Project-based SOSProject ACRN how to build a Yocto Project-based SOS
Project ACRN how to build a Yocto Project-based SOS
 
Project ACRN EtherCAT 101
Project ACRN EtherCAT 101Project ACRN EtherCAT 101
Project ACRN EtherCAT 101
 
Project ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorialProject ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorial
 
Project ACRN GPIO mediator introduction
Project ACRN GPIO mediator introductionProject ACRN GPIO mediator introduction
Project ACRN GPIO mediator introduction
 

Kürzlich hochgeladen

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 

Kürzlich hochgeladen (20)

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 

Project ACRN hypervisor introduction

  • 1. ACRN: A Big Little Hypervisor for IoT Development CHEN, Jason Jason.cj.chen@intel.com 3/11/2020
  • 2. Agenda ❑ Overview - ACRN Introduction - ACRN Scenario - ACRN Architecture ❑ Modules - ACRN Boot - ACRN CPU - ACRN Memory - ACRN Interrupt - ACRN PTDev - ACRN DM – IO Request
  • 3. Introduction ACRN™ is a flexible, open-source, lightweight hypervisor - intended to enable consolidation of heterogeneous workloads, and to streamline IoT edge development. - A Linux Foundation Project - Launched in March 2018 - Version 1.0 released in May 2019
  • 4. Ready for Production • Released in May 2019 Key Features • Safety and Security Isolation (Cluster + IVI) • Extensive Sharing Capabilities • Graphics, media, USB, audio, camera etc. • Advanced DMA/graphics buffer sharing • Multiple OS Support • Clear Linux, Yocto, Ubuntu • Android, AGL, AliOS • MISRA-C Compliance ACRN hypervisor Device Model Service VM User VMs Trusty ACRN 1.0 Scenario
  • 5. Trusty World ACRN 1.0 Architecture Subtext goes here Service VM (PIT, PCI, ACPI ..) Hypercalls VT-d EPT ACRN Hypervisor VMX Trusty API vPIC/vLAPIC/ vIOAPIC/vMSI ACRN Device Model (Mediators) VM Manager Linux VM virtio FE Drivers User Kernel User Kernel VM API SOC Platform (Apollo Lake etc.) Firmware (UEFI, SlimBoot etc.) CSE Virtual Firmware IVI App Normal World virtio FE Drivers User Kernel Virtual Firmware VMX non-root operation VMX root operation Android VM Encrypt/ signature Native Device Driver Native Device Driver Kernel Mediators
  • 6. Hybrid-Mode • Partition + Shared VM Type • Safety VM • Real-time VM Kata Container More OS Support: • Zephyr, VxWorks, RT-Linux, Windows FUSA Certification ACRN hypervisor Device Model Safety App Service VM User VMsSafety VM (RTVM) ACRN 2.0 Scenario
  • 7. ACRN 2.0 Architecture ` Service VM ACRN Device Model VMX VT-d EPT ACRN OSPM vPIC/vLAPIC/ vIOAPIC/vMSI ACRN DM (Device Model) Hypercalls VM Manager Native Device Drivers User VM1 (Post-Launched) virtio FE Drivers Virtual Firmware (OVMF) Emulated Device Drivers User VM0 (Pre-Launched) Passthru Device Drivers Passthru Device Drivers vPCI/vBridge/vUART/vRTC/vWDT… RT VM (Post-Launched) Virtual Firmware (OVMF) HV Emulated Device Drivers ACRN Service Driver CPU Scheduler virtio FE Drivers(PMD) Passthru Device Drivers
  • 9. Agenda ❑ Overview - ACRN Introduction - ACRN Scenario - ACRN Architecture ❑ Modules - ACRN Boot - ACRN CPU - ACRN Memory - ACRN Interrupt - ACRN PTDev - ACRN DM – IO Request
  • 10. ACRN Boot • Support SBL & UEFI Firmware boot Firmware (SBL or UEFI) Multiboot Interface mmap info acrn.out sos image module ACRN Hypervisor • Multiboot1/2 interface • Hypervisor boot from BSP • Hypervisor launch SOS directly • Hypervisor launch UOS through SOS-DM hypercall
  • 11. ACRN CPU Virtualization VM0 Hypervisor CPU Scheduler VCPU0 VCPU1 VCPU0-VM0 vCR vMSR vCPUID VCPU1-VM0 vCR vMSR vCPUID VCPU0-VM1 vCR vMSR vCPUID VCPU1-VM1 vCR vMSR vCPUID VM1 VCPU0 VCPU1 Hardware PCPU0 PCPU1 • Dedicated VCPU instances for each VM in hypervisor • Emulation for • CPUID • Control Register • MSR • VM-Exit • CPUID Instruction • Control Register Access • RDMSR/WRMSR Instruction
  • 12. ACRN Memory (Concept) • GVA to GPA • MMU + Page Table in Guest • GPA to HPA • EPT + Page Table in Hypervisor (per VM) • HPA to HVA • MMU + Page Table in Hypervisor • VM-Exit – EPT Violation • no page mapping in EPT page tables • for MMIO emulation Hypervisor VM1 VCPU1 VCPU2 MMU GVA GPA Page Table GVA Page Table GVA Page Table GVA Page Table GVA Page Table GVA Page Table VM2 VCPU1 VCPU2 MMU GVA GPA Page Table GVA Page Table GVA Page Table GVA Page Table GVA Page Table GVA Page Table EPT EPT Page Table Page Table HPAHPA HVA MMU Page Table
  • 13. ACRN Memory Layout • Identical mapping for HPA <-> HVA • Identical mapping for SOS GPA <-> HPA • SOS DM allocate UOS memory based on Hugetlb
  • 14. ACRN Interrupt Controller • In hypervisor(native) layer, ACRN configures physical PIC/IOAPIC/LAPIC to support different interrupt source from local timer/IPI to external INTx/MSI. • In guest layer, ACRN may emulates virtual PIC, virtual IOAPIC and virtual LAPIC, and provides full APIs which allow the virtual interrupt injection from emulated or pass-thru devices. • In guest layer, ACRN may choose pass-thru LAPIC, which pass-thru almost all LAPIC registers except ICR/XAPICID/LDR, and guest will run under x2apic mode w/o vPIC & vIOAPIC. • VM-Exit - PIO Access : VPIC (0x20/0x21/0xA0/0xA1…) - EPT Violation: VIOAPIC/VLAPIC - APIC Access/Write: APICV Hypervisor VM0 VCPU0 VLAPIC0 VCPU1 VLAPIC1 VIOAPIC PCPU0 LAPIC0 PCPU1 LAPIC1 VM1 VCPU2 VLAPIC0 VCPU0 LAPIC-PT PCPU2 LAPIC2 PCPU3 LAPIC3 IOAPIC VPIC PIC Hardware Local Timer INTx Devices MSI DevicesIPI VPIC VIOAPIC Note: under LAPIC PT mode, hypervisor will not handle native interrupt, and only MSI interrupt is supported for this guest and such MSI interrupt will be injected into guest directly
  • 15. ACRN Interrupt Injection • Source - Emulated device - Pass-thru device - Others (timer/IPI) – not show here • Type - INTx – through PIC/IOAPIC -> LAPIC - MSI – through LAPIC - IPI/LVT – through LAPIC • Physical Interrupt Handler - do irq for physical interrupt - physical interrupt may happen in hypervisor(vmx root mode) or guest (vmx non-root mode -> vm-exit) • Virtual Interrupt Handler - virtual interrupt injection to guest - request may come from DM(hypercall) or PTDev(physical interrupt handler) Hardware Hypervisor Service VM PCPU0 LAPIC0 PCPU1 LAPIC1 User VM PCPU2 LAPIC2 IOAPIC Pass-thru Dev w/ INTx DM Emulated Device (INTx or MSI) VCPU0 VLAPIC0 VIOAPIC VCPU1 VLAPIC1 Pass-thru Dev w/ MSI Physical Interrupt Handler Virtual Interrupt Handler
  • 16. ACRN Physical Interrupt Handler Enable Intr VM Exit Other Exit Handler Disable Intr External Intr Exit Handler Enable Intr Handle pending req VM Entry Dispatch Interrupt irq_desc[vector_2_irq(vec)] Spurious Handler LAPIC ACK EOI Action Handler Edge Handler LAPIC ACK EOI Action Handler Level Handler LAPIC ACK EOI Action Handler IOAPIC Mask Intr • Unregistered Vector • VCPU Notification IPI • Local Timer • PTDev MSI • Non-PTDev INTx 1 1 2 1 Physical interrupt could come from VMX root mode after enabled interrupt 2 Physical interrupt could come from VMX non-root mode which trigger a vm exit Dev Level Handler LAPIC ACK EOI Action Handler IOAPIC Mask Intr • PTDev INTx (IOAPIC Unmask Intr when vIOAPIC/vPIC get ACK EOI) IOAPIC unMask Intr Do Softirq Note: action for PTDev leads to virtual interrupt injection
  • 17. ACRN Virtual Interrupt/Exception Injection ** it’s part of acrn_handle_pending_request High priority exception exist? Inject hi exception through VMX_INT_INFO Interrupt Window Check Interrupt Pending from vPIC or vLAPIC (basic APICv)? NMI exist? Previous Pending IDT Intr/ Excep? Guest Irq Enabled? Inject NMI through VMX_INT_INFO Inject VMX IDT Pending Intr/Excep through VMX_INT_INFO Low priority Exception exist? Y Enable Interrupt Window Y VM Exit N N Y N Y N Y N Inject lo exception through VMX_INT_INFO Y N Pending extint from vPIC? Inject extint through VMX_INT_INFO Y Pending interrupt from vLAPIC? N N Inject lapic pending interrupt through VMX_INT_INFO Guest irq enabled && !irq_injected Basic APICv Y N Inject lapic pending interrupt through VID PIR Advanced APICv Inject virtual interrupt from vPIC/vIOAPIC/vLAPIC - acrn_inject_pending_intr VM Entry • Request for virtual interrupt injection come from virtual interrupt controller - vPIC, vIOAPIC, vLAPIC • Request for virtual exception injection come from different modules who need emulate an exception – instruction emulation, CR/MSR emulation … • The injection be done based on priority
  • 18. ACRN Pass-thru Device • ACRN support PCI-based pass-thru devices • With the help of EPT, no VM- Exit for MMIO access • Necessary VM-Exit for PCI config space access and interrupt injection • ACRN support PT IRQ mapping mechanism for pass-thru devices Hardware Hypervisor VM Pass-thru Dev vPCI EPT PCI Config Space MMIO Interrupt PT IRQ Pass-thru Dev PCI Config Space MMIO Interrupt Main Purpose – try best to avoid VM-Exit!!!
  • 19. ACRN Pass-thru IRQ • PTDev - a PTDev may trigger interrupt from INTx or MSI/MSIX - exclusively assigned to different VMs • PTIRQ Entry: - maintain PTDev interrupt source (INTx & MSI) mapping between native and virtual - exclusively assigned to different VMs associated with PTDev • Physical Interrupt Management: - allocate physical vector in hypervisor when PTDev assign PTIRQ entry - physical IOAPIC RTE & MSI fields can be update according to virtual configuration (except vector field) - physical interrupt handler will look up PTIRQ entries to find virtual dest then do virtual interrupt injection after receive external interrupt from PTDev Hypervisor(Native) VM0 IOAPIC vPIC PT PCI Dev vBDF = (a, b, c) PT PCI Dev BDF = (A, B, C) 1 MSI, 1 INTx VM1 vIOAPIC PT PCI Dev vBDF = (d, e, f) PT PCI Dev BDF = (D, E, F) 2 MSIX, 1 INTx ptirq entry = { type = intx, vm = vm0, int_src = pic, virt_pin = a, phy_pin = A, } ptirq entry = { type = intx, vm = vm1, int_src = iopic, virt_pin = c, phy_pin = C, } ptirq entry = { type = msix, vm = vm1, virt_bdf = def, virt_idx = x, phy_bdf = DEF, phy_idx = X,} INTx pins (PIC/IOAPIC) MSI/MSIX entry vecPhy RTE: Vector is fixed after allocated Others fields could be changed according to vRTE changes Physical Interrupt Management Phy MSI addr: Vector is fixed after allocated Others fields could be changed according to vMSI changes vecPhy MSI data: Not exist for vPT- LAPIC case External interrupt from PTDev A C a c x X
  • 20. SOS Device Model ACRN HV UOS Virtual Dev HV Device Model ACRN Device Model - IO Request • IO Trap - hypervisor trap out (VM-Exit) virtual device’s PIO/MMIO access from a guest (UOS) • IO Request: - hypervisor figure out the target address and target size for the PIO/MMIO access , to form a IO request - instruction decode needed for a MMIO access - the IO request will dispatch to specific device model based on target address • IO Emulation - a virtual device provide IO emulation for its PIO or MMIO based on the IO request - the virtual device may be emulated by different device models from HV DM, SOS kernel BE or SOS user space DM
  • 21. Q & A