SlideShare une entreprise Scribd logo
1  sur  21
Dealing with Hardware Heterogeneity Using
a Virtualization Framework Tailored to ARM Based
Embedded Systems


Prof. Daniel Rossier, PhD

HEIG-VD
Institut REDS, Reconfigurable & Embedded Digital Systems
rte Cheseaux 1, 1400 Yverdon-les-Bains
http://www.reds.ch/
Outline
• Background


• Overview of EmbeddedXEN


• Protection & Memory Isolation


• Domain Interactions


• Device Heterogeneity


• Conclusions & Future Work
2                        REDS@HEIG-VD
Background

• HEIG-VD
    • University of Applied Sciences in Yverdon, Switzerland (CH)
    • Reconfigurable Embedded Digital System Institute
        Hardware Design, FPGA
        Embedded Execution Environment, Drivers, BSP, OS/RTOS, etc.




• Applied Research & Development
    • ARM based Microcontrolers (v4, v5, v6, v7)
    • Low-level interactions between computing cores (CPU, DSP, FPGA, etc.)
    • Towards Cortex-A15 HVM



3                                    REDS@HEIG-VD
Background
• Embedded Virtualization on ARM
    • XEN: free & easy access to a stable & evolving hypervisor source code
    • Early port of XEN on ARM in 2007 in the context of a Diploma Project
    • Necessity to get a simple, thin, fast, robust, easy-to-deployed virtualization
      framework
    • Re-use of Linux file organization & build system (Makefiles, scripts, …)
    • Focus on realtime aspects (Linux/Xenomai as RTOS)



• Different sources of inspiration
    • "Fast Secure Virtualization for the ARM Platform", Daniel Ferstay,
      Master Thesis, The University of British Columbia, 2006
    • XEN ARM port, George G. Davis, MontaVista, 2007
    • Secure Xen on ARM Project, Sang-bum SUH, Samsung, 2007
4                                    REDS@HEIG-VD
Background
• Focus on heterogeneity of embedded devices
    • Idea to re-use OS & applications from old devices to recent devices
    • Time-to-market migration to new hardware generation
    • Dealing with various cross-compiled binaries (ARM v5-v7)
    • Dealing with different peripherals
    • Less emphasis on security aspects



• Publicly available
    • https://sourceforge.net/projects/embeddedxen




5                                      REDS@HEIG-VD
Background
• Hardware constraints
    • Low latency, reactivity (response time)
    • ARM cores do not support virtualization mechanisms
         not easy to deal with various levels of execution modes



• Para-virtualization remains attractive
    • About 30 files to be (slightly) adapted
    • Low execution overhead
    • Efficient processing of downcalls/upcalls with support of domain interactions
         Physical interrupts are quickly processed in dom0.




6                                        REDS@HEIG-VD
Overview of EmbeddedXEN
                 Primary Guest OS                                      Secondary Guest OS
                  known as Dom0                                          known as DomU

    Xen-guest                                                                                  Xen-guest
      (pv)                                                                                       (pv)
                       -   Full privilege                     - Full privilege
                       -   Dom0 original drivers
                                                              - DomU original drivers
                       -   Backend drivers
                       -   Native drivers                     - Frontend drivers
            •    Limited use of hypercalls
            •    ARM execution modes (USR/SVC) –
                 pseudo-user mode with double stack handling / downcalls & upcalls are
                 simple jumps to specific (callback) addresses
            •    No subtle use of domain access control (ARM DACR) to protect memory
            •    Memory sharing facilitated between primary and secondary OS

                             Domain                                              Prioritized
      VCPU                 Creation and      EmbeddedXEN                           Upcalls
    sched_flip                Setup                                               Handling         Migration
                                               Hypervisor         Hypercalls
                                                                                                   Manager
    Scheduler                                                     Handling


                                                   Hardware
7                                              REDS@HEIG-VD
Overview of EmbeddedXEN
  • Linux-like source tree and build system (Makefiles)
   Config & build                                          embeddedxen
   system
                  tools

                                                           xen-guest
           environnement.conf                                                                                                      linux-2.6.26-domU
                                                Common
                                                part

                                                 xenbus   core   include   console
                                                                                                                         include      xen-guest   arch
                                                                                             linux-2.6.32-dom0
           hypervisor-4.0.2


                                     include                                                                            xen-guest                 arm

       arch/arm
                                    xen-guest


mach-msm   mach-mx35
                                                                                     xen-guest    include     arch
                                                                                                                        Secondary              mach-mx35


                              xen                                                                                       OS
                                                                                                                                              mx35_fab4.c
                                                                                                 xen-guest     arm
 Hypervisor                 arch/arm


                                                                                      Primary
                          kernel    mm
                                                                                      OS                     mach-msm


   8                                                                   REDS@HEIG-VD
Overview of EmbeddedXEN
• Single binary (multi-kernel) image
• Automatic parsing & image relocation during hypervisor bootstrap
                EmbeddedXEN
    Boot Head




                                                                                                                      1 (Dom-U)
                                                                                   0 (Dom-0)
                          Hypervisor




                                                                                      EOD




                                                                                                                         EOD
                                                      DOM-0                                      DOM-U

                                   vmlinux            vmlinux.dom0                               vmlinux.domU

