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

From Xen
m (Project Infrastructure and Initial GlobalLogic Contribution)
Line 1: Line 1:
  +
== Project Infrastructure ==
{{InfoLeft|Note that this roadmap is out-of-date. Some of the work has been superseded and others has happened.}}
 
  +
* Mailing list - done
  +
* Code repos on xenbits - not done
  +
* Development repositories are deployed on GitHub [https://github.com/xen-troops Xen Troops] project
  +
* Whitepapers - done, see [[Automotive Whitepapers]]
   
  +
== Features development ==
''Legend:'' {{Tick}}: Done {{HalfDone}}: In Progress {{NotDone}}: Abandoned
 
  +
'''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 [https://www.automotivelinux.org/ 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'''
  +
* generic co-processor (GPU, DSP, FPGA, TPU, ...) virtualization support
  +
** vcoproc design documentation created
  +
** initial implementation in progress
  +
* 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, PMIC, etc.)
  +
** may be also used for PL011 emulation required by Linaro spec
  +
* integration with ARM TrustZone based on [https://github.com/OP-TEE OP-TEE]
  +
** virtualization-friendly memory management in OP-TEE implementation - done
  +
** multiple domain support for TAs
  +
** SMC/HVC bridge in Xen
  +
* 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]?)
  +
* 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==
== Project Infrastructure and Initial GlobalLogic Contribution ==
 
  +
List of repositories and owners on GitHub:
* Set up Project infrastructure (code repos and mailing list) {{Tick}}
 
** {{Tick}} mailing list
+
* xen + xen-tools @aanisov (upstream through mailing list)
  +
* linux kernel @aanisov (upstream through mailing list)
** {{NotDone}} code repos were not needed, see below
 
  +
* u-boot @otyshchenko (upstream through mailing list)
* Initial code contribution of QNX drivers by GlobalLogic {{NotDone}}
 
  +
* libxenbe @al1img
** {{NotDone}} Abandoned, as interest has shifted from QNX to [https://www.automotivelinux.org/ AGL], for which there is an upstream. The risk of having to maintain an unnecessary Xen port was considered too high at this stage
 
  +
* wayland drm + events backend @al1img
* Various Whitepapers and studies {{Tick}} see [[Automotive Whitepapers]]
 
  +
* alsa backend @al1img
* Add Wiki pages (instruction to get SW build for TI J6 EVM)
 
  +
* optee-core @lorc (upsteram through pull request on github)
 
  +
* optee-client @lorc (upsteram through pull request on github)
== Planned Code Contributions ==
 
  +
* build @aanisov
* Xen Project Hypervisor changes: some for 4.4 {{Tick}} see [[Xen Project 4.4 Feature List]]
 
  +
* pv drm frontend @andr2000
* Xen Project Hypervisor changes: some for 4.5 {{Tick}} see [[Xen Project 4.5 Feature List]]
 
  +
* pv alsa frontend @andr2000
* Xen Project Hypervisor changes: some for 4.6 {{Tick}} see [[Xen Project 4.6 Feature List]]
 
  +
* pv events frontend @andr2000
* [http://www.qnx.com/ QNX] & [https://www.tizen.org/ Tizen] baseports to run as Xen Project guests {{NotDone}}
 
** {{NotDone}} Interest has shifted to AGL
 
* Upstream RT Scheduler performance improvements to Hypervisor - {{Tick}} See [[RTDS-Based-Scheduler]] in Xen 4.5 - additional work ongoing and planned for Xen 4.7
 
* GPU virtualization PV drivers using OpenGL {{NotDone}}
 
** {{NotDone}} This was prototyped and replaced by an alternative approach, which for now exists out-of-tree until it is clear whether it can be upstreamed
 
* Adding support for Renesas R-Car M2/H2 hardware – {{HalfDone}} Initial support in Xen 4.6, some support planned for later
 
* Thin Dom0 (only containing kernel with Xen tools on Dom 0 - and no drivers or other functionality - for disaggregated architecture)
 
* ISO 26262 certification - ongoing
 
 
== Project Wish list (unplanned at this stage) ==
 
* Power Management Improvements
 
* [http://www.arccore.com/ Arctic Core] – Open Source [http://www.autosar.org/ Autosar]
 
* Better support for SMMU
 
   
 
[[Category:Embedded and Automotive PV Drivers]]
 
[[Category:Embedded and Automotive PV Drivers]]

Revision as of 16:02, 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

  • generic co-processor (GPU, DSP, FPGA, TPU, ...) virtualization support
    • vcoproc design documentation created
    • initial implementation in progress
  • 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, PMIC, etc.)
    • may be also used for PL011 emulation required by Linaro spec
  • integration with ARM TrustZone based on OP-TEE
    • virtualization-friendly memory management in OP-TEE implementation - done
    • multiple domain support for TAs
    • SMC/HVC bridge in Xen
  • hard real time scheduling integration

Future

  • yocto-based build management integrations
  • dom0 RTOS support (FreeRTOS? Arctic Core – Open Source Autosar?)
  • IEC 61508 safety certification - see similar OSADL Sil2LinuxMP project for Linux
  • power management support
  • heterogeneous computing support (big.LITTLE, etc.)

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