by Hitchar » Tue May 23, 2023 12:38 pm
$this->bbcode_second_pass_quote('', '
')See this announcment: viewtopic.php?f=3&t=16144&p=71168#p71168
I do not believe my kernel will work with models older than RPi4/400.
I booted the new kernel on my rpi3 without seeing the announcement. My pi booted fine. So I looked at the compiler options with -mcpu=cortex-a72 and -mcpu=cortex-a53.
$this->bbcode_second_pass_code('', '$ gcc -Q -mcpu=cortex-a72 --help=target -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-unknown-linux-gnu/12.1.0/lto-wrapper
Target: aarch64-unknown-linux-gnu
Configured with: /build/gcc/src/gcc/configure --enable-languages=c,c++,fortran,go,lto,objc,obj-c++ --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-multilib --disable-werror --host=aarch64-unknown-linux-gnu --build=aarch64-unknown-linux-gnu --with-arch=armv8-a --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.1.0 (GCC)
COLLECT_GCC_OPTIONS='-Q' '-mcpu=cortex-a72' '--help=target' '-v' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'a-'
/usr/lib/gcc/aarch64-unknown-linux-gnu/12.1.0/cc1 -v help-dummy -dumpdir a- -dumpbase help-dummy -mcpu=cortex-a72 -mlittle-endian -mabi=lp64 -version --help=target -o /tmp/cclo3B7X.s
The following options are target specific:
-mabi= lp64
-march= armv8-a
-mbig-endian [disabled]
-mbionic [disabled]
-mbranch-protection=
-mcmodel= small
-mcpu= cortex-a72
-mfix-cortex-a53-835769 [enabled]
-mfix-cortex-a53-843419 [enabled]
-mgeneral-regs-only [disabled]
-mglibc [enabled]
-mharden-sls=
-mlittle-endian [enabled]
-mlow-precision-div [disabled]
-mlow-precision-recip-sqrt [disabled]
-mlow-precision-sqrt [disabled]
-mmusl [disabled]
-momit-leaf-frame-pointer [enabled]
-moutline-atomics [enabled]
-moverride=<string>
-mpc-relative-literal-loads [enabled]
-msign-return-address= none
-mstack-protector-guard-offset=
-mstack-protector-guard-reg=
-mstack-protector-guard= global
-mstrict-align [disabled]
-msve-vector-bits=<number> scalable
-mtls-dialect= desc
-mtls-size= 24
-mtrack-speculation [disabled]
-mtune= cortex-a72
-muclibc [disabled]
-mverbose-cost-dump [disabled]
Known AArch64 ABIs (for use with the -mabi= option):
ilp32 lp64
Supported AArch64 return address signing scope (for use with -msign-return-address= option):
all non-leaf none
The code model option names for -mcmodel:
large small tiny
Valid arguments to -mstack-protector-guard=:
global sysreg
The possible SVE vector lengths:
1024 128 2048 256 512 scalable
The possible TLS dialects:
desc trad
GNU C17 (GCC) version 12.1.0 (aarch64-unknown-linux-gnu)
compiled by GNU C version 12.1.0, GMP version 6.2.1, MPFR version 4.1.0-p13, MPC version 1.2.1, isl version isl-0.26-GMP
warning: MPFR header version 4.1.0-p13 differs from library version 4.2.0-p7.
warning: MPC header version 1.2.1 differs from library version 1.3.1.
GGC heuristics: --param ggc-min-expand=92 --param ggc-min-heapsize=116205
COLLECT_GCC_OPTIONS='-Q' '-mcpu=cortex-a72' '--help=target' '-v' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'a-'
as -v -EL -march=armv8-a+crc -mabi=lp64 -o /tmp/ccqziNkD.o /tmp/cclo3B7X.s
GNU assembler version 2.38 (aarch64-unknown-linux-gnu) using BFD version (GNU Binutils) 2.38
')
$this->bbcode_second_pass_code('', 'gcc -Q -mcpu=cortex-a53 --help=target -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-unknown-linux-gnu/12.1.0/lto-wrapper
Target: aarch64-unknown-linux-gnu
Configured with: /build/gcc/src/gcc/configure --enable-languages=c,c++,fortran,go,lto,objc,obj-c++ --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-multilib --disable-werror --host=aarch64-unknown-linux-gnu --build=aarch64-unknown-linux-gnu --with-arch=armv8-a --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.1.0 (GCC)
COLLECT_GCC_OPTIONS='-Q' '-mcpu=cortex-a53' '--help=target' '-v' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'a-'
/usr/lib/gcc/aarch64-unknown-linux-gnu/12.1.0/cc1 -v help-dummy -dumpdir a- -dumpbase help-dummy -mcpu=cortex-a53 -mlittle-endian -mabi=lp64 -version --help=target -o /tmp/ccH8bndh.s
The following options are target specific:
-mabi= lp64
-march= armv8-a
-mbig-endian [disabled]
-mbionic [disabled]
-mbranch-protection=
-mcmodel= small
-mcpu= cortex-a53
-mfix-cortex-a53-835769 [enabled]
-mfix-cortex-a53-843419 [enabled]
-mgeneral-regs-only [disabled]
-mglibc [enabled]
-mharden-sls=
-mlittle-endian [enabled]
-mlow-precision-div [disabled]
-mlow-precision-recip-sqrt [disabled]
-mlow-precision-sqrt [disabled]
-mmusl [disabled]
-momit-leaf-frame-pointer [enabled]
-moutline-atomics [enabled]
-moverride=<string>
-mpc-relative-literal-loads [enabled]
-msign-return-address= none
-mstack-protector-guard-offset=
-mstack-protector-guard-reg=
-mstack-protector-guard= global
-mstrict-align [disabled]
-msve-vector-bits=<number> scalable
-mtls-dialect= desc
-mtls-size= 24
-mtrack-speculation [disabled]
-mtune= cortex-a53
-muclibc [disabled]
-mverbose-cost-dump [disabled]
Known AArch64 ABIs (for use with the -mabi= option):
ilp32 lp64
Supported AArch64 return address signing scope (for use with -msign-return-address= option):
all non-leaf none
The code model option names for -mcmodel:
large small tiny
Valid arguments to -mstack-protector-guard=:
global sysreg
The possible SVE vector lengths:
1024 128 2048 256 512 scalable
The possible TLS dialects:
desc trad
GNU C17 (GCC) version 12.1.0 (aarch64-unknown-linux-gnu)
compiled by GNU C version 12.1.0, GMP version 6.2.1, MPFR version 4.1.0-p13, MPC version 1.2.1, isl version isl-0.26-GMP
warning: MPFR header version 4.1.0-p13 differs from library version 4.2.0-p7.
warning: MPC header version 1.2.1 differs from library version 1.3.1.
GGC heuristics: --param ggc-min-expand=92 --param ggc-min-heapsize=116205
COLLECT_GCC_OPTIONS='-Q' '-mcpu=cortex-a53' '--help=target' '-v' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'a-'
as -v -EL -march=armv8-a+crc -mabi=lp64 -o /tmp/ccdyIBPc.o /tmp/ccH8bndh.s
GNU assembler version 2.38 (aarch64-unknown-linux-gnu) using BFD version (GNU Binutils) 2.38
')
Which are essentially the same, so RPI3 should have no trouble booting.
Also: when comparing the COLLECT_GCC_OPTIONS at the bottom it looks like the only difference between a generic build and -mcpu=cortex-a72 is the flag +crc in march. So I guess only boards without that cpu flag will have trouble?