Difference between revisions of "Embedded and Automotive/Archived/PV Drivers/Roadmap"
From Xen
Lars.kurth (talk | contribs) 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}} |
||
− | + | * 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