Выпуск Linux 6.4 – Основные изменения, архитектуры Arm, RISC-V и MIPS

Linux 6.4 был только что выпущен Линусом Торвальдсом в списке рассылки Linux Kernel Mailing List (LKML):

Хм. Финальная неделя работы над 6.4 завершена, и в основном были исправления для netfilter, откаты некоторых изменений в подсистеме mm и обновления трассировки.

Также есть ряд мелких изменений в других областях: обычные обновления для архитектур, множество обновлений тестов, исправления в файловых системах (btrfs, ksmb) и т.д.

Большинство писем в моем почтовом ящике на прошлой неделе касались предстоящих изменений для 6.5, и у меня уже есть 15 ожидающих запросов на включение. Благодарю всех proactive людей.

Но это уже завтра. Сегодня мы все заняты тестированием сборки нового релиза ядра и проверкой, что всё в порядке. Верно?

Выпущенный около двух месяцев назад, Linux 6.3 принес механизм защиты от Spectre «automatic IBRS» от AMD, дополнительный прогресс в интеграции Rust с поддержкой User-mode Linux (пока только для x86-64), поддержку шифрования на основе AES-SHA2 в файловой системе NFS (как на стороне клиента, так и сервера), встроенный бенчмарк Dhrystone для тестирования производительности при запуске SoC, добавление новых WiFi-устройств, включая RealTek RTL8188EU (rtl8xxxu) и Qualcomm Wi-Fi 7 (ath12k), среди множества других изменений.

Linux 6.4 release

Основные изменения в Linux 6.4

Некоторые значимые изменения в Linux 6.4 включают:

  • Ядро теперь поддерживает функцию маскирования линейных адресов x86. На данный момент поддерживается только режим LAM_U57 (который позволяет хранить шесть бит метаданных в значении адреса), а режим LAM_U48 требует дополнительного рассмотрения. Подробности см. в статье LWN .
  • Две новые операции ptrace() – PTRACE_GET_SYSCALL_USER_DISPATCH и PTRACE_SET_SYSCALL_USER_DISPATCH – позволяют одному процессу управлять настройками диспетчеризации системных вызовов другого процесса. Новые операции могут использоваться для механизма checkpoint/restore в пользовательском пространстве.
  • Подсистема io_uring теперь может выполнять несколько операций прямой записи (direct-I/O) в файл параллельно, если это поддерживается базовой файловой системой. В настоящее время поддерживаются только файловые системы EXT4 и XFS.
  • Непривилегированные процессы теперь могут запрашивать информацию о pressure-stall, впервые представленную в Linux 4.20 , с периодом опроса, кратным двум секундам.
  • Ядро Linux теперь включает подробное руководство по сборке урезанной версии ядра.

Изменения для Arm в Linux 6.4

