blob: bdf383db74cb22ab8336595730de0e36c4ed06a6 [file] [log] [blame]
Deployment Bot (from Travis CI)6d7e6e92021-06-14 19:18:41 +00001op-build Linux Kernel
2=====================
3
4The skiroot/Petitboot kernel is currently based on the 5.3 series.
5
6Submitting a patch
7------------------
8
9If you require a patch added to the firmware, follow these steps:
10
111. Submit your patch upstream. It doesn’t need to be upstream, but it
12 should be on it’s way
132. Send a pull request or a ``git format-patch`` formatted patch series
14 to openpower-firmware@lists.ozlabs.org, and cc joel@jms.id.au. Be
15 sure to use ``--suppress-cc=sob`` when generating the patches so we
16 don’t spam the community. The current tree is based on 5.1-stable
17 (although we will always move to the latest stable kernel ASAP).
18
19Bug fixes
20---------
21
22Whenever a stable release is tagged in
23https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/,
24we will rebase our patches on top of that and create a new release.
25
26If you are submitting patches upstream that you want to be included,
27then ensure you cc stable as per the
28`rules <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/stable_kernel_rules.txt>`__.
29
30Versioning
31----------
32
33Versions are the upstream version number, followed by ``-openpowerN``,
34where N is the revision that counts up from 1 for the given upstream
35version number. These versions will be present as tags in the git
36repository hosted at https://github.com/open-power/linux.
37
38We aim to follow "the latest upstream release".
39
40For op-build stable trees, we follow the latest stable release of the
41kernel that particular op-build release was made with. Since op-build
42stable releases may outlast how long an upstream kernel is maintain for,
43we will move up the kernel version we use until the next LTS kernel.
44Once on an LTS kernel, an op-build stable release will stick with that
45version.
46
47Tree and patches
48----------------
49
50The kernel tree hosted at https://github.com/open-power/linux contains
51the current release plus a set of patches that we carry. Ideally there
52would be no patches carried, as everything should be upstream.
53
54We take the commits in this tree between the upstream tag and the
55openpower tag and generate a series of patches that are imported into
56the op-build Buildroot overlay, and placed in
57`op-build/openpower/linux <https://github.com/open-power/op-build/tree/master/openpower/linux>`_.
58op-build then fetches the upstream tarball and applies these patches.
59This way we don’t have to clone an entire tree when doing an op-build
60build.
61
62All patches are to head upstream *first*. There is a zero chance that
63op-build will carry kernel patches for any time greater than "until the
64next kernel release", and even then, only in *exceptional* circumstances.
65
66Patches in the tree
67-------------------
68
69- xhci: Reset controller on xhci shutdown