From: Andrew Jones <drjones@redhat.com>
To: Alexandru Elisei <alexandru.elisei@arm.com>
Cc: thuth@redhat.com, pbonzini@redhat.com, lvivier@redhat.com,
kvm-ppc@vger.kernel.org, david@redhat.com, frankja@linux.ibm.com,
cohuck@redhat.com, imbrenda@linux.ibm.com,
linux-s390@vger.kernel.org, kvm@vger.kernel.org,
kvmarm@lists.cs.columbia.edu, andre.przywara@arm.com,
maz@kernel.org, vivek.gautam@arm.com
Subject: Re: [kvm-unit-tests RFC PATCH 4/5] scripts: Generate kvmtool standalone tests
Date: Wed, 8 Sep 2021 18:07:43 +0200 [thread overview]
Message-ID: <20210908160743.l4hrl4de7wkxwuda@gator> (raw)
In-Reply-To: <ee11a10a-c3e6-b9ce-81e1-147025a9b5bd@arm.com>
On Wed, Sep 08, 2021 at 04:37:39PM +0100, Alexandru Elisei wrote:
> Hi Drew,
>
> On 9/7/21 11:21 AM, Andrew Jones wrote:
> > On Fri, Jul 02, 2021 at 05:31:21PM +0100, Alexandru Elisei wrote:
> >> Add support for the standalone target when running kvm-unit-tests under
> >> kvmtool.
> >>
> >> Example command line invocation:
> >>
> >> $ ./configure --target=kvmtool
> >> $ make clean && make standalone
> >>
> >> Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
> >> ---
> >> scripts/mkstandalone.sh | 14 +++++++-------
> >> 1 file changed, 7 insertions(+), 7 deletions(-)
> >>
> >> diff --git a/scripts/mkstandalone.sh b/scripts/mkstandalone.sh
> >> index 16f461c06842..d84bdb7e278c 100755
> >> --- a/scripts/mkstandalone.sh
> >> +++ b/scripts/mkstandalone.sh
> >> @@ -44,6 +44,10 @@ generate_test ()
> >> config_export ARCH_NAME
> >> config_export PROCESSOR
> >>
> >> + if [ "$ARCH" = "arm64" ] || [ "$ARCH" = "arm" ]; then
> >> + config_export TARGET
> >> + fi
> > Should export unconditionally, since we'll want TARGET set
> > unconditionally.
>
> Yes, will do.
>
> >
> >> +
> >> echo "echo BUILD_HEAD=$(cat build-head)"
> >>
> >> if [ ! -f $kernel ]; then
> >> @@ -59,7 +63,7 @@ generate_test ()
> >> echo 'export FIRMWARE'
> >> fi
> >>
> >> - if [ "$ENVIRON_DEFAULT" = "yes" ] && [ "$ERRATATXT" ]; then
> >> + if [ "$TARGET" != "kvmtool" ] && [ "$ENVIRON_DEFAULT" = "yes" ] && [ "$ERRATATXT" ]; then
> > I think it would be better to ensure that ENVIRON_DEFAULT is "no" for
> > TARGET=kvmtool in configure.
>
> From looking at the code, it is my understanding that with ENVIRON_DEFAULT=yes, an
> initrd file is generated with the contents of erratatxt and other information, in
> a key=value pair format. This initrd is then passed on to the test (please correct
> me if I'm wrong). With ENVIRON_DEFAULT=no (set via ./configure
> --disable-default-environ), this initrd is not generated.
>
> kvmtool doesn't have support for passing an initrd when loading firmware, so yes,
> I believe the default should be no.
>
> However, I have two questions:
>
> 1. What happens when the user specifically enables the default environ via
> ./configure --enable-default-environ --target=kvmtool? In my opinion, that should
> be an error because the user wants something that is not possible with kvmtool
> (loading an image with --firmware in kvmtool means that the initrd image it not
> loaded into the guest memory and no node is generated for it in the dtb), but I
> would like to hear your thoughts about it.
As part of the forcing ENVIRON_DEFAULT to "no" for kvmtool in configure an
error should be generated if a user tries to explicitly enable it.
>
> 2. If the default environment is disabled, is it still possible for an user to
> pass an initrd via other means? I couldn't find where that is implemented, so I'm
> guessing it's not possible.
Yes, a user could have a KVM_UNIT_TESTS_ENV environment variable set when
they launch the tests. If that variable points to a file then it will get
passed as an initrd. I guess you should also report a warning in arm/run
if KVM_UNIT_TESTS_ENV is set which states that the environment file will
be ignored when running with kvmtool.
There aren't currently any other ways to invoke the addition of the
-initrd command line option, because so far we only support passing a
single file to test (the environment "file"). If we ever want to pass
more files, then we'd need to create a simple file system on the initrd
and make it possible to add -initrd even when no environment is desired.
But, that may never happen.
Thanks,
drew
>
> Thanks,
>
> Alex
>
> >
> >
> >> temp_file ERRATATXT "$ERRATATXT"
> >> echo 'export ERRATATXT'
> >> fi
> >> @@ -95,12 +99,8 @@ function mkstandalone()
> >> echo Written $standalone.
> >> }
> >>
> >> -if [ "$TARGET" = "kvmtool" ]; then
> >> - echo "Standalone tests not supported with kvmtool"
> >> - exit 2
> >> -fi
> >> -
> >> -if [ "$ENVIRON_DEFAULT" = "yes" ] && [ "$ERRATATXT" ] && [ ! -f "$ERRATATXT" ]; then
> >> +if [ "$TARGET" != "kvmtool" ] && [ "$ENVIRON_DEFAULT" = "yes" ] && \
> >> + [ "$ERRATATXT" ] && [ ! -f "$ERRATATXT" ]; then
> >> echo "$ERRATATXT not found. (ERRATATXT=$ERRATATXT)" >&2
> >> exit 2
> >> fi
> >> --
> >> 2.32.0
> >>
> > Thanks,
> > drew
> >
>
next prev parent reply other threads:[~2021-09-08 16:07 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-02 16:31 [kvm-unit-tests RFC PATCH 0/5] arm: Add kvmtool to the runner script Alexandru Elisei
2021-07-02 16:31 ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not available Alexandru Elisei
2021-07-12 16:36 ` Andrew Jones
2021-09-06 10:20 ` Alexandru Elisei
2021-09-06 10:58 ` Andrew Jones
2021-09-06 11:06 ` Alexandru Elisei
2021-07-12 16:51 ` Andre Przywara
2021-07-12 17:07 ` Andrew Jones
2021-07-12 17:12 ` Nadav Amit
2021-07-02 16:31 ` [kvm-unit-tests RFC PATCH 2/5] scripts: Rename run_qemu_status -> run_test_status Alexandru Elisei
2021-07-12 16:37 ` Andrew Jones
2021-07-13 7:45 ` Thomas Huth
2021-07-02 16:31 ` [kvm-unit-tests RFC PATCH 3/5] run_tests.sh: Add kvmtool support Alexandru Elisei
2021-07-12 16:52 ` Andre Przywara
2021-09-06 10:28 ` Alexandru Elisei
2021-09-06 11:01 ` Andrew Jones
2021-09-06 11:07 ` Alexandru Elisei
2021-09-07 10:17 ` Andrew Jones
2021-09-08 14:33 ` Alexandru Elisei
2021-09-08 15:09 ` Andrew Jones
2021-09-08 15:46 ` Alexandru Elisei
2021-09-08 15:49 ` Andrew Jones
2021-09-09 11:33 ` Alexandru Elisei
2021-09-09 12:49 ` Andrew Jones
2021-07-02 16:31 ` [kvm-unit-tests RFC PATCH 4/5] scripts: Generate kvmtool standalone tests Alexandru Elisei
2021-09-07 10:21 ` Andrew Jones
2021-09-08 15:37 ` Alexandru Elisei
2021-09-08 16:07 ` Andrew Jones [this message]
2021-09-09 11:11 ` Alexandru Elisei
2021-09-09 13:05 ` Andrew Jones
2021-09-09 13:47 ` Alexandru Elisei
2021-09-09 13:54 ` Andrew Jones
2021-09-09 14:42 ` Alexandru Elisei
2021-07-02 16:31 ` [kvm-unit-tests RFC PATCH 5/5] configure: Ignore --erratatxt when --target=kvmtool Alexandru Elisei
2021-09-07 10:25 ` Andrew Jones
2021-09-08 16:13 ` Alexandru Elisei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210908160743.l4hrl4de7wkxwuda@gator \
--to=drjones@redhat.com \
--cc=alexandru.elisei@arm.com \
--cc=andre.przywara@arm.com \
--cc=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=imbrenda@linux.ibm.com \
--cc=kvm-ppc@vger.kernel.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-s390@vger.kernel.org \
--cc=lvivier@redhat.com \
--cc=maz@kernel.org \
--cc=pbonzini@redhat.com \
--cc=thuth@redhat.com \
--cc=vivek.gautam@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).