On Thu, Sep 18, 2025 at 10:46:04AM -0400, Raymond Mao wrote:
> Hi Heinrich,
> 
> On Thu, 18 Sept 2025 at 06:44, Heinrich Schuchardt <xypron.g...@gmx.de> wrote:
> >
> > Am 17. September 2025 17:45:03 MESZ schrieb Tom Rini <tr...@konsulko.com>:
> > >On Wed, Sep 17, 2025 at 10:42:52AM -0400, Raymond Mao wrote:
> > >> Hi Tom,
> > >>
> > >> On Tue, 16 Sept 2025 at 14:27, Tom Rini <tr...@konsulko.com> wrote:
> > >> >
> > >> > On Tue, Sep 16, 2025 at 09:12:25AM -0700, Raymond Mao wrote:
> > >> >
> > >> > > The existing 'conf.qemu_arm64_na' uses 'u-boot.bin' as bios, but for
> > >> > > the case of TF-A, 'u-boot.bin' is BL33 and the assembled 'flash.bin'
> > >> > > is the bios instead, which will be built and assembled at run-time
> > >> > > via a post-buildman script and copied to '/tmp'.
> > >> > >
> > >> > > Moreover, for running TF-A and OP-TEE on qemu, '-m 4G' and
> > >> > > 'virtualization=false,secure=on' are required, and '-semihosting'
> > >> > > should be replaced with its modern alias
> > >> > > '-semihosting-config enable=on,target=native'.
> > >> > >
> > >> > > Last, point to the new helper script 'swtpm-tfa'.
> > >> > >
> > >> > > Signed-off-by: Raymond Mao <raymond....@linaro.org>
> > >> >
> > >> > Lets fixup the current qemu_arm64 conf to have as much in common as
> > >> > possible (4G, modern semihosting flags, etc). Next:
> > >> >
> > >> > > ---
> > >> > >  .../conf.qemu_arm64_fw_handoff_tfa_optee      | 31 
> > >> > > +++++++++++++++++++
> > >> > >  1 file changed, 31 insertions(+)
> > >> > >  create mode 100644 
> > >> > > bin/travis-ci/conf.qemu_arm64_fw_handoff_tfa_optee
> > >> > >
> > >> > > diff --git a/bin/travis-ci/conf.qemu_arm64_fw_handoff_tfa_optee 
> > >> > > b/bin/travis-ci/conf.qemu_arm64_fw_handoff_tfa_optee
> > >> > > new file mode 100644
> > >> > > index 0000000..9aa6d3b
> > >> > > --- /dev/null
> > >> > > +++ b/bin/travis-ci/conf.qemu_arm64_fw_handoff_tfa_optee
> > >> > > @@ -0,0 +1,31 @@
> > >> > > +# Copyright (c) 2025 Linaro Limited
> > >> > > +# Author: Raymond Mao <raymond....@linaro.org>
> > >> > > +# Based on conf.qemu_arm64 which is
> > >> > > +# Copyright (c) 2017 Tuomas Tynkkynen. All rights reserved.
> > >> > > +#
> > >> > > +# Permission is hereby granted, free of charge, to any person 
> > >> > > obtaining a
> > >> > > +# copy of this software and associated documentation files (the 
> > >> > > "Software"),
> > >> > > +# to deal in the Software without restriction, including without 
> > >> > > limitation
> > >> > > +# the rights to use, copy, modify, merge, publish, distribute, 
> > >> > > sublicense,
> > >> > > +# and/or sell copies of the Software, and to permit persons to whom 
> > >> > > the
> > >> > > +# Software is furnished to do so, subject to the following 
> > >> > > conditions:
> > >> > > +#
> > >> > > +# The above copyright notice and this permission notice shall be 
> > >> > > included in
> > >> > > +# all copies or substantial portions of the Software.
> > >> > > +#
> > >> > > +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
> > >> > > EXPRESS OR
> > >> > > +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
> > >> > > MERCHANTABILITY,
> > >> > > +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO 
> > >> > > EVENT SHALL
> > >> > > +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES 
> > >> > > OR OTHER
> > >> > > +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
> > >> > > ARISING
> > >> > > +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
> > >> > > OTHER
> > >> > > +# DEALINGS IN THE SOFTWARE.
> > >> > > +
> > >> > > +console_impl=qemu
> > >> > > +qemu_machine="virt,virtualization=false,secure=on"
> > >> > > +qemu_helper_script="swtpm-tfa"
> > >> > > +qemu_binary="qemu-system-aarch64"
> > >> > > +qemu_extra_args="-m 4G -cpu cortex-a57 -nographic -netdev 
> > >> > > user,id=net0,tftp=${UBOOT_TRAVIS_BUILD_DIR} -device 
> > >> > > e1000,netdev=net0 -device virtio-rng-pci -d unimp 
> > >> > > -semihosting-config enable=on,target=native -chardev 
> > >> > > socket,id=chrtpm,path=/tmp/tpm/swtpm-sock -tpmdev 
> > >> > > emulator,id=tpm0,chardev=chrtpm -device tpm-tis-device,tpmdev=tpm0"
> > >> >
> > >> > Can we line break this? Then make some functional groupings? Thanks.
> > >> >
> > >> I am thinking about to merge this script into the common one
> > >> "conf.qemu_arm64_na", but do you mind to add
> > >> "virtualization=false,secure=on" as a common setting? even though It
> > >> is only needed when running with TF-A/OP-TEE.
> >
> > Main U-Boot is meant to be running in EL2. So why should we start in EL3 
> > without TF-A?
> >
> > Why do you want to disable virtualization?
> >
> 1. That was my original motivation to make a separate config file for
> introducing "secure=on", since it might lead to unpredictable
> behaviours when without TF-A, even tests done normally.
> 2. You are right, virtualization=false can be removed.
> 
> But then we need to make a decision from 2 options:
> 1. Use one set of config/helper scripts for all qemu_arm64 cases,
> ignoring the unpredictable behaviour caused by starting from EL3/EL2.
> 2. Keep the current patch - use separate sets of config/helper to keep
> the concept more clearer. (qemu_helper_script can be just one by using
> args, but does not make too much sense when we still have two config
> files).
> 
> @Tom Rini @Heinrich Schuchardt What are your thoughts?

We should at least make them as common as possible, and more easily
human-readable. They're also just bash shell files so we could source
one and extend the variables in another (and comment on what we're doing
/ why in the file).

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to