kernel: build for the cores the phone has, pkgrel 102
The FP6 is 4x Cortex-A520 + 4x Cortex-A720 and this image boots nothing else, so pass the compiler KCFLAGS="-march=armv8.6-a+fp16fml+aes+sha3+sm4 -mtune=cortex-a720". The stock arm64 build gives the compiler no arch flag at all (so one image can boot any Armv8 board). The string is what `gcc -march=native` derives on the phone, re-based on armv8.6-a so clang can express the same set (clang has no flagm2/rcpc2/ frintts tokens; it reaches them through the architecture level). 8.6 is the highest level whose mandatory set the phone exposes: 8.7 would assume WFxT and 9.x SVE2, and neither is in its hwcaps or ID registers. clang emits identical code for this and for -mcpu=cortex-a720+nosve+nomemtag; the difference is only which system features (SPE, ETE, TRBE, FPAC) it knows about, none of which generate code. Verified on eef717f978f1 with the aport config: builds with zero warnings, same module set as r100 (417), compat vDSO untouched, boots the dev phone with a clean dmesg and a GREEN selftest. Record: fp6 journal/base/captures/2026-09-05-mcpu-a720-verification.md.
This commit is contained in:
parent
d2ac96efc3
commit
a2f5de9de0
4 changed files with 30 additions and 4 deletions
|
|
@ -5,7 +5,7 @@
|
|||
maintainer="Achill Gilgenast <achill@achill.org>"
|
||||
pkgname=modemmanager
|
||||
pkgver=1.25.95_git20260709
|
||||
pkgrel=100
|
||||
pkgrel=101
|
||||
_commit=d776ea38d29ca472a12323c1d45002ee19a66f57
|
||||
pkgdesc="ModemManager library"
|
||||
url="https://www.freedesktop.org/wiki/Software/ModemManager"
|
||||
|
|
@ -42,6 +42,12 @@ checkdepends="glib-dev py3-gobject3 py3-dbus"
|
|||
# native builders, and none exercise the GNSS code our patches change) -
|
||||
# on-device validation is the real test.
|
||||
options="!pmb:crossdirect !check"
|
||||
# fp6-img: this package only ever runs on the FP6 (4x Cortex-A520 + 4x
|
||||
# Cortex-A720), so tune for it. Spelled -march/-mtune, not -mcpu: GCC 16
|
||||
# expands -mcpu=cortex-a720 into a +sve-bitperm token that binutils 2.45
|
||||
# rejects at the assembler. +nosve+nomemtag: the FP6 exposes neither SVE nor
|
||||
# MTE (no sve/mte hwcaps), and without them the code would SIGILL.
|
||||
export CFLAGS="$CFLAGS -march=armv9.2-a+nosve+nomemtag -mtune=cortex-a720"
|
||||
subpackages="
|
||||
$pkgname-lang
|
||||
$pkgname-doc
|
||||
|
|
|
|||
Loading…
Reference in a new issue