[PATCH] vfio: selftests: Build tests on aarch64

Ted Logan posted 1 patch 2 weeks, 5 days ago
There is a newer version of this series
tools/testing/selftests/vfio/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] vfio: selftests: Build tests on aarch64
Posted by Ted Logan 2 weeks, 5 days ago
Also build vfio self-tests on aarch64 variants, in addition to arm64 and
x86_64.

Reported-by: Matt Evans <mattev@meta.com>
Closes: https://lore.kernel.org/all/e51b4ff2-13c4-47d4-b781-3dcbd740d274@meta.com/
---
Signed-off-by: Ted Logan <tedlogan@fb.com>
---
 tools/testing/selftests/vfio/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/vfio/Makefile b/tools/testing/selftests/vfio/Makefile
index 8e90e409e91d..98bc8d6271a4 100644
--- a/tools/testing/selftests/vfio/Makefile
+++ b/tools/testing/selftests/vfio/Makefile
@@ -1,4 +1,4 @@
-ARCH ?= $(shell uname -m)
+ARCH ?= $(shell uname -m | sed -e 's/aarch64.*/arm64/')
 
 ifeq (,$(filter $(ARCH),arm64 x86_64))
 # Do nothing on unsupported architectures

---
base-commit: 96ca4caf9066f5ebd35b561a521af588a8eb0215
change-id: 20260317-vfio-selftests-aarch64-636abf0f7674

Best regards,
-- 
Ted Logan <tedlogan@fb.com>
Re: [PATCH] vfio: selftests: Build tests on aarch64
Posted by David Matlack 2 weeks, 4 days ago
On 2026-03-17 04:25 PM, Ted Logan wrote:
> Also build vfio self-tests on aarch64 variants, in addition to arm64 and

s/self-tests/selftests/

> x86_64.

This could be worded better to clarify that this is about fixing the
VFIO selftests to allow native builds on arm64 host platforms.

> 
> Reported-by: Matt Evans <mattev@meta.com>
> Closes: https://lore.kernel.org/all/e51b4ff2-13c4-47d4-b781-3dcbd740d274@meta.com/

Please also add a fixes tag, since it was not the intent of the original
commit was to disallow native arm64 builds.

  Fixes: a55d4bbbe644 ("vfio: selftests: only build tests on arm64 and x86_64")

> ---
> Signed-off-by: Ted Logan <tedlogan@fb.com>
> ---
>  tools/testing/selftests/vfio/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/vfio/Makefile b/tools/testing/selftests/vfio/Makefile
> index 8e90e409e91d..98bc8d6271a4 100644
> --- a/tools/testing/selftests/vfio/Makefile
> +++ b/tools/testing/selftests/vfio/Makefile
> @@ -1,4 +1,4 @@
> -ARCH ?= $(shell uname -m)
> +ARCH ?= $(shell uname -m | sed -e 's/aarch64.*/arm64/')

Perhaps we can just include tools/scripts/Makefile.arch to avoid having
to maintain yet another "uname -m" translation?

This would make it harder to prevent aarch64_be though, which Alex
indicated we might want to do.

>  
>  ifeq (,$(filter $(ARCH),arm64 x86_64))
>  # Do nothing on unsupported architectures
> 
> ---
> base-commit: 96ca4caf9066f5ebd35b561a521af588a8eb0215
> change-id: 20260317-vfio-selftests-aarch64-636abf0f7674
> 
> Best regards,
> -- 
> Ted Logan <tedlogan@fb.com>
>
Re: [PATCH] vfio: selftests: Build tests on aarch64
Posted by Ted Logan 2 weeks, 3 days ago
Hi David,

On Thu, Mar 19, 2026 at 05:59:58PM +0000, David Matlack wrote:
> On 2026-03-17 04:25 PM, Ted Logan wrote:
> > Also build vfio self-tests on aarch64 variants, in addition to arm64 and
> 
> s/self-tests/selftests/
> 
> > x86_64.
> 
> This could be worded better to clarify that this is about fixing the
> VFIO selftests to allow native builds on arm64 host platforms.
> 
> > 
> > Reported-by: Matt Evans <mattev@meta.com>
> > Closes: https://lore.kernel.org/all/e51b4ff2-13c4-47d4-b781-3dcbd740d274@meta.com/
> 
> Please also add a fixes tag, since it was not the intent of the original
> commit was to disallow native arm64 builds.
> 
>   Fixes: a55d4bbbe644 ("vfio: selftests: only build tests on arm64 and x86_64")

