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