mbox series

[v2,00/28] sunxi: use mainline arm-trusted-firmware

Message ID 20210609200003.2866122-1-geomatsi@gmail.com
Headers show
Series sunxi: use mainline arm-trusted-firmware | expand

Message

Sergey Matyukevich June 9, 2021, 7:59 p.m. UTC
Hi all,

This is the second revision of the patch set that updates BSP on H5/A64
sunxi boards. The following changes are suggested:

- introduce new ATF option to explicitly disable GCC stack protection
  when platform does not support it
- switch from early Allwinner ATF port to mainline ATF for all H6/A64 boards
- bump Linux kernel version
- bump U-Boot version
  -- switch to combined u-boot-sunxi-with-spl.bin image
  -- for now disable support for Allwinner SCP firmware

Note that only ATF is modified for amarula_a64_relic_defconfig. That
board uses vendor kernel from their github repo. I do not have any
idea which tag/branch is better to use.

Finally, let me re-iterate once again: I have only orangepi-zero-plus2
board at my disposal. So only this board has been tested. For all the
other boards only build tests have been completed. ATF provides only
basic support for H5/A64 and SCP firmware is disabled, so I do not
expect any surprises here. But still, any help with boot tests on
other H5/A64 sunxi boards is more than welcome.

Regards,
Sergey

v2:
- as per Heiko Thiery suggestion, bump mainline ATF version to v2.5
- cleanup commit messages: use 'mainline' instead of 'upstream'


Sergey Matyukevich (28):
  boot/arm-trusted-firmware: option to disable stack protection
  support/testing: switch TestATFAllwinner to mainline ATF
  support/testing/tests/boot/test_atf: update U-Boot in TestATFAllwinner
  configs/orangepi_zero_plus2_defconfig: switch to mainline ATF
  configs/bananapi_m64_defconfig: switch to mainline ATF
  configs/orangepi_zero_plus_defconfig: switch to mainline ATF
  configs/orangepi_pc2_defconfig: switch to mainline ATF
  configs/orangepi_prime_defconfig: switch to mainline ATF
  configs/orangepi_win_defconfig: switch to mainline ATF
  configs/friendlyarm_nanopi_a64_defconfig: switch to mainline ATF
  configs/friendlyarm_nanopi_neo2_defconfig: switch to mainline ATF
  configs/friendlyarm_nanopi_neo_plus2_defconfig: switch to mainline ATF
  configs/amarula_a64_relic_defconfig: switch to mainline ATF
  configs/olimex_a64_olinuxino_defconfig: switch to mainline ATF
  configs/pine64_defconfig: switch to mainline ATF
  configs/pine64_sopine_defconfig: switch to mainline ATF
  configs/orangepi-zero-plus2: bump BSP versions
  configs/bananapi_m64_defconfig: bump BSP versions
  configs/orangepi_zero_plus_defconfig: bump BSP versions
  configs/orangepi_pc2_defconfig: bump BSP versions
  configs/orangepi_prime_defconfig: bump BSP versions
  configs/orangepi_win_defconfig: bump BSP versions
  configs/friendlyarm_nanopi_a64_defconfig: bump BSP versions
  configs/friendlyarm_nanopi_neo2_defconfig: bump BSP versions
  configs/friendlyarm_nanopi_neo_plus2_defconfig: bump BSP versions
  configs/olimex_a64_olinuxino_defconfig: bump BSP versions
  configs/pine64_defconfig: bump BSP versions
  configs/pine64_sopine_defconfig: bump BSP versions

 board/bananapi/bananapi-m64/genimage.cfg      | 10 ++------
 board/friendlyarm/nanopi-a64/genimage.cfg     | 10 ++------
 .../friendlyarm/nanopi-neo-plus2/genimage.cfg | 10 ++------
 board/friendlyarm/nanopi-neo2/genimage.cfg    | 10 ++------
 board/olimex/a64-olinuxino/genimage.cfg       | 10 ++------
 board/orangepi/orangepi-pc2/genimage.cfg      | 10 ++------
 board/orangepi/orangepi-prime/genimage.cfg    | 10 ++------
 board/orangepi/orangepi-win/genimage.cfg      | 10 ++------
 .../orangepi/orangepi-zero-plus/genimage.cfg  | 10 ++------
 .../orangepi/orangepi-zero-plus2/genimage.cfg | 10 ++------
 board/pine64/pine64/genimage.cfg              | 10 ++------
 board/pine64/sopine/genimage.cfg              | 10 ++------
 boot/arm-trusted-firmware/Config.in           |  7 ++++++
 .../arm-trusted-firmware.mk                   |  4 ++++
 configs/amarula_a64_relic_defconfig           |  8 +++----
 configs/bananapi_m64_defconfig                | 21 ++++++++---------
 configs/friendlyarm_nanopi_a64_defconfig      | 21 ++++++++---------
 configs/friendlyarm_nanopi_neo2_defconfig     | 21 ++++++++---------
 .../friendlyarm_nanopi_neo_plus2_defconfig    | 20 ++++++++--------
 configs/olimex_a64_olinuxino_defconfig        | 21 ++++++++---------
 configs/orangepi_pc2_defconfig                | 21 ++++++++---------
 configs/orangepi_prime_defconfig              | 21 ++++++++---------
 configs/orangepi_win_defconfig                | 23 ++++++++++---------
 configs/orangepi_zero_plus2_defconfig         | 19 ++++++++-------
 configs/orangepi_zero_plus_defconfig          | 19 ++++++++-------
 configs/pine64_defconfig                      | 22 +++++++++---------
 configs/pine64_sopine_defconfig               | 21 ++++++++---------
 support/testing/tests/boot/test_atf.py        | 16 ++++++-------
 28 files changed, 168 insertions(+), 237 deletions(-)