Thanks for the feedback, I'll add that to the next version.

> > ---
> > Signed-off-by: Ted Logan <tedlogan@fb.com>
> > ---
> >  tools/testing/selftests/vfio/Makefile | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/tools/testing/selftests/vfio/Makefile b/tools/testing/selftests/vfio/Makefile
> > index 8e90e409e91d..98bc8d6271a4 100644
> > --- a/tools/testing/selftests/vfio/Makefile
> > +++ b/tools/testing/selftests/vfio/Makefile
> > @@ -1,4 +1,4 @@
> > -ARCH ?= $(shell uname -m)
> > +ARCH ?= $(shell uname -m | sed -e 's/aarch64.*/arm64/')
> 
> Perhaps we can just include tools/scripts/Makefile.arch to avoid having
> to maintain yet another "uname -m" translation?

I took a look at tools/scripts/Makefile.arch and it includes a
translation from x85_64 to x86, so it doesn't look like we can use it to
distinguish architectures here. It sounds like the simplest thing to do
is add aarch64 to the list of allowed architectures so I'll do that in
the next patch.

> This would make it harder to prevent aarch64_be though, which Alex
> indicated we might want to do.
> 
> >  
> >  ifeq (,$(filter $(ARCH),arm64 x86_64))
> >  # Do nothing on unsupported architectures
> > 
> > ---
> > base-commit: 96ca4caf9066f5ebd35b561a521af588a8eb0215
> > change-id: 20260317-vfio-selftests-aarch64-636abf0f7674
> > 
> > Best regards,
> > -- 
> > Ted Logan <tedlogan@fb.com>
> >
Re: [PATCH] vfio: selftests: Build tests on aarch64
Posted by Alex Williamson 2 weeks, 4 days ago
On Tue, 17 Mar 2026 16:25:18 -0700
Ted Logan <tedlogan@fb.com> wrote:

> Also build vfio self-tests on aarch64 variants, in addition to arm64 and
> x86_64.
> 
> Reported-by: Matt Evans <mattev@meta.com>
> Closes: https://lore.kernel.org/all/e51b4ff2-13c4-47d4-b781-3dcbd740d274@meta.com/
> ---
> Signed-off-by: Ted Logan <tedlogan@fb.com>

Careful, this is a good way to get your Sign-off lost in the tooling.

> ---
>  tools/testing/selftests/vfio/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/vfio/Makefile b/tools/testing/selftests/vfio/Makefile
> index 8e90e409e91d..98bc8d6271a4 100644
> --- a/tools/testing/selftests/vfio/Makefile
> +++ b/tools/testing/selftests/vfio/Makefile
> @@ -1,4 +1,4 @@
> -ARCH ?= $(shell uname -m)
> +ARCH ?= $(shell uname -m | sed -e 's/aarch64.*/arm64/')

Are we intentionally enabling aarch64_be with this glob or is that just
carry-over from similar in the mm selftest Makefile?

Big endian ARM64 support is really not on my radar for vfio, but it
wouldn't be our first foray into big endian systems.

If it wasn't intentional, maybe just add "aarch64" to the below filter
list directly.  Thanks,

Alex
 
>  ifeq (,$(filter $(ARCH),arm64 x86_64))
>  # Do nothing on unsupported architectures
> 
> ---
> base-commit: 96ca4caf9066f5ebd35b561a521af588a8eb0215
> change-id: 20260317-vfio-selftests-aarch64-636abf0f7674
> 
> Best regards,
Re: [PATCH] vfio: selftests: Build tests on aarch64
Posted by Matt Evans 2 weeks, 4 days ago
Hi Alex,