uImage




                                       Dom-0 Filesystem       /home/root/squeezeos.rootfs.img:      •   Stored separately in
                                                                                                        sdcard, for example
                                                                     Dom-U Filesystem


9                                                                REDS@HEIG-VD
Protection & Memory Isolation
 • Memory isolation between domains relies on different address space
   isolation.
     • No further advanced mechanisms to protect hypervisor and guest memory
     • The guest OS kernel runs at the same privilege as the hypervisor.



 • Each domain receives its own (contiguous) physical memory region
   during domain set up.


 • No pagination of the kernel linear address space is performed.
     • Paravirt of memory management is kept minimal.



 • Guest OS kernel has access to the whole memory.
     • No protection mechanism for strong isolation of VM (but is it really necessary?)


10                                             REDS@HEIG-VD
Protection & Memory Isolation
• Virtual & Physical Memory Layouts
                 Initial Virtual Address                                dom0 Virtual Address
                           Space                         Physical RAM          Space

                      Interrupt Vectors                                     Interrupt Vectors
        0xffff0000
                         frame table                                           frame table

                     XEN heap (2 MiB)                                      XEN heap (2 MiB)

                        boot allocator                                        boot allocator
                                                            domU
                      Hypervisor code                                       Hypervisor code
                                            Linear
                     1st-level page table   mapping                        1st-level page table
     0xFF000000

                             I/O                                                   I/O
     VMALLOC_END
                                                            dom0


                          domU
                          dom0
                                                                                dom0
                                            Linear
     PAGE_OFFSET                            mapping
       0xC0000000
                                                          Hypervisor
                            3GiB                                                  3GiB
       0x00000000




11                                                    REDS@HEIG-VD
Domain Interactions
 • Virtualization of peripherals in EmbeddedXEN is quite similar
   to the existing mechanisms in XEN.
     • Driver split with frontend & backend drivers
     • Communication with xenbus
     • Use of grant tables for sharing/copying pages between domains



 • However, a revisited (simplified) implementation of these
   mechanisms have been achieved in EmbeddedXEN.
     • XEN store is dynamically allocated at boot time of guest OSes.
     • No user space tools are required to manage XEN store entries or peripherals
       configs.
     • Hotplugs & dynamic configs of peripherals are less relevant to embedded
       systems.

12                                   REDS@HEIG-VD
Domain Interactions
 • domU is passed information during bootstrap under control of dom0.

                                               xen-guest      OS               xen-guest      OS
          xenbus            xenstore               subsys   Subsys                 subsys   Subsys
          thread             thread

          event_channel                       xenstore
               A/B                                                          xenbus
                                                                            thread
            Page Dom0            Page DomU
              prod                 prod
              cons                     cons



          backend drivers                                                         frontend drivers


                                                   event_channel C/D

                                                                                 Hypervisor
                                   via unpause_domU(store_mfn,         domU
                                    store_evtchn)                      start_info->store_mfn
                                                                       start_info->store_evtchn




13                                               REDS@HEIG-VD
Domain Interactions
• Grant tables are used in a different way
          • Shared pages are possible only in the vmalloc'd area.
          • Kernel linear addresses are not shareable; contents needs to be copied using
            temporary mappings.
                            Dom0                                RAM                                DomU
                          Hypervisor                                                              Hypervisor
     0xFF000000                                                                                                      0xFF000000



                                                              gnttab(domU)
     VMALLOC_END                                                             has                                     VMALLOC_END
                                             has                             references to
                                             references to                                       gnttab(domU)        gnttab
 gnttab_foreign[1]       gnttab(domU)                          domU
                                                                                                 gnttab(dom0)        gnttab_foreign[0]
           gnttab        gnttab(dom0)
                                                              shared pages
                                             has
                                             references to                   has
 VMALLOC_START                                                                                                       VMALLOC_START
                                                              gnttab(dom0)   references to




 mem_map_foreign     mem_map_foreign(domU)                      dom0                         mem_map_foreign(dom0)   mem_map_foreign

       0xC0000000                                                                                                    0xC0000000
                                                              shared pages
                            3GiB                                                                    3GiB
       0x00000000
                                                             Hypervisor                                              0x00000000

14                                                           REDS@HEIG-VD
Device Heterogeneity
• Different levels of heterogeneity
       • At CPU level: various instructions sets (locks, cache, etc.), various PTEs
         (MMU) flags, various co-processors, etc.
              Compatibility ensured via hypercalls


       • At peripherals level: not the same hardware
              Compatibility ensured via backend driver processing               hypervisor-4.0.2


                                                                                                             include

                                                                            arch/arm
                                                                                                        xen-guest


                                                                     mach-msm    mach-mx35
                                                                                                         xen
      built-in.o cache-v6.S cache-v7.S Kconfig Makefile mm.h
      proc-macros.S tlb-v6.S tlb-v7.S                                      mm
                                                                                                      arch/arm



                                                                                                    kernel      mm




 15                                                   REDS@HEIG-VD
Device Heterogeneity
    • Example of ARMv6 running on ARMv7 CPU (iMX35 -> HTC Desire HD)
Original version                                                         Paravirt version
linux-2.6.26-domU/arch/arm/mm/cache-v6.S:                                 linux-2.6.26-domU/arch/arm/mm/cache-v6.S:
ENTRY(v6_flush_kern_cache_all)                                            .extern xen_flush_kern_cache_all
  mov      r0, #0                                                         ENTRY(v6_flush_kern_cache_all)
