CI: Add tests for gitlab and azure

Add tests that check that SPL can generate a standard passage on ARM and
that U-Boot proper can accept it successfully.

Series-change: 4
- Finish the commit message

Series-to: u-boot
Series-cc: ilias, heinrich, trini
Series-cc: François Ozog <francois.ozog@linaro.org>
Series-cc: Bill Mills <bill.mills@linaro.org>
Series-cc: Raymond Mao <raymond.mao@linaro.org>
Series-version: 5
Series-process-log: sort, uniq
Series-links: 3:453293
Cover-letter:
passage: Define a standard for firmware data flow

This series adds a standard way of passing information between different
firmware phases. This already exists in U-Boot at a very basic level, in
the form of a bloblist containing an spl_handoff structure, but the intent
here is to define something useful across projects.

The need for this is growing as firmware fragments into multiple binaries
each with its own purpose. Without any run-time connection, we must rely
on build-time settings which are brittle and painful to keep in sync.

This feature is named 'standard passage' since the name is more unique
than many others that could be chosen, it is a passage in the sense that
information is flowing from one place to another and it is standard,
because that is what we want to create.

The implementation is mostly a pointer to a bloblist in a register, with
an extra register to point to a devicetree, for more complex data. This
should cover all cases (small memory footprint as well as complex data
flow) and be easy enough to implement on all architectures.

The emphasis is on enabling open communcation between binaries, not
enabling passage of secret, undocumented data, although this is possible
in a private environment.

To try this out:

$ ./scripts/build-qemu -a arm -rsx

This will build and run QEMU for arm64 and you should see the standdard
passage working:

   Core:  49 devices, 13 uclasses, devicetree: passage

This series is available at u-boot-dm/pass-working
END

Cover-changes: 2
- Rebase to master (dropping bloblist patches already applied)

Series-changes: 3
- Add tests for azure
- Add test for aarch64

Signed-off-by: Simon Glass <sjg@chromium.org>
Change-Id: I321f53b875ffb594a569796509e64830b9f3fe09
This commit is contained in:
Simon Glass
2021-10-30 09:17:50 -06:00
parent e5d59e202a
commit e92762ef6d
2 changed files with 18 additions and 0 deletions

View File

@@ -458,6 +458,12 @@ stages:
qemu_arm_sbsa_ref:
TEST_PY_BD: "qemu-arm-sbsa"
TEST_PY_TEST_SPEC: "not sleep"
qemu_arm_spl:
TEST_PY_BD: "qemu_arm_spl"
TEST_PY_TEST_SPEC: "test_passage"
qemu_arm64_spl:
TEST_PY_BD: "qemu_arm64_spl"
TEST_PY_TEST_SPEC: "test_passage"
qemu_m68k:
TEST_PY_BD: "M5208EVBE"
TEST_PY_ID: "--id qemu"

View File

@@ -417,6 +417,18 @@ qemu_arm_sbsa test.py:
TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn
qemu_arm spl_test.py:
variables:
TEST_PY_BD: "qemu_arm_spl"
TEST_PY_TEST_SPEC: "test_passage"
<<: *buildman_and_testpy_dfn
qemu_arm64 spl_test.py:
variables:
TEST_PY_BD: "qemu_arm64_spl"
TEST_PY_TEST_SPEC: "test_passage"
<<: *buildman_and_testpy_dfn
qemu_m68k test.py:
variables:
TEST_PY_BD: "M5208EVBE"