On 18/03/2026 22:55, Alex Williamson wrote:
> On Tue, 17 Mar 2026 16:25:18 -0700
> Ted Logan <tedlogan@fb.com> wrote:
> 
>> Also build vfio self-tests on aarch64 variants, in addition to arm64 and
>> x86_64.
>>
>> Reported-by: Matt Evans <mattev@meta.com>
>> Closes: https://lore.kernel.org/all/e51b4ff2-13c4-47d4-b781-3dcbd740d274@meta.com/ 
>> ---
>> Signed-off-by: Ted Logan <tedlogan@fb.com>
> 
> Careful, this is a good way to get your Sign-off lost in the tooling.
> 
>> ---
>>  tools/testing/selftests/vfio/Makefile | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tools/testing/selftests/vfio/Makefile b/tools/testing/selftests/vfio/Makefile
>> index 8e90e409e91d..98bc8d6271a4 100644
>> --- a/tools/testing/selftests/vfio/Makefile
>> +++ b/tools/testing/selftests/vfio/Makefile
>> @@ -1,4 +1,4 @@
>> -ARCH ?= $(shell uname -m)
>> +ARCH ?= $(shell uname -m | sed -e 's/aarch64.*/arm64/')
> 
> Are we intentionally enabling aarch64_be with this glob or is that just
> carry-over from similar in the mm selftest Makefile?
> 
> Big endian ARM64 support is really not on my radar for vfio, but it
> wouldn't be our first foray into big endian systems.
> 
> If it wasn't intentional, maybe just add "aarch64" to the below filter
> list directly.  Thanks,

I think that won't work for cross-builds passing in ARCH=arm64 "from
above".  We can just drop the `.*` part of the sed regexp, giving
ARCH=arm64 or arm64_be (the latter would fail to match in the filter below).


-Matt

> 
> Alex
>  
>>  ifeq (,$(filter $(ARCH),arm64 x86_64))
>>  # Do nothing on unsupported architectures
>>
>> ---
>> base-commit: 96ca4caf9066f5ebd35b561a521af588a8eb0215
>> change-id: 20260317-vfio-selftests-aarch64-636abf0f7674
>>
>> Best regards,
>
Re: [PATCH] vfio: selftests: Build tests on aarch64
Posted by Alex Williamson 2 weeks, 4 days ago
On Thu, 19 Mar 2026 13:51:29 +0000
Matt Evans <mattev@meta.com> wrote:

> Hi Alex,
> 
> On 18/03/2026 22:55, Alex Williamson wrote:
> > On Tue, 17 Mar 2026 16:25:18 -0700
> > Ted Logan <tedlogan@fb.com> wrote:
> >   
> >> Also build vfio self-tests on aarch64 variants, in addition to arm64 and
> >> x86_64.
> >>
> >> Reported-by: Matt Evans <mattev@meta.com>
> >> Closes: https://lore.kernel.org/all/e51b4ff2-13c4-47d4-b781-3dcbd740d274@meta.com/ 
> >> ---
> >> Signed-off-by: Ted Logan <tedlogan@fb.com>  
> > 
> > Careful, this is a good way to get your Sign-off lost in the tooling.
> >   
> >> ---
> >>  tools/testing/selftests/vfio/Makefile | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/tools/testing/selftests/vfio/Makefile b/tools/testing/selftests/vfio/Makefile
> >> index 8e90e409e91d..98bc8d6271a4 100644
> >> --- a/tools/testing/selftests/vfio/Makefile
> >> +++ b/tools/testing/selftests/vfio/Makefile
> >> @@ -1,4 +1,4 @@
> >> -ARCH ?= $(shell uname -m)
> >> +ARCH ?= $(shell uname -m | sed -e 's/aarch64.*/arm64/')  
> > 
> > Are we intentionally enabling aarch64_be with this glob or is that just
> > carry-over from similar in the mm selftest Makefile?
> > 
> > Big endian ARM64 support is really not on my radar for vfio, but it
> > wouldn't be our first foray into big endian systems.
> > 
> > If it wasn't intentional, maybe just add "aarch64" to the below filter
> > list directly.  Thanks,  
> 
> I think that won't work for cross-builds passing in ARCH=arm64 "from
> above".  We can just drop the `.*` part of the sed regexp, giving
> ARCH=arm64 or arm64_be (the latter would fail to match in the filter below).
  