Comments

Thomas Petazzoni June 10, 2021, 1:22 p.m. UTC | #1
Hello Sergey,

Thanks a lot for this work! See below some comments/doubts, though.

On Wed,  9 Jun 2021 22:59:35 +0300
Sergey Matyukevich <geomatsi@gmail.com> wrote:

> Finally, let me re-iterate once again: I have only orangepi-zero-plus2
> board at my disposal. So only this board has been tested. For all the
> other boards only build tests have been completed. ATF provides only
> basic support for H5/A64 and SCP firmware is disabled, so I do not
> expect any surprises here. But still, any help with boot tests on
> other H5/A64 sunxi boards is more than welcome.

Then, I'm not sure of the approach. Indeed, the defconfigs are really
meant to be configurations that have been tested on HW. If we start
changing them without testing them on HW, their purpose kind of goes
away. What is your plan here? Wait for the initial submitters to
confirm that the change is OK and working on HW ? It might take a
while. Or should we give up on that promise that all defconfigs have
been tested on HW ?

Thanks!

Thomas
Sergey Matyukevich June 10, 2021, 7:37 p.m. UTC | #2
Hello Thomas,

> Thanks a lot for this work! See below some comments/doubts, though.
> 
> On Wed,  9 Jun 2021 22:59:35 +0300
> Sergey Matyukevich <geomatsi@gmail.com> wrote:
> 
> > Finally, let me re-iterate once again: I have only orangepi-zero-plus2
> > board at my disposal. So only this board has been tested. For all the
> > other boards only build tests have been completed. ATF provides only
> > basic support for H5/A64 and SCP firmware is disabled, so I do not
> > expect any surprises here. But still, any help with boot tests on
> > other H5/A64 sunxi boards is more than welcome.
> 
> Then, I'm not sure of the approach. Indeed, the defconfigs are really
> meant to be configurations that have been tested on HW. If we start
> changing them without testing them on HW, their purpose kind of goes
> away. What is your plan here? Wait for the initial submitters to
> confirm that the change is OK and working on HW ? It might take a
> while. Or should we give up on that promise that all defconfigs have
> been tested on HW ?

I believe that promise should be kept. My plan is to wait for a while
and to collect feedback from the boards submitters/maintainers, if any. 
In the meantime we can come to the decision on TF-A stack protection.
Then, final version of the patch set will include only tested boards.

Regards,
Sergey
Yann E. MORIN June 24, 2021, 9:25 p.m. UTC | #3
Sergey, All,

On 2021-06-10 22:37 +0300, Sergey Matyukevich spake thusly:
> > Thanks a lot for this work! See below some comments/doubts, though.
> > 
> > On Wed,  9 Jun 2021 22:59:35 +0300
> > Sergey Matyukevich <geomatsi@gmail.com> wrote:
> > 
> > > Finally, let me re-iterate once again: I have only orangepi-zero-plus2
> > > board at my disposal. So only this board has been tested. For all the
> > > other boards only build tests have been completed. ATF provides only
> > > basic support for H5/A64 and SCP firmware is disabled, so I do not
> > > expect any surprises here. But still, any help with boot tests on
> > > other H5/A64 sunxi boards is more than welcome.
> > 
> > Then, I'm not sure of the approach. Indeed, the defconfigs are really
> > meant to be configurations that have been tested on HW. If we start
> > changing them without testing them on HW, their purpose kind of goes
> > away. What is your plan here? Wait for the initial submitters to
> > confirm that the change is OK and working on HW ? It might take a
> > while. Or should we give up on that promise that all defconfigs have
> > been tested on HW ?
> 
> I believe that promise should be kept. My plan is to wait for a while
> and to collect feedback from the boards submitters/maintainers, if any. 
> In the meantime we can come to the decision on TF-A stack protection.
> Then, final version of the patch set will include only tested boards.

I haven't seen a single reply from the board custodians, so I'm marking
this whole series as rejected for now. If you have some of these boards
available on your desk, it would be great to respin a shorter series
just for those boards you could test against.

I've just left the first patch as pending, though, because there is
still something to be done about the issue.

Thanks! :-)

Regards,
Yann E. MORIN.