Difference between revisions of "Embedded and Automotive/Archived/PV Drivers/Roadmap"

From Xen
(Features development)
Line 18: Line 18:
 
** frontend and backend implementations available on GitHub (see below)
 
** frontend and backend implementations available on GitHub (see below)
 
'''Xen 4.10 release'''
 
'''Xen 4.10 release'''
  +
* IPMMU support - done
 
* generic co-processor (GPU, DSP, FPGA, TPU, ...) virtualization support
 
* generic co-processor (GPU, DSP, FPGA, TPU, ...) virtualization support
 
** vcoproc design documentation created
 
** vcoproc design documentation created
 
** initial implementation in progress
 
** initial implementation in progress
  +
** drivers to be implemented as deprivileged applications
  +
* integration with ARM TrustZone based on [https://github.com/OP-TEE OP-TEE]
  +
** SMC/HVC bridge in Xen
  +
** OP-TEE driver as a deprivileged app
  +
** changes in OP-TEE itself: dynamic memory management, multiple domains support
 
* deprivileged applications in Xen on ARM
 
* deprivileged applications in Xen on ARM
 
** initial stubdom support for ARM done
 
** initial stubdom support for ARM done
 
** initial EL0 deprivilege support done
 
** initial EL0 deprivilege support done
** will be use for non-upstreamable drivers (GPU, TEE, PMIC, etc.)
+
** will be use for non-upstreamable drivers (GPU, TEE, etc.)
 
** may be also used for PL011 emulation required by Linaro spec
 
** may be also used for PL011 emulation required by Linaro spec
  +
'''Future'''
* integration with ARM TrustZone based on [https://github.com/OP-TEE OP-TEE]
 
** virtualization-friendly memory management in OP-TEE implementation - done
+
* power management implementation
  +
* hard real time scheduling integration, [[RTDS-Based-Scheduler]]
** multiple domain support for TAs
 
  +
* yocto-based build management integrations (see [http://git.yoctoproject.org/cgit/cgit.cgi/meta-virtualization meta-virtulization] layer on Yocto Project git)
** SMC/HVC bridge in Xen
 
  +
* heterogeneous computing support (big.LITTLE, etc.)
* hard real time scheduling integration
 
** see [[RTDS-Based-Scheduler]]
 
Future
 
* yocto-based build management integrations
 
 
* dom0 RTOS support ([http://www.freertos.org/ FreeRTOS]? [http://www.arccore.com/ Arctic Core] – Open Source [http://www.autosar.org/ Autosar]?)
 
* dom0 RTOS support ([http://www.freertos.org/ FreeRTOS]? [http://www.arccore.com/ Arctic Core] – Open Source [http://www.autosar.org/ Autosar]?)
 
* IEC 61508 safety certification - see similar OSADL [http://www.osadl.org/SIL2LinuxMP.sil2-linux-project.0.html Sil2LinuxMP] project for Linux
 
* IEC 61508 safety certification - see similar OSADL [http://www.osadl.org/SIL2LinuxMP.sil2-linux-project.0.html Sil2LinuxMP] project for Linux
* power management support
 
* heterogeneous computing support (big.LITTLE, etc.)
 
   
 
==Repository structure==
 
==Repository structure==

Revision as of 16:08, 30 March 2017

Project Infrastructure

  • Mailing list - done
  • Code repos on xenbits - not done
  • Development repositories are deployed on GitHub Xen Troops project
  • Whitepapers - done, see Automotive Whitepapers

Features development

Initial contribution by GlobalLogic

  • Automotive SoCs support
    • TI Jacinto 6 support - done
    • Renesas R-Car gen 2 support - done
    • Renesas R-Car gen 3 support - done
  • QNX IPL and drivers - abandoned, as interest has shifted from QNX to AGL, for which there is an upstream. The risk of having to maintain an unnecessary Xen port was considered too high at this stage
  • Initial cpufreq implementation in XEN
  • Initial PV drivers APIs implementation (tty, RTC, audio, event, rpmsg)

Xen 4.9 release

  • major PV drivers APIs: sound, display, input - done
    • frontend and backend implementations available on GitHub (see below)

Xen 4.10 release

  • IPMMU support - done
  • generic co-processor (GPU, DSP, FPGA, TPU, ...) virtualization support
    • vcoproc design documentation created
    • initial implementation in progress
    • drivers to be implemented as deprivileged applications
  • integration with ARM TrustZone based on OP-TEE
    • SMC/HVC bridge in Xen
    • OP-TEE driver as a deprivileged app
    • changes in OP-TEE itself: dynamic memory management, multiple domains support
  • deprivileged applications in Xen on ARM
    • initial stubdom support for ARM done
    • initial EL0 deprivilege support done
    • will be use for non-upstreamable drivers (GPU, TEE, etc.)
    • may be also used for PL011 emulation required by Linaro spec

Future

  • power management implementation
  • hard real time scheduling integration, RTDS-Based-Scheduler
  • yocto-based build management integrations (see meta-virtulization layer on Yocto Project git)
  • heterogeneous computing support (big.LITTLE, etc.)
  • dom0 RTOS support (FreeRTOS? Arctic Core – Open Source Autosar?)
  • IEC 61508 safety certification - see similar OSADL Sil2LinuxMP project for Linux

Repository structure

List of repositories and owners on GitHub:

  • xen + xen-tools @aanisov (upstream through mailing list)
  • linux kernel @aanisov (upstream through mailing list)
  • u-boot @otyshchenko (upstream through mailing list)
  • libxenbe @al1img
  • wayland drm + events backend @al1img
  • alsa backend @al1img
  • optee-core @lorc (upsteram through pull request on github)
  • optee-client @lorc (upsteram through pull request on github)
  • build @aanisov
  • pv drm frontend @andr2000
  • pv alsa frontend @andr2000
  • pv events frontend @andr2000