Вот некоторые из множества изменений для архитектуры Arm:

  • Allwinner
    • Добавлена поддержка процессора Allwinner T113-S Cortex-A7
    • F1C100s – включена поддержка USB для LicheePi Nano
    • Новые платы и устройства
  • Rockchip
    • Rockchip RK3588 – Добавлен Watchdog, ASoC
    • Regulator – Добавлена поддержка Rockchip RK860x
    • irqchip – Обходное решение для чипа Rockchip 3588, который некорректно обрабатывает атрибуты shareability
    • Clock driver – Исправление reparenting для тактового сигнала, питающего модули камер на rk3399 и более критичных (bus-)clocks на rk3588.
    • Новые устройства и платы
  • Amlogic
    • SPI драйвер – Поддержка SPI контроллера Amlogic A1 ( A113L )
    • PCIe – Конвертация привязок PCIe SoC контроллера Amlogic Meson AXG DWC в dt-schema
    • Другие изменения драйверов:
      • конвертация clk-measure.txt в dt-schema
      • meson-pwrc: Использование dev_err_probe()
      • meson_sm: создание платформенных устройств из данных device tree SM
      • dt-bindings: Удаление избыточных кавычек
    • Изменения в ARM DT:
      • Корректировка порядка некоторых совместимых устройств
      • meson8: добавление вывода xtal_32k_out
      • meson8: добавление выводов SDXC_A
      • mxiii-plus: Включение поддержки Bluetooth и WiFi
    • Изменения в ARM64 DT для Linux 6.4:
      • Набор исправлений проверки привязок DT
      • Корректировка порядка совместимых устройств в соответствии с миграцией на dt-schema
      • Добавление поддержки вариантов BananaPi M2S
      • gxbb-kii-pro: добавление поддержки аудио и bluetooth
      • meson-a1: добавление узла gpio_intc
      • gxl: использование мультиплексора mdio gxl
      • Добавление начальной поддержки модуля BPI-CM4 с базовой платой BPI-CM4IO
    • Новые устройства и платы – Платы Banana Pi на базе SoC Amlogic g12b ( Amlogic A311D/S922X ), включая одноплатник Banana Pi BPI-M2S и модуль Banana Pi BPI-CM4 .
  • Samsung
    • MFD – Удаление поддержки PMIC-устройств Samsung 5M8751 и S5M8763
    • Изменения в DTS для ARM в Linux 6.4:
      • несколько улучшений и исправлений по результатам dtbs_checks: выравнивание имен узлов с привязками, удаление некорректных свойств, исправление clock-names, добавление отсутствующего узла «ports».
      • перемещение DP и MIPI phy в узел PMU (DTS с изменением привязки).
      • удаление старых псевдонимов MSHC (с добавлением правильного mmc-ddr-1_8v, который выбирался драйвером на основе псевдонима MSHC) и добавление общих псевдонимов MMC на каждой плате. Псевдонимы соответствуют известной нумерации в схемах.
    • Изменения в DTS для ARM64 Samsung:
      • Exynos850: добавление заголовков с идентификаторами тактовых сигналов контроллеров AUD, G3D и HSI. Добавление узла контроллера тактовых сигналов G3D (GPU).
      • Exynos5433: исправления для dtbs_check: перемещение MIPI phy в узел PMU.
      • удаление старых псевдонимов MSHC (с добавлением правильного mmc-ddr-1_8v, который выбирался драйвером на основе псевдонима MSHC) и добавление общих псевдонимов MMC на каждой плате. Псевдонимы соответствуют известной нумерации в схемах.
    • Новые устройства – отсутствуют
  • Qualcomm
    • Добавлены Wi-Fi 7 SoC Qualcomm IPQ5332 Cortex-A53 и IPQ9574 Cortex-A73
    • Добавлен автомобильный SoC Qualcomm sa8775p, основанный на семействе Snapdragon.
    • UFS – Добавлена поддержка Qualcomm SA8775p, SM7150
    • Pinctrl – Поддрайверы для SoC Qualcomm SM7150 и IPQ9574
    • Clock – Драйверы глобального контроллера тактовых сигналов для SoC Qualcomm SM7150, IPQ9574, MSM8917 и IPQ5332
    • Контроллер PCIe
      • Добавление привязок DT и поддержки драйвера для SM8550 и SDX5
      • Использование bulk API для тактовых сигналов IP 1.0.0, 2.3.2, 2.3.3
      • Использование bulk API для сброса IP 2.1.0, 2.3.3, 2.4.0
      • Добавление региона регистров «mhi» в DT для поддерживаемых SoC
      • Предоставление счетчиков переходов состояния связи через debugfs для помощи в отладке проблем с низким энергопотреблением
      • Поддержка системного приостановления и возобновления; уменьшение пропускной способности межсоединения и отключение тактовых сигналов и PHY при отсутствии активных устройств
      • Включение асинхронного probe по умолчанию для сокращения времени загрузки
    • Сетевые функции
      • Добавлен Ethernet Qualcomm EMAC3 DWMAC
      • WiFi Qualcomm 802.11ax (ath11k) – поддержка параметров MU-MIMO, поддержка сигналов подтверждения для управляющих пакетов
    • Регуляторы – Поддержка Qualcomm PMC8180 и PMM8654au
    • Обновления для ARM64:
      • Диапазоны PCI I/O и MEM исправлены для всех целей с включенным PCIe. Аналогично, тактовые сигналы CPU определены как предоставляемые CPUfreq для широкого спектра платформ, чтобы удовлетворить определения OPP, а информация о банках LLCC исправлена для всех соответствующих платформ.
      • IPQ5332 получает SMEM, CPUfreq и поддержку перехода в режим загрузки. Представлена плата MI01.2.
      • Тактовый сигнал XO определен и подается на RPMCC для MSM8953 и MSM8976, чтобы гарантировать правильное построение дерева тактовых сигналов. Тактовые сигналы DSI, подаваемые на gcc, описаны для MSM8953.
      • Для MSM8996 внешние аудиокомпоненты перемещены из SoC dtsi. Добавлено несколько особенностей DWC3.
      • Для MSM8998 введены названия GPIO для Sony Xperia XZ Premium, XZ1 и XZ1 Compact. На ряде плат кнопки GPIO правильно помечены как wakeup-source.
      • Платформа SA8775P расширена поддержкой CPUfreq, UART, контроллеров I2C, контроллеров SPI, SPMI и PMIC, поддержкой PDC. Связанные PMIC получают поддержку сброса и кнопки питания, а также определены тепловые зоны. Узлы отсортированы. В дополнение к этому представлена плата/платформа SA8775P Ride.
      • Для SC7180 и SC7280 введен ряд исправлений, полученных в результате проверки DeviceTree: некоторые устраняют неиспользуемые свойства, другие исправляют ошибки. Ряд плат Google rev0 на SC7180 удалены, так как они больше не используются.
      • Для SC8280XP добавлена поддержка RTC и включена для CRD и Lenovo Thinkpad X13s. Добавлен еще один UART, через который включен Bluetooth на Lenovo ThinkPad X13s. Определение тачпада изменено для попытки обнаружения обоих устройств, встречающихся в реальных условиях. Также введен ряд исправлений ошибок, а определения регуляторов на X13s исправлены.
      • Для SDM845 улучшены коэффициенты динамической мощности. Исправлена совместимость BWMON. Xiaomi Pocophone F1 получает светодиод уведомлений. Sony Xperia XZ2, XZ2 Compact и XZ3 получают поддержку дисплея, тачскрина, GPU и remoteproc. OnePlus 6 и 6T получают датчик Холла.
      • Добавлены узлы контроллера тактовых сигналов GPU и remoteproc для SM6115. Тактовые сигналы CPU определены как поступающие от CPUfreq. Специфичные для платы свойства USB перемещены из SoC dtsi.
      • Для SM6375 добавлены узлы масштабирования L3, IMEM, RMTFS, статистики сна RPM, Tsens, remoteproc модема и Wi-Fi. Определены тепловые зоны Tsens и дополнительные состояния низкого энергопотребления. Sony Xperia 10 IV получает поддержку кнопки уменьшения громкости.
      • Для SM8150 добавлен еще один UART для использования GNSS на SA8155 ADP. Добавлена поддержка блока Flash LED в PM8150L.
      • Для SM8250 определены TPDM MM и PRNG, добавлен регион MHI в узел PCIe. Введен ряд исправлений ошибок после проверки DeviceTree.
      • Контроллер DisplayPort для SM8350 и SM8450 определен, а связанный экземпляр QMP переведен на комбинированный вариант USB3/DP. Введены IMEM и информация PIL для посмертной отладки remoteproc. На HDK включены PMIC GLINK и переключение ролей. Некоторые аудиоресурсы исправлены.
      • Исправлена опечатка в свойстве роли USB для Microsoft Surface, благодаря проверке DeviceTree.
      • Исправлены описания контроллеров PCIe и PHY, а определения состояний pinctrl перемещены из SoC в определение платы. Исправлена совместимость BWMON. PM8550B получает определение повторителя eUSB2, который включен на MTP. PMIC GLINK также определен для MTP и подключен к DWC3 для поддержки переключения ролей.
      • В дополнение к этому введен ряд улучшений на основе проверки DeviceTree.
      • Введены несколько привязок тактовых сигналов из тематических веток, общих с деревом тактовых сигналов, для помощи в добавлении ссылок на них.
    • Обновления DTS для ARM32:
      • Добавлено определение IPA для платформы sdx65, а также несколько стилистических изменений для sdx55 и sdx65.
      • Определены совместимые устройства для двух новых платформ Qualcomm Robotics Platform, RB1 и RB2, а также Xiaomi Mi A3 и платы разработки MI01.6 на IPQ5332. Все это платы ARM64, несмотря на то, что они представлены через запрос на включение для ARM32…
      • Определен stdout-path для ALFA Network AP120C-AC, чтобы избежать необходимости передавать эту информацию в командной строке ядра. Ath10k настроен на чтение калибровочных данных из раздела «ART».
      • Исправлены диапазоны портов ввода-вывода PCI для IPQ4019 и IPQ8064.
      • Определены тактовые сигналы для контроллеров тактовых сигналов KPSS L2CC и ACC.
      • Тактовые сигналы для глобального контроллера тактовых сигналов указаны для IPQ4019, MSM8974 и MSM8226.
      • Включена поддержка PCIe RC на плате разработки SDX55 T55, определен IPA для SDX55 и введен ряд исправлений.
    • Обновления DTS для ARM64 в Linux 6.4
      • Представлен DeviceTree для QCM2210/QCM2290.
      • Добавлена поддержка флага output-enable/disable в драйвере pinctrl-msm, а нестандартный «input-enable» удален с ряда платформ.
      • Введен широкий спектр небольших исправлений на основе проверки DeviceTree.
      • MSM8953 получает поддержку подсистем LPASS, MPSS и Wireless.
      • Свойство iommus удалено из узлов PCIe на всех платформах, так как только дочерние устройства должны быть связаны с группами iommu через существующее свойство iommu-map.
      • Обновлена карта зарезервированной памяти на Huawei Nexus 6P с добавлением памяти кадрового буфера заставки и корректировкой региона зарезервированной памяти, перекрывающего регион smem.
      • Добавлены регуляторы для платформы SA8775P Ride.
      • Регулятор помечен как always-on для корректности на Trogdor. Введены исправления pinconf для устройств sc7180 и sc7280. Добавлен отдельный список рецензентов для плат, относящихся к инженерам Chromebook.
      • Введен набор исправлений pinconf для sc8280xp, добавлены метки для узлов Soundwire.
      • Представлены remoteproc ядра сенсора и FastRPC на нем для SDM845 и включены для OnePlus 6/6T и Shift Shift6mq.
      • Для планшета Lenovo Tab P11 добавлена поддержка RMTFS, remoteprocs, ath10k и ramoops.
      • Добавлена поддержка UFS для SM6125.
      • Для SM8150 по умолчанию отключен headless-режим GPU, добавлены speedbins для GPU.
      • Speedbins для GPU также добавлены для SM8250, как и поддержка дисплея для Xiaomi Mi Pad 5 Pro с двумя различными панелями.
      • Для платформы SM8550 добавлены контроллеры Soundwire, макросы аудиокодека ADSP и поддержка Inline Crypto Engine.
    • Обновления конфигурации Arm – N/A
    • Обновления конфигурации Arm64
      • Активирован ряд драйверов TLMM pinctrl, необходимых для загрузки связанных платформ. Включены драйверы мультимедийных тактовых генераторов для MSM8994 и MSM8998, а MSM8996 помечен как модуль вместо встроенного.
      • Включены драйверы PMIC_GLINK, обеспечивающие поддержку USB Type-C и батареи на различных платформах, а также драйверы eUSB2 для SM8550.
      • Активированы базовые драйверы для IPQ5332 и IPQ9574.
    • Новые устройства и платы
      • Платы WiFi 7 – плата AL02 на базе IPQ9574, плата MI01.6 на IPQ5332
      • WiFi/LTE-адаптер на базе Qualcomm MSM8916 (Yiming UZ801 4G modem stick)
      • Две робототехнические платы на чипах Qualcomm QRB: плата RB1 с QRB2210, RB2 с QRB4210
      • Три смартфона Xiaomi на Snapdragon, включая Xiaomi Mi A3 (SM6125)
  • MediaTek
    • Драйвер LED – Добавлена поддержка LED-индикатора и фонарика MediaTek MT6370
    • Тактирование
      • Добавлена поддержка Frequency Hopping (FHCTL) для SoC MediaTek MT6795, MT8173, MT8192 и MT8195
      • Добавлены драйверы тактирования для SoC MediaTek MT8188
    • Сетевые технологии
      • Добавлен Ethernet для SoC MediaTek MT7981 и MT7988
      • WiFi от MediaTek (mt76):
        • Поддержка P2P
        • Поддержка mesh A-MSDU
        • Поддержка EHT (Wi-Fi 7)
        • Поддержка coredump
    • DRM – Добавлена поддержка DRM (vdosys1) для SoC MediaTek mt8195
    • Новые устройства – Нет данных
  • Другие новые аппаратные платформы и SoC на Arm
    • Apple – Добавлена поддержка M2, используемого в текущих Macbook Air/Pro и Mac Mini, с уровнем поддержки, сопоставимым с предшественником M1.
    • Marvell – Роутер GL.iNet MV1000 на базе Marvell Armada 3720
    • NXP – 19 промышленных встраиваемых плат на базе семейств NXP i.MX6 (32-бит) и i.MX8 (64-бит).
    • UNISOC – Среднебюджетный SoC для смартфонов UMS512 (Tiger T610)
    • Texas Instruments – На базе AM625 Промышленная одноплатная система BeaglePlay

