Линус Торвальдс объявил о выпуске Linux 6.16 в LKML :
Воскресным днем цикл выпуска завершился. Прошедшая неделя прошла спокойно, без серьезных сюрпризов, способных нарушить график, поэтому версия 6.16 была помечена и выпущена в соответствии с планом.
Стоит отметить, что предстоящее окно слияния для 6.17 будет несколько хаотичным: запланировано несколько семейных событий в августе (свадьба и крупный день рождения), и поскольку семья распределена не только по США, но и в Финляндии, примерно половину месяца будет занято поездками.
Это означает, что будут предприняты усилия для завершения большей части окна слияния в первую неделю перед поездками, и уже было предварительно уведомлено об этом лиц, которые обычно отправляют большинство запросов на включение. Действительно, уже ожидает рассмотрения 50 запросов, так что спасибо тем, кто принял это к сведению.
…
Но достаточно о следующем выпуске. *Текущий* выпуск вышел и выглядит хорошо, и, как упоминалось, прошлая неделя была очень небольшой и спокойной. Краткий журнал изменений приведен ниже для желающих ознакомиться с деталями, но он не слишком интересен (в лучшем смысле!). Почти все изменения — мелкие исправления в драйверах, с некоторыми случайными изменениями в других местах. Не много патчей, и все они небольшие.Linus
—
Выпущенный около двух месяцев назад Linux 6.15 прекратил поддержку 32-разрядных систем x86 с более чем восемью CPU или более 4 ГБ ОЗУ, ввел различные изменения в монтировании файловых систем и включил подсистему fwctl, предназначенную для прямой передачи командных данных в сложные системы прошивки, среди многих других изменений. Теперь рассмотрим основные моменты выпуска Linux 6.16, прежде чем перейти к деталям об архитектурах Arm, RISC-V и MIPS.
Основные моменты Linux 6.16
К числу заметных изменений в Linux 6.16 относятся:
- Поддержка выгрузки звука через USB – Эта функция обеспечивает значительную экономию энергии на встраиваемых устройствах, где поток звука через USB может продолжать передаваться, пока остальная система находится в режиме сна. На реализацию ушло около двух лет. Данная функция уже была доступна в Android в различных реализациях, но теперь появилась унифицированная реализация для всех. См. запрос на включение .
- Начальная поддержка Intel Trusted Domain Extensions – Linux 6.16 добавляет начальную поддержку расширений доверенных доменов (TDX) от Intel для защиты конфиденциальных гостевых ВМ от хоста и физических атак путем шифрования памяти гостевой ВМ. Это похоже на уже поддерживаемый AMD SEV-SNP ( см. выпуск Linux 6.11 ). Подробнее см. в документации ядра и документации Intel .
- Возможность отправки полезной нагрузки TCP без копирования из памяти DMABUF – Технология TCP для устройств памяти (включенная в Linux 6.12 ) предоставила возможность приема полезной нагрузки TCP без копирования в область памяти DMABUF, в то время как заголовки пакетов попадают отдельно в обычные буферы ядра. Этот новый выпуск Linux добавляет поддержку отправки полезной нагрузки TCP. Это означает, что данные из памяти устройств (например, от GPU или AI-ускорителя) могут приниматься и отправляться напрямую через сеть без участия основного CPU в передаче данных. Подробнее см. в документации .
- Улучшения производительности CPU Intel
-
Поддержка Intel Advanced Performance Extensions (APX) – расширение удваивает количество регистров общего назначения с 16 до 32, что позволяет коду содержать меньше операций загрузки и сохранения, приводя к повышению производительности и экономии энергии. Подробности см. в документации Intel .
-
Оптимизация сборки для локального CPU на x86 – Linux 6.16 добавляет опцию CONFIG_X86_NATIVE_CPU , которая заставляет ядро собираться с опцией -march=native . Это позволяет компиляторам оптимизировать сборку для CPU на машине сборки, что может обеспечить повышение производительности при запуске ядра Linux на той же (или аналогичной) машине.
-
Архитектура Arm в Linux 6.16
Как обычно, архитектура Arm претерпела множество изменений. Ниже приведены изменения для процессоров от Allwinner, Amlogic, Rockchip, Samsung, Qualcomm и MediaTek, а также новые SoC/платы для других производителей и изменения, связанные с Raspberry Pi.
- Поддержка ленивой вытесняющей многозадачности (lazy-preemption) и расширения масштабируемых матриц (scalable-matrix-extension) для Arm64 были включены.
- Allwinner
- Добавлена поддержка Allwinner A523 (аналогично A527 и T527 )
- Драйвер тактирования
- Добавлена поддержка тактовых сигналов DE (движка отображения) 3.3 для H616
- Добавлено отсутствующее управление сбросом LVDS для H616
- Не включать по умолчанию при тестовой компиляции
- pmdomain – Добавлена поддержка Allwinner H6/H616 PRCM PPU
- Изменения в DTS
- Также включен EMAC0 Ethernet MAC для семейства A523 на Cubie A5E и Avaota-A1. Примечание: SoC имеет два разных контроллера Ethernet.
- Включен GPU на H616 для всех поддерживаемых плат
- Установлена максимальная частота MMC для A100
- Добавлен разъем WiFi/BT на платах PINE64 A64
- Добавлены hp-det-gpios для Anbernic RG35XX
- Добавлена поддержка светодиодов PHY на Bananapi (оригинальной версии)
- Различные улучшения
- Новые устройства
- Radxa Cubie A5E SBC (A527/T527)
- ТВ-приставка X96Q-Pro+ (H728)
- SBC Avaota-A1 (T527)
- YuzukiHD Chameleon на базе H616
- Материнская плата HMI Liontron H-A133L на базе A133 (совместима с A100)
- Rockchip
- Добавлена поддержка Rockchip RK3562 SoC на Cortex-A53
- PHY
- Добавлена поддержка Rockchip usb2 для RK3562, поддержка phy usb2 RK3036
- Поддержка конфигурации и управления глубиной цвета Rockchip
- Конвертация привязок Yaml для Type-C и PCIe Phy RK3399
- Драйвер контроллера PCIe Rockchip
- Изменение порядка rockchip_pci_core_rsts, поскольку reset_control_bulk_deassert() выполняет деактивацию в обратном порядке, для исправления регрессии обучения связи
- Пометка RK3399 как способного генерировать прерывания INTx
- Драйвер контроллера PCIe Rockchip DesignWare
- Проверка только PCIE_LINKUP (без статуса LTSSM) для определения установления соединения
- Увеличение N_FTS (используется при переходах L0s->L0) и включение ASPM L0s для режимов Root Complex и Endpoint
- Скрытие неработающей возможности ATS в rockchip_pcie_ep_init() вместо rockchip_pcie_ep_pre_init(), чтобы она оставалась скрытой после сброса PERST# в непостоянных регистрах
- Вызов phy_power_off() перед phy_exit() в rockchip_pcie_phy_deinit()
- ATA – Добавление совместимости с SoC Rockchip RK3576 в привязки Designware AHCI DT
- I2C & SPI – Добавлена поддержка RK3528
- ASoC – Добавлена поддержка контроллеров SAI Rockchip
- Тактовая подсистема
- Возможность обработки различных системных регистров «General Register Files», не только системных, плюс моделирование отдельных вентилей
- По какой-то причине Rockchip перенес mmc-фазирующие тактовые сигналы из тактового блока GRF в новых SoC (например, rk3528), перед их полным перемещением в контроллер eMMC на rk3576; добавлен новый вариант тактирования фаз с использованием новой обработки GRF
- Для rk3036 добавлено управление мультиплексором usb480m и новые частоты PLL
- Обновления Device Tree для Linux 6.16:
- GMAC + SDMMC/SDIO на rk3528
- SAI + HDMI-аудио на rk3576
- Перенос псевдонимов i2c + uart rk3528 по запросу
- Использование GIC ITS для PCIe3 MSI RK3568
- Обновление устаревших свойств сброса dwmac на платах PX30
- Обновления для USB-концентраторов Cypress на платах Theobroma
- Новые устройства
- Cobra и PP1516 от Theobroma-Systems (построенные на PX30)
- Radxa Rock 5B+ (RK3588)
- Промышленная оценочная плата Rockchip RK3399
- Плата Rockchip RK3588 EVB2
- Amlogic
- Добавлена поддержка Amlogic S6/S7/S7D
- Добавлена поддержка S805Y , аналогично S805X
- Мультимедиа – процессор изображений Amlogic C3
- SPI – поддержка DMA для контроллеров SPI Amlogic
- Драйвер тактирования
- Исправление источников тактовых сигналов SPICC Amlogic G12
- Тест компиляции тактовых генераторов Amlogic только при установленном ARCH_MESON
- Дерево устройств для Linux 6.16:
- Поддержка Pinctrl для Amlogic A4
- Свойства pinconf для подтяжки RX/TX UART для всех SoC
- Поддержка SARADC для варианта SoC S905L
- Уменьшение задержки тактового сигнала в узле CPU
- Поддержка измерения тактовой частоты (clk measure) для SoC S4 и C3
- Свойство pinconf для подтяжки I2C по умолчанию на платах на базе Amlogic GXL
- Поддержка контроллера сброса (Reset Controller) для Amlogic A4 и A5
- Новые устройства
- Референсная плата Amlogic S6 BL209
- Референсная плата Amlogic S7 BP201
- Референсная плата Amlogic S7D BM202
- Amlogic S805Y (xiaomi-aquaman) Mi TV Stick
- Meson8 TCU Fernsehfee 3.0
- Samsung
- Добавлена поддержка Samsung Exynos7870, более старого чипа, аналогичного Exynos7885, с поддержкой контроллеров выводов, тактовых генераторов, I2C, MMC, последовательного интерфейса и USB.
- PHY – поддержка eusb2 phy Samsung exynos2200 и рефакторинг драйвера для этой поддержки, поддержка USBDRD exynos7870
- MFD
- Различные изменения для Samsung Exynos ACPM (Управление доступом и питанием), LPASS и SEC
- Добавлена поддержка PMIC S2MPG10, который взаимодействует через прошивку Samsung ACPM вместо I2C
- Управление выводами (Pinctrl)
- Индивидуальные обратные вызовы приостановки/возобновления для каждой системы на кристалле в драйверах Samsung
- Рефакторинг функций приостановки и возобновления драйвера для обработки банков выводов GPIO EINT Google GS101 и добавление банка выводов alive для этой системы на кристалле.
- SPI – Добавлена поддержка Samsung Exynos Autov920
- Драйверы систем на кристалле (SoC Drivers)
- Улучшена обработка таймаутов связи.
- Исключено состояние сна, позволяя пользователям (PMIC) передавать данные во время выключения системы.
- Исправлено чтение длинных сообщений из прошивки.
- Улучшения отложенной инициализации (deferred probe).
- Моделирование пользователя ACPM (PMIC) как дочернего устройства и экспорт функции devm_acpm_get_by_node() для данного сценария.
- Добавлена поддержка горячей замены CPU на Google GS101 путем переключения соответствующих бит в блоке прерываний вторичного PMU (Power Management Unit (PMU) Interrupt Generation) из основного драйвера PMU.
- Изменения в DTS для ARM – Отсутствуют
- Изменения в DTS Samsung для ARM64
- Tesla FSD: Добавлен Ethernet.
- ExynosAutov920: Добавлены дополнительные узлы последовательного интерфейса, контроллеры тактирования для кластеров CPU CL0, CL1 и CL2.
- Google GS101 – Добавлен узел syscon pmu-intr-gen для корректной горячей замены CPU.
- Перевод узлов USI (движки последовательного интерфейса) на новую константу samsung,mode, появившуюся в DT bindings v6.15-rc1.
- Изменения в конфигурации ядра (defconfig) – Отсутствуют
- Новые устройства – Samsung Galaxy J7 Prime, Samsung Galaxy A2 Core и Samsung Galaxy J6 на базе Exynos7870
- Qualcomm
- Добавлена поддержка Qualcomm MSM8926, варианта MSM8226
- Добавлена поддержка Qualcomm Snapdragon X1P42100 ( Snapdragon X Plus ), связанного с R1E80100
- Физический уровень (PHY) – Добавлена поддержка qusb2 для Qualcomm IPQ5424, драйвер uniphy-pcie для IPQ5018
- Драйвер контроллера PCIe Qualcomm
- Добавлена поддержка разбора свойства DT ‘eq-presets-<N>gts’ для пресетов выравнивания линии
- Чтение максимальной ширины линии из регистра Link Capabilities, если в DT отсутствует свойство ‘num-lanes’
- Добавлен идентификатор возможности Physical Layer 64 GT/s и смещения регистров для выравнивания линии на 8, 32 и 64 GT/s
- Добавлена универсальная поддержка dwc для настройки пресетов выравнивания линии
- Добавлена поддержка DT и драйвера для PCIe на системе на кристалле IPQ5018
- Управление выводами (Pinctrl)
- Поддержка EGPIO в драйвере Qualcomm QCM2290
- Исправлено количество доступных линий GPIO в Qualcomm QCS8300 и QCS615
- Драйверы тактирования (Clock drivers)
- Драйвер контроллера тактирования камеры для Qualcomm QCS8300
- Исправлены значения wait_val для различных Qualcomm GDSCs
- Исправлены настройки тактирования UFS для Qualcomm X Elite
- Разрешение опциональности clkaN в драйвере контроллера тактирования Qualcomm RPMh, если command db его не определяет
- WiFi
- Qualcomm (ath12k):
- Включена поддержка AHB для IPQ5332
- Добавлена поддержка мониторного интерфейса для QCN9274
- Добавлена поддержка multi-link operation для WCN7850
- Добавлена поддержка оффлоада сканирования 802.11d для WCN7850
- Режим монитора для WCN7850, улучшено регулирование в диапазоне 6 ГГц
- Qualcomm (ath11k) – восстановлена поддержка гибернации
- Qualcomm (ath12k):
- SPI – Добавлена поддержка Qualcomm IPQ5018
- Обновления драйверов
- Разрешено использование QSEECOM для служб переменных EFI на Asus Zenbook A14 и блокировка TZMEM на платформе SM7150 для предотвращения проблем с rmtfs.
- Расширение драйвера кэша последнего уровня (llcc) для поддержки версии 6 аппаратного обеспечения и включение поддержки SM8750.
- Также добавлена информация о системе (socinfo) для платформы SM8750.
- Повторное включение поддержки UCSI на SC8280XP после устранения сбоя; добавлена фильтрация уведомлений altmode для предотвращения ложных событий горячего подключения в пользовательское пространство.
- Добавлена поддержка SM7150 в pd-mapper.
- Разрешено использование QSSECOM для доступа к переменным UEFI на HP EliteBook Ultra G1q. Добавлена отсутствующая совместимость для блока TCSR IPQ5018. Исправлено предупреждение kernel-doc в драйвере SCM.
- Обновления дерева устройств для Arm64
- Добавлены tsens и термальные зоны для IPQ5332 и IPQ5424. Для IPQ6018 добавлены частоты CPU 1.2ГГц и 1.5ГГц. Для IPQ5424 добавлены MMC, светодиоды и кнопки, а для IPQ9574 – контроллер тактирования NSS и поддержка SPI NAND.
- Описание SMEM для IPQ6018 перенесено непосредственно в узел reserved-memory.
- QCS6490
- Rb3Gen2: Добавлены каналы АЦП для термопрофилирования, включен Bluetooth, активирован GPIO ориентации USB Type-C, описана мезонинная плата vision.
Плата IDP получила необходимый список защищенных тактовых сигналов.
- Rb3Gen2: Добавлены каналы АЦП для термопрофилирования, включен Bluetooth, активирован GPIO ориентации USB Type-C, описана мезонинная плата vision.
- SC7280 – Описана подсистема камеры в SC7280, UFS переведен на использование точек эксплуатации.
- Для MSM8916, MSM8919, MSM8939 и устройств на этих платформах очищено состояние pinctrl UART.
- MSM8953 – Добавлен дополнительный UART и межсоединения.
- SA8775P – Добавлены узлы CTCU и ETR, добавлены прерывания троттлинга CPUfreq.
- Samsung Galaxy S9 SM-G9600 получил описание MAX77705 (зарядка, датчик топлива, тактильная отдача, светодиоды) и PMIC для дисплея и сенсорного экрана, что позволило включить сенсорный экран. Узел LPG/PWM добавлен к PM8937; Xiaomi Redmi 5A получил управление подсветкой дисплея.
- QCS615 – Получено определение command DB.
- QCS8300 – Добавлено описание дополнительных экземпляров QUP, CPUfreq, SMMU для PCIe и контроллера SPMI.
- SAR2130P – Добавлены узлы устройства PCIe EP.
- SDM630 – Добавлены отсутствующие сбросы для SDCC. Включен модем Fairphone FP3, определены firmware-path для ADSP и WCNSS.
- SDM845 – На RB3/DragonBoard845c и QRB5165 RB5 включен сенсорный DSP; конфигурация CMA для мезонинной платы vision на обеих платах очищена. Xiaomi Pocophone F1 получил поддержку сенсорного экрана.
- SM7325 – Nothing Phone (1): описаны EEPROM дисплея, GPU и камеры.
- SM8450 – Описан контроллер конечной точки PCIe.
- SM8550 – Описаны таблицы OPP для PCIe и QUP.
- SM8750
- Добавлена статистика сна RPMh.
- Скорректированы состояния простоя кластеров; введены аудио и вычислительный DSP, а также блоки шифрования и генератора случайных чисел.
- Добавлена и включена поддержка модема на устройствах MTP и QRD.
- SM8650 – Добавлено масштабирование OSM L3, различные таблицы OPP и отсутствующие определения межсоединений. Термальные точки срабатывания для ядер CPU и GPU повышены с учетом аппаратного троттлинга.
- SM8650 – Переведен на разделы прерываний для каждого CPU для корректного описания прерываний PMU. Добавлены отсутствующие экземпляры Coresight ETE.
- SC8280XP – Введены оверлеи для устройств, работающих под Linux на уровне EL2. Добавлено несколько дополнительных экземпляров temp-alarm для PMIC.
- X Elite
- Поддержка масштабирования частоты CPU
- Введены охлаждение GPU и сторожевой таймер
- Dell XPS13 получил поддержку дисплея через USB Type-C, QCP – последовательность включения WiFi/BT, несколько устройств поддерживают HBR3.
- Включена поддержка RTC; регуляторы, питающие ресурсы, требующие постоянной работы, помечены соответствующим образом на ряде плат.
- Lenovo ThinkPad T14s получил поддержку модема SDX62 и аудиогарнитуры.
- ASUS Vivobook S 15 получил поддержку Bluetooth.
- Модель Microsoft Surface Laptop 7 получила поддержку DP через USB Type-C.
- HP Omnibook X 14 получил поддержку аудио.
- Для devkit описаны контроллер USB-мультипорта и два порта USB Type-A.
- Поддержка промышленной мезонинной платы QCS6490 RB3gen2
- Описаны и включены контроллеры и PHY PCIe для IPQ5018, IPQ5332 и IPQ5424. На IPQ9474 добавлен отсутствующий диапазон регистров MHI. Блок TCSR описан и используется для включения флагов режима загрузки на IPQ5018.
- MS8998 – Видеокодек Venus включен на ноутбуке Lenovo Miix 630.
- Движок шифрования включен на QCM2290 и QCS615. Bluetooth включен на плате RB1 на базе QCM2210.
- Устройство Fairphone FP5 получило поддержку DisplayPort audio, сенсорного экрана и дисплея через USB Type-C.
- SAR2130P – Добавлены узлы дисплея.
- Snapdragon 8cx Gen3 – Представлен сенсорный удаленный процессор (SLPI); включен на Lenovo Thinkpad X13s и CRD.
- SDM845 – Samsung Galaxy S9 получил поддержку графики, модема и базовую поддержку звука.
- SDX75 – Добавлена поддержка QPIC BAM и NAND; включена на плате IDP.
- Добавлен LLCC для SM8750. SM8550 получил поддержку видеодекодера Iris.
- Добавлены отсутствующие свойства для BAM шифрования на ряде плат, устраняющие давнюю ошибку в журнале ядра при загрузке.
- Идентификаторы тактовых сигналов DSI phy переведены на идентификаторы из заголовочного файла PHY; размер области VBIF исправлен на большом количестве плат.
- Добавлено несколько особенностей (quirks) DWC3 для множества плат.
- Внесены различные исправления в Devicetree, в основном выявленные при проверке связывания.
- Обновления дерева устройств для Arm32
- Введена поддержка LG Nexus 4 на базе AP8064. MSM8226 расширен модемными функциями; представлен LTE-совместимый вариант MSM8926; включена поддержка модема на Samsung Galaxy Tab 4.
- Определены тактовые сигналы и домены питания для простого кадрового буфера Motorola Moto G, позволяющие загрузку без параметров clk_ignore_unused и pd_ignore_unused.
- На MSM8960 введены SDCC BAM и термальный датчик (tsens).
- Обновления конфигурации ядра (defconfig) для ARM64 в Linux 6.16 – Включение драйверов глобального контроллера тактирования и TLMM pinctrl для IPQ5424 для обеспечения загрузки.
- Новые устройства
- Ноутбук HP EliteBook Ultra G1q (Snapdragon X Elite)
- Смартфон Xiaomi Redmi Note 8 (Snapdragon X Plus)
- MediaTek
- I2C — добавлен драйвер для MediaTek Dimensity 1200 (MT6893)
- WiFi — MediaTek (mt76)
- Улучшения для WiFi-7
- Реализована поддержка MT7990
- Обновления драйверов для Linux 6.16
- Рефакторинг драйвера MediaTek DVFSRC с унификацией данных платформы об ограничениях пропускной способности
- Добавлена поддержка аппаратного обеспечения DVFSRC в SoC MediaTek Dimensity 1200 MT6893
- Обновления DTS для ARM64
- MT6359 PMIC — переименован узел RTC PMIC для устранения предупреждения dtbs_check
MT7988(A)- Добавлена поддержка контроллеров SPI в SoC и BPI-R4
- Также добавлена поддержка XSPHY, USB и PCIe2
- Добавлены карты вентиляторов и охлаждения для устройства BPI-R4
- MT8365 — добавлена поддержка сенсорного экрана в MT8365 Genio EVK
- MT8188 — устранены предупреждения dtbs_check для узлов MDP3
- MT8390 (Genio) — отменено добавление имени прошивки SCP
- MT6359 PMIC — переименован узел RTC PMIC для устранения предупреждения dtbs_check
- Конфигурация Arm64 defconfig
- PHY для PCIe, HDMI, DSI и DisplayPort на всех платах
- Контроллер DMA UART MediaTek, также для всех плат
- Драйвер MDP3 для MT8186/88/95 (Chromebook и варианты Genio)
- Вспомогательный АЦП для PMIC MT6357/58/59, используемых в Genio EVK и Chromebook на базе проектов с SoC MT8183/86/88/92/95
- Пассивный мультиплексор альтернативных режимов USB Type-C iTE IT5205, присутствующий в Chromebook и Genio EVK с MT8188/95
- Контроллер питания Type-C Richtek RT1715, присутствующий на всех платах Genio
- Контроллер дисплея DSI Himax HX8279 и панель KD070FHFID015, используемые в различных ревизиях плат Genio Evaluation Kit.
- Новое устройство — добавлен вариант машины BananaPi R4 2G5
- Другие новые аппаратные платформы Arm и SoC
- NXP
- i.MX94 SoC Cortex-A55/M33/M7 для промышленных и автомобильных приложений Edge AI
- 10 плат NXP i.MX8/i.MX9, преимущественно для встраиваемых/промышленных применений
- Renesas – RZ/V2N (R9A09G056)
- Texas Instruments – 12 плат на основе чипов серии TI K3, большинство от Toradex
- WonderMedia – Добавлена поддержка WM8950 , незначительной вариации чипа WM8850; примечание: компания была поглощена VIA в 2016 году, и чипы, вероятно, сняты с производства.
- 9x 32-битных устройств, каждое на основе отдельного семейства SoC
- NXP
- Изменения, специфичные для Raspberry Pi
- Дерево устройств
- Документирование и добавление поддержки Raspberry Pi 2 второй ревизии
- Добавляет и активирует узлы дерева устройств корневого комплекса PCIe, присутствующие на Raspberry Pi 5
- Обновляет имена узлов кэша L2 BCM2712 для использования более соответствующего наименования
- drm/v3d: Использование регистров V3D_SMS для включения/отключения питания и сброса на V3D 7.x – Исправляет проблемы со сбросом GPU на Raspberry Pi 5 (BCM2712).
- Pi Camera V2 на i.MX 8M Plus – Несколько обновлений платы imx8mp-tqma8mpql-mba8mp-ras314 для поддержки Raspberry Pi Camera V2 и LVDS через оверлей дерева устройств
- Дерево устройств
Журнал изменений RISC-V в Linux 6.16
Поддержка RISC-V в Linux развивается дальше со следующими изменениями:
- Поддержка расширения FWFT SBI (часть SBI 3.0 и зависимость для многих новых расширений SBI и ISA)
- Поддержка getrandom() в VDSO
- Поддержка mseal
- Оптимизированные процедуры для вычислений синдромов raid6 и восстановления
- kexec_file() поддерживает загрузку ядер в формате Image
- Улучшения фреймворка модификации инструкций для атомарной замены с правилами корректного поведения систем
- Поддержка новых расширений ISA: Svinval, Zicbop, Zabha, вендорные расширения SiFive («xsfvqmaccdod», «xsfvqmaccqoq», «xsfvfnrclipxfqf», «xsfvfwmaccqqq»)
- Различные исправления и оптимизации, включая: обработку невыровненного доступа, преобразование символов perf, загрузку модулей, PUD THPs, улучшенные процедуры uaccess
- Alibaba T-Head – TH1520
- Добавлен драйвер контроллера сброса
- Драйверы тактовых сигналов контроллера VO (Video Output)
- Microchip – PolarFire – PCI – Исправление свойства когерентности DMA
- SiFive
- Кэш – Добавлена поддержка SoC Eswin EIC7700 , требующего нестандартных операций кэширования от драйвера ccache.
- Добавлен новый ключ hwprobe, RISCV_HWPROBE_KEY_VENDOR_EXT_SIFIVE_0, для запроса поддерживаемых вендорных расширений SiFive на текущей платформе.
- SOPHGO
- SoC
- Добавлена поддержка устройства syscon SG2044 TOP. Устройство SG2044 TOP обеспечивает функцию тактовых сигналов PLL в своей области.
- Добавлена поддержка RTC для SoC серии CV1800. Устройство называется RTC, но содержит управляющие регистры других блоков (модуль Power-on-Reset (PoR), IP DW8051 (ядро MCU) и сопутствующую SRAM), поэтому отнесено к подсистеме SoC.
- Драйвер тактовых сигналов
- Замена совместимости для SoC Sophgo CV1800 серии
- Добавлена поддержка тактовых сигналов для Sophgo SG2044
- Дерево устройств
- Добавлена поддержка Pinctrl & SPI для SoC SG2042 и рефакторинг dts cv18xx для упрощения будущей поддержки ядра ARM (SG200X содержит ядра RISC-V и ARM64).
- Начальная поддержка Sophgo SG2044 и платы SRD3-10 (пока только UART)
- SoC
- SpacemIT – K1
- Добавлен драйвер тактовых сигналов
- Исправление для pinctrl/uart
- Добавлен драйвер GPIO, включена индикация активности LED
- StarFive – Добавлен узел EEPROM в дерево устройств. Платы StarFive VisionFive2 и аналогичные на JH7110 содержат EEPROM, совместимый с Atmel 24c04.
Архитектура MIPS
Сводка обновлений MIPS состоит всего из трех строк:
- Добавлена поддержка платформы EcoNet
- Добавлена поддержка параллельной инициализации CPU на EyeQ
- Прочие исправления и оптимизации
Полный список из журнала:
- MIPS: loongson2ef: lemote-2f: добавление отсутствующих прототипов функций
- MIPS: loongson2ef: cs5536: добавление отсутствующих прототипов функций
- MIPS: SMP: Перемещение точки синхронизации AP перед задержкой калибровки
- mips: econet: Исправление некорректных зависимостей Kconfig
- MAINTAINERS: Добавление записи для платформы EcoNet.
- mips: dts: Добавление DTS EcoNet с платами EN751221 и SmartFiber XP8421-B
- dt-bindings: vendor-prefixes: Добавление SmartFiber
- mips: Добавление поддержки платформы EcoNet MIPS
- dt-bindings: mips: Добавление привязки платформы EcoNet
- MIPS: bcm63xx: nvram: Оптимизация использования crc32_le_combine()
- mips: dts: pic32: pic32mzda: Переименование узла sdhci в соответствии с общей привязкой mmc-controller
- MIPS: SMP: Перемещение точки синхронизации AP перед функциями, не поддерживающими параллелизм
- MIPS: Замена strcpy() на strscpy() в vpe_elfload()
- MIPS: BCM63XX: Замена strcpy() на strscpy() в board_prom_init()
- mips: ptrace: Улучшение форматирования и отступов кода
- MIPS: SMP: Реализация параллельной инициализации CPU для EyeQ
- mips: Добавление флага -std= из KBUILD_CFLAGS в CFLAGS vdso
- MIPS: Loongson64: Добавление отсутствующего ‘#interrupt-cells’ для loongson64c_ls7a
- mips: dts: realtek: Добавление контроллера MDIO
- MIPS: txx9: gpio: Использование новых callback-функций установки значений
Вся информация об изменениях в архитектурах Arm, RISC-V и MIPS взята из журнала изменений Linux 6.16 , сгенерированного командой git log v6.15..v6.16-rc7 --stat
с выводом только сообщений коммитов. Kernelnewbies также предоставляет собственный список изменений Linux 6.16.
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.