You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
6.4 KiB
129 lines
6.4 KiB
Contributing to Trusted Firmware-A
|
|
==================================
|
|
|
|
Getting Started
|
|
---------------
|
|
|
|
- Make sure you have a `GitHub account`_.
|
|
- Create an `issue`_ for your work if one does not already exist. This gives
|
|
everyone visibility of whether others are working on something similar. Arm
|
|
licensees may contact Arm directly via their partner managers instead if
|
|
they prefer.
|
|
|
|
- Note that the `issue`_ tracker for this project is in a separate
|
|
`issue tracking repository`_. Please follow the guidelines in that
|
|
repository.
|
|
- If you intend to include Third Party IP in your contribution, please
|
|
raise a separate `issue`_ for this and ensure that the changes that
|
|
include Third Party IP are made on a separate topic branch.
|
|
|
|
- `Fork`_ `arm-trusted-firmware`_ on GitHub.
|
|
- Clone the fork to your own machine.
|
|
- Create a local topic branch based on the `arm-trusted-firmware`_ ``master``
|
|
branch.
|
|
|
|
Making Changes
|
|
--------------
|
|
|
|
- Make commits of logical units. See these general `Git guidelines`_ for
|
|
contributing to a project.
|
|
- Follow the `Linux coding style`_; this style is enforced for the TF-A
|
|
project (style errors only, not warnings).
|
|
|
|
- Use the checkpatch.pl script provided with the Linux source tree. A
|
|
Makefile target is provided for convenience (see section 2 in the
|
|
`User Guide`_).
|
|
|
|
- Keep the commits on topic. If you need to fix another bug or make another
|
|
enhancement, please create a separate `issue`_ and address it on a separate
|
|
topic branch.
|
|
- Avoid long commit series. If you do have a long series, consider whether
|
|
some commits should be squashed together or addressed in a separate topic.
|
|
- Make sure your commit messages are in the proper format. If a commit fixes
|
|
a GitHub `issue`_, include a reference (e.g.
|
|
"fixes arm-software/tf-issues#45"); this ensures the `issue`_ is
|
|
`automatically closed`_ when merged into the `arm-trusted-firmware`_ ``master``
|
|
branch.
|
|
- Where appropriate, please update the documentation.
|
|
|
|
- Consider whether the `User Guide`_, `Porting Guide`_, `Firmware Design`_ or
|
|
other in-source documentation needs updating.
|
|
- Ensure that each changed file has the correct copyright and license
|
|
information. Files that entirely consist of contributions to this
|
|
project should have a copyright notice and BSD-3-Clause SPDX license
|
|
identifier of the form as shown in `license.rst`_. Files that contain
|
|
changes to imported Third Party IP files should retain their original
|
|
copyright and license notices. For significant contributions you may
|
|
add your own copyright notice in following format:
|
|
|
|
::
|
|
|
|
Portions copyright (c) [XXXX-]YYYY, <OWNER>. All rights reserved.
|
|
|
|
where XXXX is the year of first contribution (if different to YYYY) and
|
|
YYYY is the year of most recent contribution. <OWNER> is your name or
|
|
your company name.
|
|
- If you are submitting new files that you intend to be the technical
|
|
sub-maintainer for (for example, a new platform port), then also update
|
|
the `Maintainers`_ file.
|
|
- For topics with multiple commits, you should make all documentation
|
|
changes (and nothing else) in the last commit of the series. Otherwise,
|
|
include the documentation changes within the single commit.
|
|
|
|
- Please test your changes. As a minimum, ensure UEFI boots to the shell on
|
|
the Foundation FVP. See `Running the software on FVP`_ for more information.
|
|
|
|
Submitting Changes
|
|
------------------
|
|
|
|
- Ensure that each commit in the series has at least one ``Signed-off-by:``
|
|
line, using your real name and email address. The names in the
|
|
``Signed-off-by:`` and ``Author:`` lines must match. If anyone else contributes
|
|
to the commit, they must also add their own ``Signed-off-by:`` line.
|
|
By adding this line the contributor certifies the contribution is made under
|
|
the terms of the `Developer Certificate of Origin (DCO)`_.
|
|
- Push your local changes to your fork of the repository.
|
|
- Submit a `pull request`_ to the `arm-trusted-firmware`_ ``integration`` branch.
|
|
|
|
- The changes in the `pull request`_ will then undergo further review and
|
|
testing by the `Maintainers`_. Any review comments will be made as
|
|
comments on the `pull request`_. This may require you to do some rework.
|
|
|
|
- When the changes are accepted, the `Maintainers`_ will integrate them.
|
|
|
|
- Typically, the `Maintainers`_ will merge the `pull request`_ into the
|
|
``integration`` branch within the GitHub UI, creating a merge commit.
|
|
- Please avoid creating merge commits in the `pull request`_ itself.
|
|
- If the `pull request`_ is not based on a recent commit, the `Maintainers`_
|
|
may rebase it onto the ``master`` branch first, or ask you to do this.
|
|
- If the `pull request`_ cannot be automatically merged, the `Maintainers`_
|
|
will ask you to rebase it onto the ``master`` branch.
|
|
- After final integration testing, the `Maintainers`_ will push your merge
|
|
commit to the ``master`` branch. If a problem is found during integration,
|
|
the merge commit will be removed from the ``integration`` branch and the
|
|
`Maintainers`_ will ask you to create a new pull request to resolve the
|
|
problem.
|
|
- Please do not delete your topic branch until it is safely merged into
|
|
the ``master`` branch.
|
|
|
|
--------------
|
|
|
|
*Copyright (c) 2013-2018, Arm Limited and Contributors. All rights reserved.*
|
|
|
|
.. _GitHub account: https://github.com/signup/free
|
|
.. _issue: https://github.com/ARM-software/tf-issues/issues
|
|
.. _issue tracking repository: https://github.com/ARM-software/tf-issues
|
|
.. _Fork: https://help.github.com/articles/fork-a-repo
|
|
.. _arm-trusted-firmware: https://github.com/ARM-software/arm-trusted-firmware
|
|
.. _Git guidelines: http://git-scm.com/book/ch5-2.html
|
|
.. _Linux coding style: https://github.com/torvalds/linux/blob/master/Documentation/process/coding-style.rst
|
|
.. _User Guide: ./docs/user-guide.rst
|
|
.. _automatically closed: https://help.github.com/articles/closing-issues-via-commit-messages
|
|
.. _Porting Guide: ./docs/porting-guide.rst
|
|
.. _Firmware Design: ./docs/firmware-design.rst
|
|
.. _license.rst: ./license.rst
|
|
.. _Acknowledgements: ./acknowledgements.rst
|
|
.. _Maintainers: ./maintainers.rst
|
|
.. _Running the software on FVP: ./docs/user-guide.rst#user-content-running-the-software-on-fvp
|
|
.. _Developer Certificate of Origin (DCO): ./dco.txt
|
|
.. _pull request: https://help.github.com/articles/using-pull-requests
|
|
|