#ifdef HARVARD_CACHE                                                        b          xen_flush_kern_cache_all
  mcr      p15, 0, r0, c7, c14, 0 @ D cache clean+invalidate              #if 0 /* paravirt */
#ifdef CONFIG_SMP                                                           mov        r0, #0
  mcr      p15, 0, r0, c7, c5, 0  @ I+BTB cache invalidate
#else                                                                      …
  b        v6_icache_inval_all
#endif                                                                     mov         pc, lr
#else                                                                     #endif /* 0 */
  mcr      p15, 0, r0, c7, c15, 0 @ Cache clean+invalidate
#endif

    mov    pc, lr




linux-2.6.26-domU/xen-guest/hypervisor.c:                                 hypervisor-4.0.2/arch/arm/mm/cache_v7.S:
void xen_flush_kern_cache_all(void)                                       ENTRY(xen_flush_kern_cache_all)
{                                                                          stmfd   sp!, {r4-r5, r7, r9-r11, lr}
  struct mmuext_op op;                                                     bl      xen_flush_dcache_all @ much more complex!!
                                                                           mov     r0, #0
    op.cmd = MMUEXT_FLUSH_CACHE;                                           mcr     p15, 0, r0, c7, c5, 0      @ I+BTB cache invalidate
    HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF);                        ldmfd   sp!, {r4-r5, r7, r9-r11, lr}
}                                                                          mov     pc, lr
                                                                          ENDPROC(xen_flush_kern_cache_all)

     16                                                        REDS@HEIG-VD
Device Heterogeneity
• Example of framebuffer device heterogeneity
• Configuration of framebuffer is retrieved from Dom0 via xenbus

     xen-guest                                     Dom0            xen-guest                                 DomU
                               User space
                               applications                                            User space
xenstore                       (/dev/fb0)                            xenbus            applications
                                                                     thread            (/dev/fb0)
              xenbus
              thread
                               framebuffer
                                   core

                                                                                          framebuffer
                              device-specific                                                 core
                               framebuffer
                              msmfb_pan_update()


                                                              Query framebuffer
                 xenfb backend                                                           xenfb frontend
                                                              params
                           fb_event_dom_register                                       domU fb memory
     dom0 fb memory        fb_event_dom_switch
                                                              FB config is retrieved   (allocated by domU)
     (allocated by dom0)                                      from dom0




17                                                  REDS@HEIG-VD
Device Heterogeneity
 • Example of audio device heterogeneity
 • DomU audio buffers are accessed from Dom0 via shared pages.

         xen-guest
                                                          Dom0           xen-guest
                                                                                                                    DomU
                                 User space applications                                          User space applications
     xenstore                                                        xenstore
                                 /dev/msm_pcm_out                                                 /dev/pcm/snd/pcm0c0d0p
                    xenbus       - or -                                          xenbus
                    thread       /dev/pcm/snd/pcm0c0d0p                          thread




                      pcm subsystem                                                  pcm subsystem


                                xen-audio backend
                                      xenvaud_pcm_start                            xen-audio frontend
                                      xenvaud_pcm_stop

                                                                                Audio buffers allocated in
                                                                                domU
                arch-specific audio driver


      Sound device (headset, speakers, etc.)




18                                                        REDS@HEIG-VD
Conclusions & Future Work
 • EmbeddedXEN is an embedded virtualization framework which puts
   emphasis on efficient and heterogeneous hardware.


 • Application environments can be re-used "as such" on modern
   platforms (Android-based for example) taking advantage of last
   generation hardware.


 • EmbeddedXEN relies on the main principles of XEN, with a revisited
   lightweight, but less secure architecture.


 • A single multikernel binary image, easy to deploy on the target
   platform without additional tools, makes EmbeddedXEN well
   tailored to embedded systems.

19                            REDS@HEIG-VD
Conclusions & Future Work
 • Further investigation projects:

     • Elaboration of a domU using a graphical desktop for user
       applications


     • Support of multicore ARM CPUs (cortex-A9, cortex-A15)


     • Live migration of domU using remote NFS-filesystem (migration
       within a cloud)


     • Support of hard realtime OS (RTEMS-paravirt)


20                            REDS@HEIG-VD
• Thanks for your attention!


 • Further information: daniel.rossier@heig-vd.ch




21                     REDS@HEIG-VD

Contenu connexe

Tendances

Hyper V And Scvmm Best Practis
Hyper V And Scvmm Best PractisHyper V And Scvmm Best Practis
Hyper V And Scvmm Best PractisBlauge
 
Introduction to Virtualization, Virsh and Virt-Manager
Introduction to Virtualization, Virsh and Virt-ManagerIntroduction to Virtualization, Virsh and Virt-Manager
Introduction to Virtualization, Virsh and Virt-Managerwalkerchang
 
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCPLinuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCPThe Linux Foundation
 
Bare-Metal Hypervisor as a Platform for Innovation
Bare-Metal Hypervisor as a Platform for InnovationBare-Metal Hypervisor as a Platform for Innovation
Bare-Metal Hypervisor as a Platform for InnovationThe Linux Foundation
 
Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Stefano Stabellini
 