Обновления архитектуры RISC-V

RISC-V продолжает уверенно развиваться:

  • Архитектура RISC-V получила поддержку расширения Svnapot , где «napot» означает «естественно выровненные степени двойки». Оно позволяет объединять группы базовых страниц по 4K для создания более крупных («огромных») страниц.
  • Ядро RISC-V теперь можно собирать как перемещаемый бинарный файл PIE.
  • RISC-V также добавил новый системный вызов – riscv_hwprobe() - для получения информации о доступном оборудовании в работающей системе. Подробности см. в этом коммите .
  • RISC-V добавил поддержку гибернации.
  • Поддержка Zicboz при очистке страниц
  • Поддержка !MMU на системах rv32
  • Линейная область теперь отображается через огромные страницы
  • Переход на GENERIC_ENTRY
  • Различные исправления и оптимизации по всему дереву
  • StarFive
    • Добавлен StarFive JH7110, SoC на RISC-V, основанный на ядре Sifive U74, как и его предшественник JH7100, но с дополнительными CPU-ядрами и GPU.
    • Новые драйверы для JH7110 – Watchdog (также добавлен для JH7100), контроллер DMA, QuadSPI, Ethernet, датчик температуры, сброс, тактирование
  • Деревья устройств RISC-V в Linux 6.4
    • Microchip – «Исправление» для регистров системного контроллера на PolarFire SoC, добавлено отсутствующее свойство reg.
    • StarFive – Базовая поддержка JH7110 и связанной с ним платы разработчика VisionFive v2 (в двух вариантах).

MIPS в Linux 6.4

Архитектура MIPS получила больше изменений по сравнению с прошлым релизом:

  • Добавлена поддержка Huawei B593u-12
  • Добавлена поддержка виртуальной платы, соответствующей QEMU MIPS virt board
  • Добавлена поддержка когерентности DMA для отдельных устройств
  • Переработана обработка SoC RALINK
  • Оптимизация барьеров для Loongon64
  • Удалена устаревшая поддержка метода SMP MIPS_CMP
  • Удалена поддержка плат Sibyte CARMEL и CHRINE
  • Оптимизации и исправления

Более подробный журнал изменений Linux 6.4 с сообщениями коммитов можно сгенерировать командой git log v6.3..v6.4-rc7 --stat. Также можно ознакомиться с журналом изменений Linux 6.4 на KernelNewbies .

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments