Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 May 2023 22:59:54 +0100
From:      Jessica Clarke <jrtc27@freebsd.org>
To:        Kyle Evans <kevans@FreeBSD.org>
Cc:        "src-committers@freebsd.org" <src-committers@FreeBSD.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@FreeBSD.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org>
Subject:   Re: git: ccb59683b983 - main - arm64: add tests for swp/swpb emulation
Message-ID:  <663D9FB2-D1EF-4D51-9FB1-038AF6AA98C0@freebsd.org>
In-Reply-To: <202305151542.34FFgONF071780@gitrepo.freebsd.org>
References:  <202305151542.34FFgONF071780@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 15 May 2023, at 16:42, Kyle Evans <kevans@FreeBSD.org> wrote:
>=20
> The branch main has been updated by kevans:
>=20
> URL: =
https://cgit.FreeBSD.org/src/commit/?id=3Dccb59683b98360afaf5b5bb641a68fea=
22c68d0b
>=20
> commit ccb59683b98360afaf5b5bb641a68fea22c68d0b
> Author:     Kyle Evans <kevans@FreeBSD.org>
> AuthorDate: 2023-05-15 15:42:16 +0000
> Commit:     Kyle Evans <kevans@FreeBSD.org>
> CommitDate: 2023-05-15 15:42:16 +0000
>=20
>    arm64: add tests for swp/swpb emulation
>=20
>    One test is suitable to be hooked up to the build, so I've done =
this
>    here.  The other test lives in tools/regression because failure is =
a
>    bit more subjective -- generally, one runs it for some unbounded =
amount
>    of time and observe if it eventually exits because two threads =
acquired
>    the same mutex.
>=20
>    Reviewed by:    imp, mmel
>    Sponsored by:   Stormshield
>    Sponsored by:   Klara, Inc.
>    Differential Revision:  https://reviews.freebsd.org/D39668
> ---
> etc/mtree/BSD.tests.dist                          |   2 +
> tests/sys/Makefile                                |   1 +
> tests/sys/compat32/Makefile                       |   6 +
> tests/sys/compat32/Makefile.inc                   |   4 +
> tests/sys/compat32/aarch64/Makefile               |  24 ++
> tests/sys/compat32/aarch64/common.sh              |   9 +
> tests/sys/compat32/aarch64/swp_cond_test.sh       |  14 +
> tests/sys/compat32/aarch64/swp_cond_test_impl.S   | 413 =
++++++++++++++++++++++
> tests/sys/compat32/aarch64/swp_test.sh            |  14 +
> tests/sys/compat32/aarch64/swp_test_impl.S        | 216 +++++++++++
> tools/regression/compat32/aarch64/Makefile        |   4 +
> tools/regression/compat32/aarch64/swp_test_impl.S | 410 =
+++++++++++++++++++++
> 12 files changed, 1117 insertions(+)
>=20
> ...
> diff --git a/tests/sys/compat32/aarch64/Makefile =
b/tests/sys/compat32/aarch64/Makefile
> new file mode 100644
> index 000000000000..716182b15d9c
> --- /dev/null
> +++ b/tests/sys/compat32/aarch64/Makefile
> @@ -0,0 +1,24 @@
> +PACKAGE=3D tests
> +FILESGROUPS+=3D asmprogs
> +
> +ACFLAGS=3D -target armv7-unknown-freebsd${OS_REVISION} -nostdlib =
-Wl,-e -Wl,main -static

This won=E2=80=99t work with GCC, nor will it work with an LLVM built =
with only
AArch64 enabled as a target (e.g. -DWITHOUT_LLVM_TARGET_ALL
-DWITHOUT_LLVM_TARGET_ARM; latter is needed since we do default to
enabling ARM if AArch64 is even for a cut-down toolchain so that -m32
works). This is why the freebsd32 sigcode in arm64 kernels is written
as hex (with disassembly comments) rather than assembled from proper
source.

Jess




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?663D9FB2-D1EF-4D51-9FB1-038AF6AA98C0>