Xen cloud platform v1.1 (given at Build a Cloud Day in Antwerp)
Xen cloud platform v1.1 (given at Build a Cloud Day in Antwerp)Xen cloud platform v1.1 (given at Build a Cloud Day in Antwerp)
Xen cloud platform v1.1 (given at Build a Cloud Day in Antwerp)The Linux Foundation
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project VirtualisationThe Linux Foundation
 
S4 xen hypervisor_20080622
S4 xen hypervisor_20080622S4 xen hypervisor_20080622
S4 xen hypervisor_20080622Todd Deshane
 
BACD July 2012 : The Xen Cloud Platform
BACD July 2012 : The Xen Cloud Platform BACD July 2012 : The Xen Cloud Platform
BACD July 2012 : The Xen Cloud Platform The Linux Foundation
 
XCP: The Art of Open Virtualization for the Enterprise and the Cloud
XCP: The Art of Open Virtualization for the Enterprise and the CloudXCP: The Art of Open Virtualization for the Enterprise and the Cloud
XCP: The Art of Open Virtualization for the Enterprise and the CloudThe Linux Foundation
 
XPDS13: HVM Dom0 - Any unmodified OS as Dom0 - Will Auld, Intel
XPDS13: HVM Dom0 - Any unmodified OS as Dom0 - Will Auld, IntelXPDS13: HVM Dom0 - Any unmodified OS as Dom0 - Will Auld, Intel
XPDS13: HVM Dom0 - Any unmodified OS as Dom0 - Will Auld, IntelThe Linux Foundation
 
Xen Project Update LinuxCon Brazil
Xen Project Update LinuxCon BrazilXen Project Update LinuxCon Brazil
Xen Project Update LinuxCon BrazilThe Linux Foundation
 
ARM Servers and Xen – Hypervisor Support at Hyperscale-XPUS13 Wikelius
ARM Servers and Xen – Hypervisor Support at Hyperscale-XPUS13 WikeliusARM Servers and Xen – Hypervisor Support at Hyperscale-XPUS13 Wikelius
ARM Servers and Xen – Hypervisor Support at Hyperscale-XPUS13 WikeliusThe Linux Foundation
 
Securing Your Cloud With the Xen Hypervisor by Russell Pavlicek
Securing Your Cloud With the Xen Hypervisor by Russell PavlicekSecuring Your Cloud With the Xen Hypervisor by Russell Pavlicek
Securing Your Cloud With the Xen Hypervisor by Russell Pavlicekbuildacloud
 

Tendances (20)

XS Boston 2008 XenLoop
XS Boston 2008 XenLoopXS Boston 2008 XenLoop
XS Boston 2008 XenLoop
 
Kvm
KvmKvm
Kvm
 
Hyper V And Scvmm Best Practis
Hyper V And Scvmm Best PractisHyper V And Scvmm Best Practis
Hyper V And Scvmm Best Practis
 
Introduction to Virtualization, Virsh and Virt-Manager
Introduction to Virtualization, Virsh and Virt-ManagerIntroduction to Virtualization, Virsh and Virt-Manager
Introduction to Virtualization, Virsh and Virt-Manager
 
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCPLinuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCP
 
Bare-Metal Hypervisor as a Platform for Innovation
Bare-Metal Hypervisor as a Platform for InnovationBare-Metal Hypervisor as a Platform for Innovation
Bare-Metal Hypervisor as a Platform for Innovation
 
Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)
 
XS Japan 2008 Xen Mgmt English
XS Japan 2008 Xen Mgmt EnglishXS Japan 2008 Xen Mgmt English
XS Japan 2008 Xen Mgmt English
 
Xen cloud platform v1.1 (given at Build a Cloud Day in Antwerp)
Xen cloud platform v1.1 (given at Build a Cloud Day in Antwerp)Xen cloud platform v1.1 (given at Build a Cloud Day in Antwerp)
Xen cloud platform v1.1 (given at Build a Cloud Day in Antwerp)
 
Xen in the Cloud at SCALE 10x
Xen in the Cloud at SCALE 10xXen in the Cloud at SCALE 10x
Xen in the Cloud at SCALE 10x
 
Ian Pratt Nsdi Keynote Apr2008
Ian Pratt Nsdi Keynote Apr2008Ian Pratt Nsdi Keynote Apr2008
Ian Pratt Nsdi Keynote Apr2008
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project Virtualisation
 
S4 xen hypervisor_20080622
S4 xen hypervisor_20080622S4 xen hypervisor_20080622
S4 xen hypervisor_20080622
 
BACD July 2012 : The Xen Cloud Platform
BACD July 2012 : The Xen Cloud Platform BACD July 2012 : The Xen Cloud Platform
BACD July 2012 : The Xen Cloud Platform
 
XCP: The Art of Open Virtualization for the Enterprise and the Cloud
XCP: The Art of Open Virtualization for the Enterprise and the CloudXCP: The Art of Open Virtualization for the Enterprise and the Cloud
XCP: The Art of Open Virtualization for the Enterprise and the Cloud
 
XS Boston 2008 Security
XS Boston 2008 SecurityXS Boston 2008 Security
XS Boston 2008 Security
 
