Paul Beesley | fc9ee36 | 2019-03-07 15:47:15 +0000 | [diff] [blame] | 1 | Platform Compatibility Policy |
| 2 | ============================= |
Soby Mathew | 02bdbb9 | 2018-09-26 11:17:23 +0100 | [diff] [blame] | 3 | |
Soby Mathew | 02bdbb9 | 2018-09-26 11:17:23 +0100 | [diff] [blame] | 4 | Introduction |
| 5 | ------------ |
| 6 | |
| 7 | This document clarifies the project's policy around compatibility for upstream |
| 8 | platforms. |
| 9 | |
| 10 | Platform compatibility policy |
| 11 | ----------------------------- |
| 12 | |
| 13 | Platform compatibility is mainly affected by changes to Platform APIs (as |
| 14 | documented in the `Porting Guide`_), driver APIs (like the GICv3 drivers) or |
| 15 | library interfaces (like xlat_table library). The project will try to maintain |
| 16 | compatibility for upstream platforms. Due to evolving requirements and |
| 17 | enhancements, there might be changes affecting platform compatibility which |
| 18 | means the previous interface needs to be deprecated and a new interface |
| 19 | introduced to replace it. In case the migration to the new interface is trivial, |
| 20 | the contributor of the change is expected to make good effort to migrate the |
| 21 | upstream platforms to the new interface. |
| 22 | |
| 23 | The `Release information`_ documents the deprecated interfaces and the intended |
| 24 | release after which it will be removed. When an interface is deprecated, the |
| 25 | page must be updated to indicate the release after which the interface will be |
| 26 | removed. This must be at least 1 full release cycle in future. For non-trivial |
| 27 | interface changes, a `tf-issue`_ should be posted to notify platforms that they |
| 28 | should migrate away from the deprecated interfaces. Platforms are expected to |
| 29 | migrate before the removal of the deprecated interface. |
| 30 | |
| 31 | -------------- |
| 32 | |
| 33 | *Copyright (c) 2018, Arm Limited and Contributors. All rights reserved.* |
| 34 | |
Paul Beesley | ea22512 | 2019-02-11 17:54:45 +0000 | [diff] [blame] | 35 | .. _Porting Guide: ../getting_started/porting-guide.rst |
Paul Beesley | 2437ddc | 2019-02-08 16:43:05 +0000 | [diff] [blame] | 36 | .. _Release information: https://github.com/ARM-software/arm-trusted-firmware/wiki/TF-A-Release-information#removal-of-deprecated-interfaces |
Soby Mathew | f1e6c49 | 2018-10-02 14:01:03 +0100 | [diff] [blame] | 37 | .. _tf-issue: https://github.com/ARM-software/tf-issues/issues |