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