XPDS13: HVM Dom0 - Any unmodified OS as Dom0 - Will Auld, Intel
XPDS13: HVM Dom0 - Any unmodified OS as Dom0 - Will Auld, IntelXPDS13: HVM Dom0 - Any unmodified OS as Dom0 - Will Auld, Intel
XPDS13: HVM Dom0 - Any unmodified OS as Dom0 - Will Auld, Intel
 
Xen Project Update LinuxCon Brazil
Xen Project Update LinuxCon BrazilXen Project Update LinuxCon Brazil
Xen Project Update LinuxCon Brazil
 
ARM Servers and Xen – Hypervisor Support at Hyperscale-XPUS13 Wikelius
ARM Servers and Xen – Hypervisor Support at Hyperscale-XPUS13 WikeliusARM Servers and Xen – Hypervisor Support at Hyperscale-XPUS13 Wikelius
ARM Servers and Xen – Hypervisor Support at Hyperscale-XPUS13 Wikelius
 
Securing Your Cloud With the Xen Hypervisor by Russell Pavlicek
Securing Your Cloud With the Xen Hypervisor by Russell PavlicekSecuring Your Cloud With the Xen Hypervisor by Russell Pavlicek
Securing Your Cloud With the Xen Hypervisor by Russell Pavlicek
 

En vedette

XPDS14: Xenstore Mandatory Access Control - James Bielman, Galois
XPDS14: Xenstore Mandatory Access Control - James Bielman, GaloisXPDS14: Xenstore Mandatory Access Control - James Bielman, Galois
XPDS14: Xenstore Mandatory Access Control - James Bielman, GaloisThe Linux Foundation
 
Virtualization in Automotive Embedded Systems: an Outlook
Virtualization in Automotive Embedded Systems: an OutlookVirtualization in Automotive Embedded Systems: an Outlook
Virtualization in Automotive Embedded Systems: an OutlookRealTime-at-Work (RTaW)
 
Benefit of Virtualization for Embedded Systems
Benefit of Virtualization for Embedded SystemsBenefit of Virtualization for Embedded Systems
Benefit of Virtualization for Embedded SystemsAlexander Smirnov
 
IoT, Fog Computing and the Blockchain
IoT, Fog Computing and the BlockchainIoT, Fog Computing and the Blockchain
IoT, Fog Computing and the Blockchainkumar641
 
Michael Enescu - Cloud + IoT at IEEE
Michael Enescu - Cloud + IoT at IEEEMichael Enescu - Cloud + IoT at IEEE
Michael Enescu - Cloud + IoT at IEEEMichael Enescu
 

En vedette (6)

XPDS14: Xenstore Mandatory Access Control - James Bielman, Galois
XPDS14: Xenstore Mandatory Access Control - James Bielman, GaloisXPDS14: Xenstore Mandatory Access Control - James Bielman, Galois
XPDS14: Xenstore Mandatory Access Control - James Bielman, Galois
 
Virtualization in Automotive Embedded Systems: an Outlook
Virtualization in Automotive Embedded Systems: an OutlookVirtualization in Automotive Embedded Systems: an Outlook
Virtualization in Automotive Embedded Systems: an Outlook
 
Benefit of Virtualization for Embedded Systems
Benefit of Virtualization for Embedded SystemsBenefit of Virtualization for Embedded Systems
Benefit of Virtualization for Embedded Systems
 
IoT, Fog Computing and the Blockchain
IoT, Fog Computing and the BlockchainIoT, Fog Computing and the Blockchain
IoT, Fog Computing and the Blockchain
 
Michael Enescu - Cloud + IoT at IEEE
Michael Enescu - Cloud + IoT at IEEEMichael Enescu - Cloud + IoT at IEEE
Michael Enescu - Cloud + IoT at IEEE
 
FOG COMPUTING
FOG COMPUTINGFOG COMPUTING
FOG COMPUTING
 

Similaire à Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Framework Tailored to ARM Based Embedded Systems

Windsor: Domain 0 Disaggregation for XenServer and XCP
	Windsor: Domain 0 Disaggregation for XenServer and XCP	Windsor: Domain 0 Disaggregation for XenServer and XCP
Windsor: Domain 0 Disaggregation for XenServer and XCPThe Linux Foundation
 
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012The Linux Foundation
 
Porting Xen Paravirtualization to MIPS Architecture
Porting Xen Paravirtualization to MIPS ArchitecturePorting Xen Paravirtualization to MIPS Architecture
Porting Xen Paravirtualization to MIPS ArchitectureThe Linux Foundation
 
sVirt: Hardening Linux Virtualization with Mandatory Access Control
sVirt: Hardening Linux Virtualization with Mandatory Access ControlsVirt: Hardening Linux Virtualization with Mandatory Access Control
sVirt: Hardening Linux Virtualization with Mandatory Access ControlJames Morris
 
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...The Linux Foundation
 
12 christian ferber xen_server_advanced
12 christian ferber xen_server_advanced12 christian ferber xen_server_advanced
12 christian ferber xen_server_advancedDigicomp Academy AG
 
Virtualization Primer for Java Developers
Virtualization Primer for Java DevelopersVirtualization Primer for Java Developers
Virtualization Primer for Java DevelopersRichard McDougall
 
LinuxCon NA 2012: Virtualization in the cloud featuring xen
LinuxCon NA 2012: Virtualization in the cloud featuring xenLinuxCon NA 2012: Virtualization in the cloud featuring xen
LinuxCon NA 2012: Virtualization in the cloud featuring xenThe Linux Foundation
 
RHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdfRHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdfPaul Yang
 
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...The Linux Foundation
 
Xen architecture q1 2008
Xen architecture q1 2008Xen architecture q1 2008
Xen architecture q1 2008colegio letonia
 
Linux virtualization
Linux virtualizationLinux virtualization
Linux virtualizationGoogle
 

Similaire à Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Framework Tailored to ARM Based Embedded Systems (20)

Windsor: Domain 0 Disaggregation for XenServer and XCP
	Windsor: Domain 0 Disaggregation for XenServer and XCP	Windsor: Domain 0 Disaggregation for XenServer and XCP
Windsor: Domain 0 Disaggregation for XenServer and XCP
 
Virtualization in the cloud
Virtualization in the cloudVirtualization in the cloud
Virtualization in the cloud
 
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
 
Porting Xen Paravirtualization to MIPS Architecture
Porting Xen Paravirtualization to MIPS ArchitecturePorting Xen Paravirtualization to MIPS Architecture
Porting Xen Paravirtualization to MIPS Architecture
 
UDS 2012 Xen
UDS 2012 XenUDS 2012 Xen
UDS 2012 Xen
 
OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training
 
sVirt: Hardening Linux Virtualization with Mandatory Access Control
sVirt: Hardening Linux Virtualization with Mandatory Access ControlsVirt: Hardening Linux Virtualization with Mandatory Access Control
sVirt: Hardening Linux Virtualization with Mandatory Access Control
 
OLUG_xen.ppt
OLUG_xen.pptOLUG_xen.ppt
OLUG_xen.ppt
 
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
 
12 christian ferber xen_server_advanced
12 christian ferber xen_server_advanced12 christian ferber xen_server_advanced
12 christian ferber xen_server_advanced
 
Virtualization Primer for Java Developers
Virtualization Primer for Java DevelopersVirtualization Primer for Java Developers
Virtualization Primer for Java Developers
 
LinuxCon NA 2012: Virtualization in the cloud featuring xen
LinuxCon NA 2012: Virtualization in the cloud featuring xenLinuxCon NA 2012: Virtualization in the cloud featuring xen
LinuxCon NA 2012: Virtualization in the cloud featuring xen
 
RHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdfRHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdf
 
Xen Community Update 2011
Xen Community Update 2011Xen Community Update 2011
Xen Community Update 2011
 
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
 
Xen architecture q1 2008
Xen architecture q1 2008Xen architecture q1 2008
Xen architecture q1 2008
 
Linux virtualization
Linux virtualizationLinux virtualization
Linux virtualization
 
XS Boston 2008 ARM
XS Boston 2008 ARMXS Boston 2008 ARM
XS Boston 2008 ARM
 
vBACD July 2012 - Xen Cloud Platform
vBACD July 2012 - Xen Cloud PlatformvBACD July 2012 - Xen Cloud Platform
vBACD July 2012 - Xen Cloud Platform
 
Nakajima hvm-be final
Nakajima hvm-be finalNakajima hvm-be final
Nakajima hvm-be final
 

Plus de The Linux Foundation

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleThe Linux Foundation
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...The Linux Foundation
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...The Linux Foundation
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...The Linux Foundation
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather ReportThe Linux Foundation
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...The Linux Foundation
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxThe Linux Foundation
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...The Linux Foundation
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderThe Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...The Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...The Linux Foundation
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixThe Linux Foundation
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdThe Linux Foundation
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...The Linux Foundation
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DThe Linux Foundation
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsThe Linux Foundation
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...The Linux Foundation
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...The Linux Foundation
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...The Linux Foundation
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEThe Linux Foundation
 

