From: Alexandru Elisei <alexandru.elisei@arm.com>
To: Andrew Jones <andrew.jones@linux.dev>
Cc: eric.auger@redhat.com, lvivier@redhat.com, thuth@redhat.com,
frankja@linux.ibm.com, imbrenda@linux.ibm.com, nrb@linux.ibm.com,
david@redhat.com, pbonzini@redhat.com, kvmarm@lists.linux.dev,
linuxppc-dev@lists.ozlabs.org, kvm-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, vladimir.murzin@arm.com
Subject: Re: [kvm-unit-tests PATCH v1 1/5] configure: Document that the architecture name 'aarch64' is also supported
Date: Tue, 14 Jan 2025 17:03:20 +0000 [thread overview]
Message-ID: <Z4aY2AKSaxKDY5Hq@arm.com> (raw)
In-Reply-To: <20250113-0fe04c6089726d1d06a254ec@orel>
Hi Drew,
On Mon, Jan 13, 2025 at 04:01:58PM +0100, Andrew Jones wrote:
> On Fri, Jan 10, 2025 at 01:58:44PM +0000, Alexandru Elisei wrote:
> > $arch, on arm64, defaults to 'aarch64', and later in the script is replaced
> > by 'arm64'. Intentional or not, document that the name 'aarch64' is also
> > supported when configuring for the arm64 architecture. This has been the
> > case since the initial commit that added support for the arm64
> > architecture, commit 39ac3f8494be ("arm64: initial drop").
> >
> > The help text for --arch changes from*:
> >
> > --arch=ARCH architecture to compile for (aarch64). ARCH can be one of:
> > arm, arm64, i386, ppc64, riscv32, riscv64, s390x, x86_64
> >
> > to:
> >
> > --arch=ARCH architecture to compile for (aarch64). ARCH can be one of:
> > arm, arm64/aarch64, i386, ppc64, riscv32, riscv64, s390x, x86_64
> >
> > *Worth pointing out that the default architecture is 'aarch64', even though
> > the rest of the help text doesn't have it as one of the supported
> > architectures.
> >
> > Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
> > ---
> > configure | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/configure b/configure
> > index 86cf1da36467..5b0a2d7f39c0 100755
> > --- a/configure
> > +++ b/configure
> > @@ -47,7 +47,7 @@ usage() {
> >
> > Options include:
> > --arch=ARCH architecture to compile for ($arch). ARCH can be one of:
> > - arm, arm64, i386, ppc64, riscv32, riscv64, s390x, x86_64
> > + arm, arm64/aarch64, i386, ppc64, riscv32, riscv64, s390x, x86_64
> > --processor=PROCESSOR processor to compile for ($arch)
> > --target=TARGET target platform that the tests will be running on (qemu or
> > kvmtool, default is qemu) (arm/arm64 only)
> > --
> > 2.47.1
> >
>
> I'd prefer to support --arch=aarch64, but then always refer to it as only
> arm64 everywhere else. We need to support arch=aarch64 since that's what
> 'uname -m' returns, but I don't think we need to change the help text for
> it. If we don't want to trust our users to figure out arm64==aarch64,
I sincerely dislike the fact that in the help text the default architecture on
arm64 is not among the list of supported architectures.
> then we can do something like
>
> @@ -216,12 +197,12 @@ while [[ $optno -le $argc ]]; do
> werror=
> ;;
> --help)
> - usage
> + do_help=1
> ;;
> *)
> echo "Unknown option '$opt'"
> echo
> - usage
> + do_help=1
> ;;
> esac
> done
>
> And then only do
>
> if [ $do_help ]; then
> usage
> fi
>
> after $arch and other variables have had a chance to be converted.
That still doesn't work if displaying the help text on an arm64 board:
$arch=aarch64 if compiling natively, because that's what uname -m prints, and
$arch gets converted to 'arm64' later in the script. We could move the
conversion before calling usage, but at that point I wonder if it wouldn't be
better to never set $arch to 'aarch64' in the first place.
If you don't want to modify the help text to say that aarch64 is supported, even
though it's displayed as the default architecture on arm64, we could modify
$arch to never be set to 'aarch64', i.e:
diff --git a/configure b/configure
index 86cf1da36467..1362b68dd68b 100755
--- a/configure
+++ b/configure
@@ -15,8 +15,8 @@ objdump=objdump
readelf=readelf
ar=ar
addr2line=addr2line
-arch=$(uname -m | sed -e 's/i.86/i386/;s/arm64/aarch64/;s/arm.*/arm/;s/ppc64.*/ppc64/')
-host=$arch
+host=$(uname -m | sed -e 's/i.86/i386/;s/arm64/aarch64/;s/arm.*/arm/;s/ppc64.*/ppc64/')
+arch=$(echo $host | sed -e 's/aarch64/arm64/')
cross_prefix=
endian=""
pretty_print_stacks=yes
and keep the conversion from aarch64 to arm64 where it is, and still keep it
undocumented, just in case someone is using that.
($host still needs to be aarch64, because that's the name of the qemu
executable).
Thanks,
Alex
next prev parent reply other threads:[~2025-01-14 17:04 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-10 13:58 [kvm-unit-tests PATCH v1 0/5] arm64: Change the default --processor to max Alexandru Elisei
2025-01-10 13:58 ` [kvm-unit-tests PATCH v1 1/5] configure: Document that the architecture name 'aarch64' is also supported Alexandru Elisei
2025-01-13 15:01 ` Andrew Jones
2025-01-14 17:03 ` Alexandru Elisei [this message]
2025-01-14 18:39 ` Andrew Jones
2025-01-15 9:56 ` Alexandru Elisei
2025-01-10 13:58 ` [kvm-unit-tests PATCH v1 2/5] configure: Display the default processor for arm and arm64 Alexandru Elisei
2025-01-13 15:11 ` Andrew Jones
2025-01-14 17:17 ` Alexandru Elisei
2025-01-14 18:51 ` Andrew Jones
2025-01-15 9:55 ` Alexandru Elisei
2025-01-15 11:47 ` Andrew Jones
2025-01-10 13:58 ` [kvm-unit-tests PATCH v1 3/5] arm64: Implement the ./configure --processor option Alexandru Elisei
2025-01-13 15:13 ` Andrew Jones
2025-01-10 13:58 ` [kvm-unit-tests PATCH v1 4/5] arm/arm64: Add support for --processor=max Alexandru Elisei
2025-01-13 15:21 ` Andrew Jones
2025-01-14 17:20 ` Alexandru Elisei
2025-01-10 13:58 ` [kvm-unit-tests PATCH v1 5/5] configure: arm64: Make 'max' the default for --processor Alexandru Elisei
2025-01-13 15:29 ` Andrew Jones
2025-01-14 17:20 ` Alexandru Elisei
2025-01-13 10:17 ` [kvm-unit-tests PATCH v1 0/5] arm64: Change the default --processor to max Vladimir Murzin
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=Z4aY2AKSaxKDY5Hq@arm.com \
--to=alexandru.elisei@arm.com \
--cc=andrew.jones@linux.dev \
--cc=david@redhat.com \
--cc=eric.auger@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=imbrenda@linux.ibm.com \
--cc=kvm-riscv@lists.infradead.org \
--cc=kvmarm@lists.linux.dev \
--cc=linux-s390@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lvivier@redhat.com \
--cc=nrb@linux.ibm.com \
--cc=pbonzini@redhat.com \
--cc=thuth@redhat.com \
--cc=vladimir.murzin@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).