В ветку разработки Linux 7.2 принят набор обновлений для архитектуры ARM64/AArch64. Изменения собраны в pull request сопровождающего ARM64-порта Уилла Дикона и описаны в официальном теге arm64-upstream. В теге перечислены новые HWCAPS для расширений 2025 dpISA, доработки обработки CPU errata, подготовка к удалению секций kernel data и BSS из linear map, поддержка MPAM v0.1, изменения в SVE/SME, perf, selftests и описании системных регистров.
Часть контекста релиза — влияние AI-инструментов на разработку ядра. В материале Phoronix приводится комментарий Уилла Дикона из pull request: по его словам, «новый мир AI tooling» замедлил работу над функциональными изменениями, а дополнительные раунды проверки Sashiko вытеснили часть патчей в следующий цикл. Phoronix подчёркивает, что ARM64 — не единственное направление ядра, где сопровождающие сталкиваются с потоком AI/LLM-сгенерированных патчей.
Главное техническое изменение — добавление новых аппаратных capability-битов для 2025 dpISA. В патче arm64/cpufeature объясняется, что эти расширения в основном добавляют новые инструкции, а не новое архитектурное состояние, поэтому ядру не нужно управлять дополнительным контекстом: достаточно сообщить userspace, какие инструкции доступны на конкретном CPU. Для этого в ARM64 добавлены новые HWCAP3-флаги, включая sveb16mm, sve2p3, smelut6, sme2p3, f16mm, f16f32dot, f16f32mm и svelut6.
В подсистеме исправлений аппаратных ошибок расширена обработка errata. В официальном теге arm64-upstream указаны обходы для TLBI-проблем на дополнительных CPU, а в дереве arm64 отдельно упоминаются патчи для Microsoft Azure Cobalt 100, NVIDIA Olympus и разных Arm CPU. Также добавлено отключение CnP на HiSilicon HIP09; соответствующая серия патчей описывает проблему как отклонение поведения TLB от архитектурной спецификации при установленном бите CnP в TTBRx_ELx, что может приводить к устаревшим трансляциям и конфликтам TLB между ядрами (Patchew).
Для подсистемы памяти добавлена подготовительная работа к тому, чтобы убрать секции kernel data и BSS из linear map. В теге arm64-upstream это описано именно как preparatory work. Отдельная серия arm64: Unmap linear alias of kernel data/bss объясняет мотивацию: на части систем размещение ядра может быть предсказуемым, а writable alias секций data/BSS в linear map ослабляет KASLR, поскольку даёт атакующему более понятную цель для записи.
Ещё одно важное направление — MPAM v0.1. В теге arm64-upstream указано добавление поддержки версии 0.1 архитектуры MPAM, а в обсуждении серии arm_mpam: Add support for the MPAM v0.1 architecture version речь идёт о доработке ARM MPAM-драйвера и проверке версии MPAM MSC. MPAM используется для разбиения и мониторинга ресурсов памяти и кэша, что важно для серверных систем и изолированных нагрузок.
Также обновлены низкоуровневые части SVE/SME. В arm64-upstream говорится о значительной чистке кода управления состоянием в основной архитектурной части и KVM, корректном использовании ширины регистров при save/restore для SVE/SME и экспонировании обращений к памяти при сохранении/восстановлении SVE/SME для санитайзеров. Это снижает риск скрытых ошибок в коде работы с векторным состоянием.
Основные функции и изменения
-
Новые HWCAPS для 2025 dpISA. Ядро теперь может сообщать пользовательским программам о наличии новых инструкций ARM64 через
AT_HWCAP. Это нужно библиотекам, JIT-компиляторам, рантаймам и математическим пакетам, чтобы выбирать оптимизированный код под конкретный CPU. Набор новых признаков описан в патче arm64/cpufeature: Define hwcaps for 2025 dpISA features. -
Поддержка
sveb16mmиsve2p3. Добавлены признаки новых SVE-возможностей. Они важны для векторизированных вычислений, где приложение должно понимать, какие варианты SVE-инструкций доступны. Эти флаги перечислены в том же патче по 2025 dpISA HWCAPS. -
Поддержка
smelut6иsme2p3. Добавлены capability-флаги для новых возможностей SME. SME используется в задачах матричных вычислений, поэтому такие признаки полезны для AI/HPC-нагрузок и оптимизированных библиотек. Поддержка этих признаков входит в общий набор 2025 dpISA HWCAPS. -
Новые FP16-related HWCAPS:
f16mm,f16f32dot,f16f32mm. Эти флаги описывают поддержку инструкций для операций с половинной точностью и смешанными вычислениями FP16/FP32. Практический смысл — более точный выбор ускоренных путей в численных библиотеках. Флаги перечислены в патче arm64/cpufeature. -
svelut6. Добавлен HWCAP для LUT6 в связке с SVE. Это позволяет userspace определять поддержку соответствующих табличных операций и не полагаться на грубую проверку модели процессора. Проверка этого признака также добавлена в selftests для ARM64 HWCAPS (LKML). -
Расширенная обработка CPU errata. Добавлены mitigation-патчи для TLBI errata на Microsoft Azure Cobalt 100, NVIDIA Olympus и других Arm CPU, а также отдельная логика отключения CnP на HiSilicon HIP09. Эти изменения перечислены в теге arm64-upstream, а проблема HiSilicon HIP09 отдельно описана в серии патчей на Patchew.
-
Подготовка к удалению kernel data/BSS из linear map. Подсистема памяти получила серию изменений, которые готовят ARM64 к более строгому отображению памяти ядра. Цель — уменьшить лишние writable/accessible alias-отображения и улучшить защитные свойства ядра. Мотивация этой работы описана в серии arm64: Unmap linear alias of kernel data/bss.
-
MPAM v0.1. Добавлена поддержка версии 0.1 архитектуры MPAM и обновлена проверка версии MPAM MSC в драйвере
arm_mpam. Это часть инфраструктуры для управления и мониторинга ресурсов памяти/кэша на ARM-системах; изменение указано в arm64-upstream и обсуждалось в серии arm_mpam. -
Чистка SVE/SME save/restore. Обновлён низкоуровневый код сохранения и восстановления состояния SVE/SME, включая KVM. Исправления важны для корректной работы векторного состояния при переключении задач и виртуализации. Это перечислено в разделе Floating point / SVE / SME тега arm64-upstream.
-
Selftests для новых возможностей. В kselftest добавлено покрытие для новых 2025 dpISA HWCAPS, а также тесты для POE-контекста в signal frame. Это помогает ловить регрессии в ABI и обработке сигналов. Отдельный патч называется kselftest/arm64: Add 2025 dpISA coverage to hwcaps.
-
Perf-исправления. В ARM64-блок вошли исправления кодировок событий DVM node в драйвере CMN, унификация пользовательского имени Qualcomm и обновление записи MAINTAINERS для HiSilicon PMU. Эти изменения перечислены в разделе Perf официального тега arm64-upstream.
-
Новые системные регистры и ESR-кодировки для HDBSS. Добавлена информация о регистрах и кодировках ESR для HDBSS. Это инфраструктурная работа: она подготавливает ядро к корректному описанию и обработке новых архитектурных возможностей ARM. Изменение указано в разделе System registers тега arm64-upstream.
Перемещено hobbit из kernel




