Embedded and Automotive/Archived/PV Drivers/Roadmap: Difference between revisions

From Xen
Jump to navigationJump to search
No edit summary
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