> >>  ifeq (,$(filter $(ARCH),arm64 x86_64))

Sorry, I don't fully follow.  If we expand the above "arm64 x86_64" to
include "aarch64" rather than distill the latter into "arm64", how does
that break the cross-builds?  Thanks,

Alex

> >>  # Do nothing on unsupported architectures
> >>
> >> ---
> >> base-commit: 96ca4caf9066f5ebd35b561a521af588a8eb0215
> >> change-id: 20260317-vfio-selftests-aarch64-636abf0f7674
> >>
> >> Best regards,  
> >   
> 
>
Re: [PATCH] vfio: selftests: Build tests on aarch64
Posted by Matt Evans 2 weeks, 4 days ago
Hi Alex,

On 19/03/2026 14:37, Alex Williamson wrote:
> On Thu, 19 Mar 2026 13:51:29 +0000
> Matt Evans <mattev@meta.com> wrote:
> 
>> Hi Alex,
>>
>> On 18/03/2026 22:55, Alex Williamson wrote:
>>> On Tue, 17 Mar 2026 16:25:18 -0700
>>> Ted Logan <tedlogan@fb.com> wrote:
>>>   
>>>> Also build vfio self-tests on aarch64 variants, in addition to arm64 and
>>>> x86_64.
>>>>
>>>> Reported-by: Matt Evans <mattev@meta.com>
>>>> Closes: https://lore.kernel.org/all/e51b4ff2-13c4-47d4-b781-3dcbd740d274@meta.com/  
>>>> ---
>>>> Signed-off-by: Ted Logan <tedlogan@fb.com>  
>>>
>>> Careful, this is a good way to get your Sign-off lost in the tooling.
>>>   
>>>> ---
>>>>  tools/testing/selftests/vfio/Makefile | 2 +-
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/tools/testing/selftests/vfio/Makefile b/tools/testing/selftests/vfio/Makefile
>>>> index 8e90e409e91d..98bc8d6271a4 100644
>>>> --- a/tools/testing/selftests/vfio/Makefile
>>>> +++ b/tools/testing/selftests/vfio/Makefile
>>>> @@ -1,4 +1,4 @@
>>>> -ARCH ?= $(shell uname -m)
>>>> +ARCH ?= $(shell uname -m | sed -e 's/aarch64.*/arm64/')  
>>>
>>> Are we intentionally enabling aarch64_be with this glob or is that just
>>> carry-over from similar in the mm selftest Makefile?
>>>
>>> Big endian ARM64 support is really not on my radar for vfio, but it
>>> wouldn't be our first foray into big endian systems.
>>>
>>> If it wasn't intentional, maybe just add "aarch64" to the below filter
>>> list directly.  Thanks,  
>>
>> I think that won't work for cross-builds passing in ARCH=arm64 "from
>> above".  We can just drop the `.*` part of the sed regexp, giving
>> ARCH=arm64 or arm64_be (the latter would fail to match in the filter below).
>   
>>>>  ifeq (,$(filter $(ARCH),arm64 x86_64))
> 
> Sorry, I don't fully follow.  If we expand the above "arm64 x86_64" to
> include "aarch64" rather than distill the latter into "arm64", how does
> that break the cross-builds?  Thanks,

Oh, it sounded like the suggestion was just (i.e. solely) adding
"aarch64" instead of the "arm64" as well.  If it includes arm64 (for
when ARCH= is already set) as well as aarch64 (from uname) then it's all
good.

-Matt

> 
> Alex
> 
>>>>  # Do nothing on unsupported architectures
>>>>
>>>> ---
>>>> base-commit: 96ca4caf9066f5ebd35b561a521af588a8eb0215
>>>> change-id: 20260317-vfio-selftests-aarch64-636abf0f7674
>>>>
>>>> Best regards,  
>>>   
>>
>>
>