Plus de The Linux Foundation (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 

Dernier

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Dernier (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Framework Tailored to ARM Based Embedded Systems

  • 1. Dealing with Hardware Heterogeneity Using a Virtualization Framework Tailored to ARM Based Embedded Systems Prof. Daniel Rossier, PhD HEIG-VD Institut REDS, Reconfigurable & Embedded Digital Systems rte Cheseaux 1, 1400 Yverdon-les-Bains http://www.reds.ch/
  • 2. Outline • Background • Overview of EmbeddedXEN • Protection & Memory Isolation • Domain Interactions • Device Heterogeneity • Conclusions & Future Work 2 REDS@HEIG-VD
  • 3. Background • HEIG-VD • University of Applied Sciences in Yverdon, Switzerland (CH) • Reconfigurable Embedded Digital System Institute  Hardware Design, FPGA  Embedded Execution Environment, Drivers, BSP, OS/RTOS, etc. • Applied Research & Development • ARM based Microcontrolers (v4, v5, v6, v7) • Low-level interactions between computing cores (CPU, DSP, FPGA, etc.) • Towards Cortex-A15 HVM 3 REDS@HEIG-VD
  • 4. Background • Embedded Virtualization on ARM • XEN: free & easy access to a stable & evolving hypervisor source code • Early port of XEN on ARM in 2007 in the context of a Diploma Project • Necessity to get a simple, thin, fast, robust, easy-to-deployed virtualization framework • Re-use of Linux file organization & build system (Makefiles, scripts, …) • Focus on realtime aspects (Linux/Xenomai as RTOS) • Different sources of inspiration • "Fast Secure Virtualization for the ARM Platform", Daniel Ferstay, Master Thesis, The University of British Columbia, 2006 • XEN ARM port, George G. Davis, MontaVista, 2007 • Secure Xen on ARM Project, Sang-bum SUH, Samsung, 2007 4 REDS@HEIG-VD
  • 5. Background • Focus on heterogeneity of embedded devices • Idea to re-use OS & applications from old devices to recent devices • Time-to-market migration to new hardware generation • Dealing with various cross-compiled binaries (ARM v5-v7) • Dealing with different peripherals • Less emphasis on security aspects • Publicly available • https://sourceforge.net/projects/embeddedxen 5 REDS@HEIG-VD
  • 6. Background • Hardware constraints • Low latency, reactivity (response time) • ARM cores do not support virtualization mechanisms  not easy to deal with various levels of execution modes • Para-virtualization remains attractive • About 30 files to be (slightly) adapted • Low execution overhead • Efficient processing of downcalls/upcalls with support of domain interactions  Physical interrupts are quickly processed in dom0. 6 REDS@HEIG-VD
  • 7. Overview of EmbeddedXEN Primary Guest OS Secondary Guest OS known as Dom0 known as DomU Xen-guest Xen-guest (pv) (pv) - Full privilege - Full privilege - Dom0 original drivers - DomU original drivers - Backend drivers - Native drivers - Frontend drivers • Limited use of hypercalls • ARM execution modes (USR/SVC) – pseudo-user mode with double stack handling / downcalls & upcalls are simple jumps to specific (callback) addresses • No subtle use of domain access control (ARM DACR) to protect memory • Memory sharing facilitated between primary and secondary OS Domain Prioritized VCPU Creation and EmbeddedXEN Upcalls sched_flip Setup Handling Migration Hypervisor Hypercalls Manager Scheduler Handling Hardware 7 REDS@HEIG-VD
  • 8. Overview of EmbeddedXEN • Linux-like source tree and build system (Makefiles) Config & build embeddedxen system tools xen-guest environnement.conf linux-2.6.26-domU Common part xenbus core include console include xen-guest arch linux-2.6.32-dom0 hypervisor-4.0.2 include xen-guest arm arch/arm xen-guest mach-msm mach-mx35 xen-guest include arch Secondary mach-mx35 xen OS mx35_fab4.c xen-guest arm Hypervisor arch/arm Primary kernel mm OS mach-msm 8 REDS@HEIG-VD
  • 9. Overview of EmbeddedXEN • Single binary (multi-kernel) image • Automatic parsing & image relocation during hypervisor bootstrap EmbeddedXEN Boot Head 1 (Dom-U) 0 (Dom-0) Hypervisor EOD EOD DOM-0 DOM-U vmlinux vmlinux.dom0 vmlinux.domU uImage Dom-0 Filesystem /home/root/squeezeos.rootfs.img: • Stored separately in sdcard, for example Dom-U Filesystem 9 REDS@HEIG-VD
  • 10. Protection & Memory Isolation • Memory isolation between domains relies on different address space isolation. • No further advanced mechanisms to protect hypervisor and guest memory • The guest OS kernel runs at the same privilege as the hypervisor. • Each domain receives its own (contiguous) physical memory region during domain set up. • No pagination of the kernel linear address space is performed. • Paravirt of memory management is kept minimal. • Guest OS kernel has access to the whole memory. • No protection mechanism for strong isolation of VM (but is it really necessary?) 10 REDS@HEIG-VD
  • 11. Protection & Memory Isolation • Virtual & Physical Memory Layouts Initial Virtual Address dom0 Virtual Address Space Physical RAM Space Interrupt Vectors Interrupt Vectors 0xffff0000 frame table frame table XEN heap (2 MiB) XEN heap (2 MiB) boot allocator boot allocator domU Hypervisor code Hypervisor code Linear 1st-level page table mapping 1st-level page table 0xFF000000 I/O I/O VMALLOC_END dom0 domU dom0 dom0 Linear PAGE_OFFSET mapping 0xC0000000 Hypervisor 3GiB 3GiB 0x00000000 11 REDS@HEIG-VD
  • 12. Domain Interactions • Virtualization of peripherals in EmbeddedXEN is quite similar to the existing mechanisms in XEN. • Driver split with frontend & backend drivers • Communication with xenbus • Use of grant tables for sharing/copying pages between domains • However, a revisited (simplified) implementation of these mechanisms have been achieved in EmbeddedXEN. • XEN store is dynamically allocated at boot time of guest OSes. • No user space tools are required to manage XEN store entries or peripherals configs. • Hotplugs & dynamic configs of peripherals are less relevant to embedded systems. 12 REDS@HEIG-VD
  • 13. Domain Interactions • domU is passed information during bootstrap under control of dom0. xen-guest OS xen-guest OS xenbus xenstore subsys Subsys subsys Subsys thread thread event_channel xenstore A/B xenbus thread Page Dom0 Page DomU prod prod cons cons backend drivers frontend drivers event_channel C/D Hypervisor via unpause_domU(store_mfn, domU store_evtchn) start_info->store_mfn start_info->store_evtchn 13 REDS@HEIG-VD
  • 14. Domain Interactions • Grant tables are used in a different way • Shared pages are possible only in the vmalloc'd area. • Kernel linear addresses are not shareable; contents needs to be copied using temporary mappings. Dom0 RAM DomU Hypervisor Hypervisor 0xFF000000 0xFF000000 gnttab(domU) VMALLOC_END has VMALLOC_END has references to references to gnttab(domU) gnttab gnttab_foreign[1] gnttab(domU) domU gnttab(dom0) gnttab_foreign[0] gnttab gnttab(dom0) shared pages has references to has VMALLOC_START VMALLOC_START gnttab(dom0) references to mem_map_foreign mem_map_foreign(domU) dom0 mem_map_foreign(dom0) mem_map_foreign 0xC0000000 0xC0000000 shared pages 3GiB 3GiB 0x00000000 Hypervisor 0x00000000 14 REDS@HEIG-VD
  • 15. Device Heterogeneity • Different levels of heterogeneity • At CPU level: various instructions sets (locks, cache, etc.), various PTEs (MMU) flags, various co-processors, etc.  Compatibility ensured via hypercalls • At peripherals level: not the same hardware  Compatibility ensured via backend driver processing hypervisor-4.0.2 include arch/arm xen-guest mach-msm mach-mx35 xen built-in.o cache-v6.S cache-v7.S Kconfig Makefile mm.h proc-macros.S tlb-v6.S tlb-v7.S mm arch/arm kernel mm 15 REDS@HEIG-VD
  • 16. Device Heterogeneity • Example of ARMv6 running on ARMv7 CPU (iMX35 -> HTC Desire HD) Original version Paravirt version linux-2.6.26-domU/arch/arm/mm/cache-v6.S: linux-2.6.26-domU/arch/arm/mm/cache-v6.S: ENTRY(v6_flush_kern_cache_all) .extern xen_flush_kern_cache_all mov r0, #0 ENTRY(v6_flush_kern_cache_all) #ifdef HARVARD_CACHE b xen_flush_kern_cache_all mcr p15, 0, r0, c7, c14, 0 @ D cache clean+invalidate #if 0 /* paravirt */ #ifdef CONFIG_SMP mov r0, #0 mcr p15, 0, r0, c7, c5, 0 @ I+BTB cache invalidate #else … b v6_icache_inval_all #endif mov pc, lr #else #endif /* 0 */ mcr p15, 0, r0, c7, c15, 0 @ Cache clean+invalidate #endif mov pc, lr linux-2.6.26-domU/xen-guest/hypervisor.c: hypervisor-4.0.2/arch/arm/mm/cache_v7.S: void xen_flush_kern_cache_all(void) ENTRY(xen_flush_kern_cache_all) { stmfd sp!, {r4-r5, r7, r9-r11, lr} struct mmuext_op op; bl xen_flush_dcache_all @ much more complex!! mov r0, #0 op.cmd = MMUEXT_FLUSH_CACHE; mcr p15, 0, r0, c7, c5, 0 @ I+BTB cache invalidate HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF); ldmfd sp!, {r4-r5, r7, r9-r11, lr} } mov pc, lr ENDPROC(xen_flush_kern_cache_all) 16 REDS@HEIG-VD
  • 17. Device Heterogeneity • Example of framebuffer device heterogeneity • Configuration of framebuffer is retrieved from Dom0 via xenbus xen-guest Dom0 xen-guest DomU User space applications User space xenstore (/dev/fb0) xenbus applications thread (/dev/fb0) xenbus thread framebuffer core framebuffer device-specific core framebuffer msmfb_pan_update() Query framebuffer xenfb backend xenfb frontend params fb_event_dom_register domU fb memory dom0 fb memory fb_event_dom_switch FB config is retrieved (allocated by domU) (allocated by dom0) from dom0 17 REDS@HEIG-VD
  • 18. Device Heterogeneity • Example of audio device heterogeneity • DomU audio buffers are accessed from Dom0 via shared pages. xen-guest Dom0 xen-guest DomU User space applications User space applications xenstore xenstore /dev/msm_pcm_out /dev/pcm/snd/pcm0c0d0p xenbus - or - xenbus thread /dev/pcm/snd/pcm0c0d0p thread pcm subsystem pcm subsystem xen-audio backend xenvaud_pcm_start xen-audio frontend xenvaud_pcm_stop Audio buffers allocated in domU arch-specific audio driver Sound device (headset, speakers, etc.) 18 REDS@HEIG-VD
  • 19. Conclusions & Future Work • EmbeddedXEN is an embedded virtualization framework which puts emphasis on efficient and heterogeneous hardware. • Application environments can be re-used "as such" on modern platforms (Android-based for example) taking advantage of last generation hardware. • EmbeddedXEN relies on the main principles of XEN, with a revisited lightweight, but less secure architecture. • A single multikernel binary image, easy to deploy on the target platform without additional tools, makes EmbeddedXEN well tailored to embedded systems. 19 REDS@HEIG-VD
  • 20. Conclusions & Future Work • Further investigation projects: • Elaboration of a domU using a graphical desktop for user applications • Support of multicore ARM CPUs (cortex-A9, cortex-A15) • Live migration of domU using remote NFS-filesystem (migration within a cloud) • Support of hard realtime OS (RTEMS-paravirt) 20 REDS@HEIG-VD
  • 21. • Thanks for your attention! • Further information: daniel.rossier@heig-vd.ch 21 REDS@HEIG-VD