Re: git: c65679143f82 - main - arm64: Decode the ID_AA64MMFR3_EL1 register
Date: Tue, 01 Aug 2023 22:39:38 UTC
On 7/28/23 5:08 AM, Andrew Turner wrote:
> The branch main has been updated by andrew:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=c65679143f82e28b3aa078f16311350c31a33776
>
> commit c65679143f82e28b3aa078f16311350c31a33776
> Author: Andrew Turner <andrew@FreeBSD.org>
> AuthorDate: 2023-07-06 13:28:23 +0000
> Commit: Andrew Turner <andrew@FreeBSD.org>
> CommitDate: 2023-07-28 11:53:02 +0000
>
> arm64: Decode the ID_AA64MMFR3_EL1 register
>
> Sponsored by: Arm Ltd
> Differential Revision: https://reviews.freebsd.org/D40893
This (and some following commits) broke the aarch64 build jobs on GitHub.
I wonder if these registers are unknown by clang versions older than LLVM16
or LLVM15? The cross-build jobs use clang 12/13/14.
The errors:
bmake[2]: "/home/runner/work/freebsd-src/build/home/runner/work/freebsd-src/freebsd-src/arm64.aarch64/sys/GENERIC/Makefile" line 47: warning: "Compiler is too old to support PERTHREAD_SSP"
/home/runner/work/freebsd-src/freebsd-src/sys/arm64/arm64/identcpu.c:2707:23: error: expected readable system register
desc->id_aa64mmfr3 = READ_SPECIALREG(id_aa64mmfr3_el1);
^
./machine/armreg.h:74:19: note: expanded from macro 'READ_SPECIALREG'
__asm __volatile("mrs %0, " __STRING(reg) : "=&r" (_val)); \
^
<inline asm>:1:10: note: instantiated into assembly here
mrs x9, id_aa64mmfr3_el1
^
/home/runner/work/freebsd-src/freebsd-src/sys/arm64/arm64/identcpu.c:2708:23: error: expected readable system register
desc->id_aa64mmfr4 = READ_SPECIALREG(id_aa64mmfr4_el1);
^
./machine/armreg.h:74:19: note: expanded from macro 'READ_SPECIALREG'
__asm __volatile("mrs %0, " __STRING(reg) : "=&r" (_val)); \
^
<inline asm>:1:10: note: instantiated into assembly here
mrs x9, id_aa64mmfr4_el1
^
/home/runner/work/freebsd-src/freebsd-src/sys/arm64/arm64/identcpu.c:2711:22: error: expected readable system register
desc->id_aa64pfr2 = READ_SPECIALREG(id_aa64pfr2_el1);
^
./machine/armreg.h:74:19: note: expanded from macro 'READ_SPECIALREG'
__asm __volatile("mrs %0, " __STRING(reg) : "=&r" (_val)); \
^
<inline asm>:1:10: note: instantiated into assembly here
mrs x9, id_aa64pfr2_el1
^
3 errors generated.
--- identcpu.o ---
*** [identcpu.o] Error code 1
bmake[2]: stopped in /home/runner/work/freebsd-src/build/home/runner/work/freebsd-src/freebsd-src/arm64.aarch64/sys/GENERIC
1 error
--
John Baldwin