Линус Торвальдс только что объявил о выпуске Linux 6.18 в списке рассылки Linux Kernel Mailing List (LKML), который, вероятно, станет следующим ядром LTS:
Признаю, я был бы счастливее, если бы в последнюю неделю выпуска было немного меньше шума, связанного с исправлением ошибок, но, хотя исправлений и чуть больше, чем хотелось бы, ничего не заставило меня почувствовать, что этому выпуску нужно больше времени на «дозревание». Поэтому 6.18 помечен тегом и опубликован.
Большинство исправлений в последний момент — это мелкие правки в драйверах, а также случайные изменения в других местах (bluetooth, ceph, afs…). Ничто не кажется мне выдающимся, но, эй, если хотите увидеть детали, в конце приложен короткий список изменений.
И это, очевидно, означает, что окно слияния откроется завтра, и у меня уже есть три десятка запросов на слияние. Спасибо. И, как я уже упоминал пару недель назад в одном из примечаний к релизу-кандидату, в этом предстоящем выпуске окно слияния совпадет с ежегодным саммитом сопровождающих ядра, что означает, что я буду в отъезде на второй неделе. Я надеюсь завершить основную часть окна слияния до поездки, чтобы это было не так заметно, но посмотрим.
Таким образом, фактический выпуск rc1 может быть отложен из-за поездки, но это *не* означает, что я буду принимать запросы на слияние после закрытия окна. Это лишь означает, что я могу обрабатывать вовремя поступившие запросы не так оперативно, как это принято, и, возможно, rc1 будет отложен из-за разницы во времени на день или два. Просто имейте в виду (но я уже делал это раньше — «поездка во время второй недели окна слияния», и обычно последствия довольно незначительны).
А затем, позже, в выпуске 6.19 нас ждет праздничный сезон. Обычно это задерживает выпуск на неделю.
Теперь, глядя на календарь, я не уверен на 100%, что для 6.19 потребуется дополнительная неделя, потому что даже при обычном графике выпуска он выйдет в феврале. И к тому времени люди, предположительно, уже придут в себя после пищевой комы. Но сейчас мой план состоит в том, чтобы просто выпустить 6.19 с rc8, потому что я не вижу большого недостатка в добавлении этой дополнительной недели для компенсации любого возможного потерянного времени.
В любом случае, *сегодня* важным ядром является только что выпущенное 6.18. Пожалуйста, продолжайте тестирование.
Linux 6.17 был выпущен 28 сентября, около двух месяцев назад, удалив поддержку одноядерных процессоров (теперь они работают с поддержкой SMP), реализовав контроли векторов атак для архитектуры x86 для лучшего контроля над мерами защиты от уязвимостей оборудования, добавив поддержку динамического обновления (live patching) для 64-битных систем Arm и объединив новый модуль ядра DAMON_STAT для упрощенного мониторинга активности управления памятью в системе, среди многих других изменений. Теперь, когда вышел Linux 6.18, пришло время ознакомиться с некоторыми интересными изменениями и углубиться в подробности об архитектурах Arm, RISC-V и MIPS.
Примечательные изменения в Linux 6.18
Некоторые заметные изменения в Linux 6.18 включают:
- Спорная файловая система bcachefs была полностью удалена и теперь управляется как внешний модуль DKMS.
- Производительность приема UDP была улучшена до 47% .
- Использование инфраструктуры таблицы подкачки в качестве бэкенда кэша подкачки приводит к повышению производительности на 5–20% по пропускной способности, RPS или времени сборки для бенчмарков и тестовых нагрузок. См. коммит для подробностей и некоторых тестов.
- Поддержка Rust расширяется за счет привязок для атомарных операций, совместимых с моделью памяти ядра Linux, использования деревьев maple, создания файлов DebugFS и манипуляции с битовыми картами. Драйвер GPU Arm Mali CSF на базе Tyr написан на Rust . Грег Кроа-Хартман также сказал , что все компоненты, необходимые для реализации типичного драйвера USB на Rust, теперь на месте.
Изменения для Arm в Linux 6.18
- Allwinner
- Allwinner A523 – Добавлена поддержка GMAC200, тактов MCU PRM, контроллера сброса и Vivante GC9000 NPU
- Драйверы – Некоторые изменения в драйвере SRAM. Одно — для явной регистрации syscon. Другое — для добавления новой записи драйвера для A523, который имеет два Ethernet-контроллера и, следовательно, два регистра управления задержкой тактов RGMII.
- Изменения в дереве устройств для Linux 6.18
- Поддержка тактов MCU PRCM и контроллера сброса в семействе SoC A523/A527/T527, что особенно влияет на NPU (блок IP Vivante GC9000)
- На отладочных платах семейства A523 теперь правильно настроены внутренние часы RTC, так что RTC не «уплывает». Добавлены отсутствующие функции для AXP717 на этих платах. Добавлены отсутствующие GPIO сброса и задержки для PHY Ethernet. Наконец, для Cubie A5E теперь описаны и доступны к использованию его светодиоды.
- Добавлен оверлей (наложение) для интерфейсной платы (дополнительной платы) Orange Pi Zero. Её можно использовать с Orange Pi Zero и Zero Plus 2. Для этих двух плат (для использования с дополнением) была добавлена маршрутизация аудио по умолчанию, чтобы дополнить оверлей.
- Новые устройства
- ТВ-бокс Amediatech X96Q ( Allwinner H313 )
- Модуль NetCube Systems Nagami SoM ( Allwinner T113s ) и две базовые платы.
- Rockchip
- PHY
- Поддержка Rockchip RK3588 MIPI CSI-2 DPHY, поддержка RK3528 combphy
- Активация порта U3 OTG
- PCIe – Переход на макрос FIELD_PREP_WM16
- Тактовая частота – Экспорт тактовой частоты dsi-24MHz на RK3368, что, по-видимому, привлекает внимание для обеспечения поддержки DSI.
- DRM – Поддержка вывода DPTX на RK3588
- Rocket – Добавлен новый драйвер для NPU от Rockchip, используемого в SoC RK3588
- Новые устройства
- FriendlyElec NanoPi Zero2 SBC (Rockchip RK3528A)
- ArmSoM Sige1 SBC (Rockchip RK3528A)
- Платы Radxa ROCK 2A/2F (Rockchip RK3528A)
- Маршрутизаторы HINLINK H66K/ H68K (Rockchip RK3568)
- Firefly ROC-RK3588-RT
- PHY
- Amlogic
- ASoC – iu-encoder-i2s: исправление полярности тактового сигнала
- SPI
- Поддержка Amlogic A113L2
- Добавлен контроллер SFC флеш-памяти для Amlogic A113L2
- Часы (Clock)
- Факторизация функций probe контроллеров часов Amlogic
- Очистка определений периферийных часов Amlogic
- Очистка избыточных определений составных часов Amlogic
- Pinctrl – Добавлен недостающий pinmux i2c_d; Amlogic GXL имеет 4 I2C, подключенных к gpio-periphs. I2C_D находится на GPIOX_10/11. Добавлен соответствующий func 3 pinmux согласно datasheet для S805X/S905X/S905D.
- Изменения в драйверах
- Утечка устройства при probe в meson_sm
- Исправление значения по умолчанию для compile-test в meson_sm
- Дерево устройств ARM64 для Linux 6.18:
- Добавлена информация о кеше для SoC Amlogic
- Добавлен узел RTC для SoC Amlogic C3
- Исправлен узел PWM для SoC Amlogic C3
- Удалена возможность UHS для карты SD в Odroid-C2
- Новое устройство – Н/Д
- Samsung
- Драйверы контроллера памяти – Samsung Exynos SROM: исправлена утечка ресурсов карты ввода-вывода, если of_platform_populate() в probe() завершился неудачно.
- драйвер clk
- Tesla FSD: Предоставление тактовых сигналов CSI потребителям (DTS)
- Exynos990
- Несколько исправлений для fixed factor clocks, ширины регистров и правильных источников PLL
- Добавлено еще четыре тактовых сигнала для DPU и тактовый сигнал HSI0 для USB
- Добавлены контроллеры часов PERIC0 и PERIC1 (CMU), отвечающие за предоставление тактовых сигналов последовательным движкам (serial engines)
- Добавлено семь контроллеров часов для нового SoC Axis ARTPEC-8. SoC разделяет все основные блоки, включая контроллеры часов, с SoC Samsung, поэтому используются те же драйверы и привязки (bindings).
- Очистка: переход на clk_ops::determine_rate()
- драйверы pinctrl
- Добавлены драйверы контроллера выводов (pin controller) для нового SoC Axis ARTPEC-8. SoC разделяет все основные блоки, включая контроллер выводов, с SoC Samsung, поэтому используются те же драйверы и привязки (bindings).
- Удалена оставшаяся поддержка контроллеров выводов для SoC Samsung S3C2410. Фактическая поддержка этого SoC была удалена в январе 2023 года, так что это лишь оставшаяся очистка.
- Драйверы SoC
- Google GS101
- Включен CPU Idle, который требует программирования подсказок (hints) для состояния простоя C2 через микропрограмму ACPM (Alive Clock and Power Manager). Патч, вводящий это, зависит от свойства Devicetree ‘local-timer-stop’, которое было объединено в v6.17.
- Исправлена обработка кодов ошибок в драйвере микропрограммы ACPM при взаимодействии с PMIC.
- Exynos2200 – Добавлен выделенный совместимый идентификатор (compatible) для последовательных движков (USI).
- Google GS101
- Изменения в DTS для ARM
- Удален SoC S3C2416 из привязок (bindings), поскольку он был удален из ядра в 2023 году.
- Добавлен Ethernet, подключенный через контроллер SROM (шина памяти) на SMDK5250. Это не тестировалось, но код должен работать так же, как он работает на платах на базе Exynos5410.
- Изменения в DTS для ARM64 для Linux 6.18 от Samsung
- Плата Exynos850 e850 – Включен Ethernet.
- Exynos990 – Включены watchdog и USB, добавлено больше контроллеров часов.
- Exynos2200 – Переключение на 32-битное адресное пространство для блоков, поскольку все периферийные устройства помещаются там. Добавлены оставшиеся узлы последовательных движков (USI) (serial, I2C).
- Несколько улучшений по очистке кода.
- Изменения в конфигурации (defconfig)
- Очистка от MTD_NAND_S3C2410, удаляемого из ядра через отдельное дерево.
- Включен SoC Axis ARTPEC в конфигурацию arm64 defconfig – новая подархитектура Samsung.
- Новое устройство – SoC Axis Artpec ARTPEC-8 с платой, базовая поддержка (не напрямую от Samsung, но дизайн от корейской компании и он разделяет «все основные блоки с другими SoC Samsung (шины, контроллеры часов, контроллеры выводов, PCIe, USB)». Медиа/видеоблоки от Axis)
- Qualcomm
- Драйвер тактовых сигналов
- Введение глобального, дисплейного, rpmh и tcsr контроллеров тактовых сигналов Qualcomm Glymur
- Введение контроллера тактовых сигналов APSS Qualcomm IPQ5424
- Расширение глобального контроллера тактовых сигналов Qualcomm MSM8916 для добавления поддержки MSM8937
- Преобразование Qualcomm alpha PLL в determine_rate() clk_ops
- Добавление недостающих сбросов в дисплейный контроллер тактовых сигналов Qualcomm SC7280
- Почтовый ящик – добавление привязки Glymur CPUCP mailbox
- Драйвер контроллера PCIe
- Выбор драйвера PCI Power Control Slot, чтобы шины питания слота можно было включать/выключать, если они описаны в узле devicetree Root Port
- Разбор только дочерних узлов PCI bridge в devicetree, пропуская несвязанные узлы, такие как OPP (Operating Performance Points), которые вызывали сбои при probe.
- Добавление настроек выравнивания 8.0 GT/s и 32.0 GT/s
- Консолидация свойств Root Port ‘phy’ и ‘reset’ в struct qcom_pcie_port, независимо от того, получены ли они из узла Root Port или узла host bridge.
- Получение и отображение пространства регистров ELBI в ядре DWC, а не в каждом драйвере отдельно.
- Включение механизма ECAM в ядре DWC путем настройки iATU с ‘CFG Shift Feature’ и использование этого в драйвере qcom.
- Добавление совместимости SM8750 в qcom,pcie-sm8550.yaml
- Обновление qcom,pcie-x1e80100.yaml для разрешения пятого хоста PCIe на Qualcomm Glymur, который совместим с X1E80100, но не имеет тактового сигнала cnoc_sf_axi.
- PHY
- Новое: поддержка двухканального PHY PCIe Qualcomm SM8750 QMP, поддержка ретранслятора PMIV0104 eusb2, поддержка PHY eDP QCS8300.
- Обновление: поддержка PHY UFS Qualcomm и регулятора нагрузки PLL.
- Ethernet – поддержка функции Ethernet для SoC IPQ9574.
- WiFi – Qualcomm/Atheros (ath10k): исправления переустановки ключа GTK.
- ASoC – поддержка Qualcomm Glymur и PM4125.
- Coresight – добавление поддержки драйвера Qualcomm Trace Network On Chip.
- Trusted Execution Environment – добавление драйвера Qualcomm TEE (QTEE).
- Обновления драйверов устройств
- Внесение приложения uefisec в разрешительный список для предоставления доступа к переменным UEFI на Dell Inspiron 7441 и Latitude 7455, Hamoa EVK и Lenovo Thinkbook 16.
- Отключение tzmem на платформе SC7180, так как это вызывает проблемы с rmtfs.
- Очистка неиспользуемых, оставшихся параметров в API загрузчика MDT.
- Безусловная очистка бита триггера TCS для избежания ложных IRQ завершения в драйвере RPMh/RSC. Исправление проблемы порядка байтов в драйвере SMEM.
- Добавление поддержки pd-mapper для SM8750.
- Введение поддержки загрузки прошивки в последовательные движки QUP из Linux, что позволяет отложить выбор протокола (uart, i2c, spi и т.д.) для данного SE до загрузки ОС.
- Введение интерфейса «object invoke» в драйвере SCM для предоставления интерфейса драйверу Qualcomm TEE.
- Обновления дерева устройств Arm64
- IPQ5424 – масштабирование частоты CPU и недостающий UART.
- SM8976 – сенсорные кнопки включены на BQ Aquaris X5 Plus.
- QCM2290 – видеоускоритель включен, также как и режимы синхронизации HS для eMMC.
- SM6150 (ранее QCS615) – введение масштабирования частоты CPU и контроллера WiFi PCIe.
- QRB220 RB1 – видеоускоритель venus включен.
- SC7280 / QCS6490
- Представлен первый контроллер PCIe и PHY. Добавлена поддержка SoundWire, LPASS и USB offload, кодеки и звуковая карта затем описаны на QCM6490 IDP.
- Введен сброс ядра MDSS для очистки конфигурации загрузчика на устройствах на базе SC7280.
- На Fairphone5 добавлен USB audio offload.
- Введена поддержка AudioReach и использована для включения звука на плате RB3 Gen2 .
- SC8180X – добавлен контроллер видеотактирования.
- SC8280XP – описаны и включены контроллеры GPI DMA.
- SDM632 – включены дисплей и GPU для Fairphone 3 и зарядка на Google Pixel 3a.
- SDM850 – описана маршрутизация для второго USB-разъема на Lenovo Yoga C630.
- SM6150 – введены ADSP и CDSP FastRPC, а также видео кодер/декодер (venus).
- SM6350 – включена статистика RPMh, введен DAI USB audio offload и на Fairphone4 включена поддержка USB audio offload.
- SM8450 – на QRD описан PMIC GLINK для добавления функциональности USB Type-C и аккумулятора.
- SM8650
- Добавлены уровни ACD для GPU.
- Обновлены power-domains для контроллеров тактовых сигналов камеры и видео на SM8450, SM8550 и SM8650, теперь, когда поддержка нескольких power-domains принята.
- SM8750 – получает поддержку bwmon для динамического масштабирования шины и узлы PCIe.
- Узлы DWC3 glue и core объединены на ряде платформ.
- Поддержка USB Type-C DisplayPort расширена до 4 линий (с 2) на различных платформах, теперь, когда драйвер QMP PHY поддерживает это.
- Платформенно-специфичные константы RPMh PD заменены на общие везде, где это возможно.
- IPQ5018
- Добавлена поддержка Crypto, tsens, rng, SPI NAND, добавлены две шины MDIO и внутренний GE PHY.
- Добавлен еще один набор контроллеров UART и I2C.
- Lemans Auto (ранее SA8775P)
- Изменение названия для уменьшения путаницы с именем чипа.
- Введена и сделана по умолчанию карта памяти IoT; добавлены узлы GDSP FastRPC и GPR.
- Введены SDHCI и подсистема камеры, контроллеры USB обновлены до новой объединенной привязки.
- Lemans EVK получает определение Ethernet, определено больше контроллеров QUP и их движков GPI DMA. Также добавлены PCIe, SDHCI, remoteproc и видеоускоритель iris.
- Monaco (QCS8300)
- Введено масштабирование пропускной способности L3 и DDR. Также добавлена поддержка eMMC и generic packer router (GPR).
- На плате Monaco Ride включен контроллер eMMC.
- Введены GPU и GMU, узлы контроллеров USB обновлены до новой объединенной привязки. GPU включен на платах EVK и Ride.
- MSM8916 – определены сбросы SDCC и MDSS.
- MSM8939 – получает сброс MDSS.
- QCM2290 – добавлен интерфейс тактовых сигналов камеры.
- QCS615 – введены tsens и связанные thermal-zones.
- SDM845
- Смартфон OnePlus 6 получает светодиод уведомлений, и ядро сенсоров (SLPI) включено на Samsung Galaxy S9.
- Платы разработки Cheza удалены, так как больше не используются.
- SM8750 MTP – включены WiFi и Bluetooth.
- Snapdragon X Elite (и производные)
- PM8010 отключен по умолчанию, что убирает загрузочные сообщения об ошибках на различных платах без этого PMIC, добавлен контроллер видеотактирования.
- Для X Elite и X Plus CRD, а также Lenovo Thinkpad T14s, HBR3 помечен как допустимый для внешних DisplayPort. Включен сканер отпечатков пальцев, найденный на CRD. Включен слот PCIe x8 на QCP.
- Две модели Microsoft Surface Laptop 7 получают поддержку WiFi и Bluetooth.
- Добавлена поддержка GPU для SoC X Plus.
- Введен видеоускоритель IRIS и включен на различных ноутбуках.
- Контроллеры DisplayPort на различных платах обновлены для описания дополнительных пиксельных тактовых сигналов, используемых для MST.
- Обновления дерева устройств Arm32
- MSM8960 – перенос нескольких обновлений на платформу MSM8960 и добавление поддержки Sony Xperia SP.
- Добавлена поддержка сенсорных кнопок на Samsung Galaxy Grand 2.
- Ряд исправлений в DeviceTree.
- Обновления arm64 defconfig для Linux 6.18
- Платформа Qualcomm X Plus получила поддержку GPU, включен необходимый контроллер тактовых сигналов.
- Улучшена поддержка платформы Qualcomm QCS615, включены связанные с мультимедиа контроллеры тактовых сигналов.
- Новые устройства
- Hamoa IoT SOM и плата Hamoa EVK
- Ноутбук HP Omnibook X14
- Плата Particle Tachyon
- Samsung Galaxy S22 (SM-S901E), Samsung Galaxy S20
- Lenovo Thinkbook 16
- Dell Inspiron 7441, Dell Latitude 7455,
- Billion Capture+
- Monaco EVK (QCS8300) и Lemans EVK.
- Драйвер тактовых сигналов
- MediaTek
- Serial – 8250_mtk: активация тактового сигнала бод и управление в runtime PM.
- Networking – добавлена поддержка MediaTek PCIe 5G HP DRMR-H01.
- Maibox
- Добавлен новый драйвер почтового ящика GPUEB.
- mdq: удалены вызовы pm_runtime из send_data.
- gce: сделаны необязательными.
- Драйвер контроллера PCIe Gen3
- Добавлена настройка времени готовности системного тактового сигнала для предотвращения сбоев сигнала sys_clk_rdy в MT6991 и MT8196.
- Добавлена привязка DT и поддержка драйвера для MT6991 и MT8196.
- WiFi – mt76
- Улучшения перезапуска аппаратной части.
- Поддержка MLO.
- I2C
- Добавлена поддержка SoC MediaTek MT8196 для Chromebook и его близкого родственника, MediaTek Dimensity 9400 MT6991 SoC.
- Добавлена поддержка хоста для MediaTek MT6878.
- Драйвер тактовых сигналов – добавлена новая совместимость для SoC MediaTek MT8196, полностью совместимая с MT6765.
- Новое устройство – нет.
- Другие новые аппаратные платформы и SoC на Arm
- Apple – M2 Pro, M2 Max и M2 Ultra, используемые в поколении высокопроизводительных рабочих станций и ноутбуков Apple 2022/2023 годов. Работа над ними в Linux ведётся уже некоторое время, но всё ещё требуются патчи.
- Aspeed – 5 плат BMC на 32-битных SoC ASpeed.
- Axis – Artpec8, чип на Armv8, основанный на дизайне Samsung Exynos.
- Broadcom – 3 сетевых маршрутизатора на SoC IXP4xx (ARMv5!) и Broadcom bcm4708 (ARMv7).
- NXP
- i.MX91 однокристальная система на Cortex-A55.
- Системные модули TQ Embedded TQMa91xx на базе CPU NXP i.MX91 на плате типа LGA или сокетируемой. MBa91xxCA – базовый стартовый комплект для TQMa91xx на адаптерной плате.
- Системный модуль TQ Embedded TQMLS1012AL с использованием CPU NXP LS1012A. MBLS1012AL – опорная конструкция несущей платы.
- Одноплатный компьютер Ultratronik Ultra-MACH на базе SoC NXP i.MX8M Plus с 2 ГБ LPDDR4.
- Renesas – RZ/T2H (r9a09g077m44), RZ/N2H (r9a09g087m44), RZ/T2H (r9a09g077) и RZ/N2H (r9a09g087), промышленные встраиваемые SoC на ядрах Cortex-A55; опорные платы.
- Xilinx – добавлена поддержка карт Kria K24, KR260 и KD240 CC.
- Изменения, специфичные для Raspberry Pi
- Назначены частоты тактовых сигналов для контроллера Ethernet в системах Raspberry Pi 5.
- Добавлен псевдоним ethernet0, чтобы позволял клиентским программам, использующим этот псевдоним, получать правильный MAC-адрес Ethernet для систем Raspberry Pi 5.
- Описан сигнал прерывания VGIC таким образом, чтобы можно было использовать KVM в системах Raspberry Pi 5.
- drm/v3d – создана выделенная блокировка для dma fence – не смешивать блокировку dma fence с блокировкой active_job. Используется fence_lock для защиты dma fence, используемого планировщиком drm при сигнализации о завершении задания, и queue_lock для защиты конкурентного доступа к активному bin-заданию при OOM и сборе статистики для данного файлового дескриптора. Проблема была обнаружена при использовании PREEMPT_RT, когда система зависала при открытии нескольких вкладок Chromium на Raspberry Pi 5.
- Преобразование привязки DeviceTree контроллера сенсорного экрана Raspberry Pi фирменной прошивки 7″ в json-schema.
- Добавлена поддержка контроллера Ethernet Raspberry Pi RP1 .
- Активирован драйвер pinctrl RP1 для Pi 5.
- Добавлены узлы контроллера пинов, дополнительный контроллер GPIO, узел второго контроллера SDHCI для SDIO Wi-Fi и UARTA для Bluetooth в DTS для BCM2712 (Raspberry Pi 5).
- Активированы записи devicetree для USB на Rpi5.
Обновления RISC-V в Linux 6.18
В Linux 6.18 много изменений для RISC-V, частично из-за проблем с качеством и своевременностью наборов патчей для Linux 6.17, которые в итоге были отклонены Линусом Торвальдсом. Они были переработаны и объединены в Linux 6.18 вместе с другими обновлениями.
- Замена __ASSEMBLY__ на __ASSEMBLER__ в заголовочных файлах (другие архитектуры уже выполнили эту очистку).
- Введение ioremap_wc() для RISC-V.
- Очистка кода RISC-V kprobes для использования в основном существующих макросов вместо написания кода вручную.
- Модульный тест для RISC-V kprobes.
- Реализация набора макросов для замены порядка байт, специфичная для архитектуры, использующая для этой цели специальные инструкции RISC-V, если они доступны.
- Возможность идентифицировать и сообщать пользовательскому пространству о наличии специфичного для MIPS P8700 расширения ISA, а также использовать его специфичную для MIPS реализацию PAUSE в cpu_relax().
- Поддержка стандартизированного интерфейса RPMI для RISC-V. RPMI — это механизм связи для управления платформой между операционными системами, работающими на процессорах приложений, и удаленным процессором управления платформой. Аналогичен ARM SCMI, TI SCI и т.д. Включает изменения в irqchip, mailbox и clk.
- Поддержка расширения MPXY SBI, стандартизированного для RISC-V. MPXY — это специфичный для RISC-V стандарт, реализующий разделяемую память mailbox между операционными системами в режиме S (например, Linux) и прошивкой в режиме M (например, OpenSBI). Он включен в этот PR, поскольку один из случаев его использования — позволить прошивке в режиме M выступать в качестве единого клиента RPMI для всей активности RPMI на ядре (включая активность RPMI в режиме S). Включает драйвер mailbox.
- Некоторые обновления, связанные с ACPI, для обеспечения использования RPMI и MPXY.
- Добавление статических встроенных функций Linux memcpy_{from,to}_le32() для использования в RPMI.
- Изменение конфигурации Kconfig для ACPI, позволяющее использовать загрузочные логотипы на любой архитектуре с ACPI (включая RISC-V).
- Изменение конфигурации defconfig для RISC-V для добавления поддержки GPIO-клавиатуры и устройства событий, предназначенных для кнопок выключения или перезагрузки на передней панели.
- Несколько разрозненных исправлений и улучшений кода.
- ESWIN – Добавлена поддержка системы на кристалле EIC7700 , состоящей из кластера процессоров SiFive Quad-Core P550 и первой платы разработки на его основе, SiFive HiFive Premier P550.
- Microchip
- Добавлена поддержка комплекта разработки Microchip PolarFire SoC Discovery Kit с PolarFire SoC MPFS095T.
- Добавлена поддержка коммерческой версии набора Icicle (не инженерного образца).
- SiFive – Поддержка специфичных для производителя SiFive расширений в файле привязок (binding) для расширений. В настоящее время они используются только в реализации SBI.
- Sophgo
- Добавлен PHY для USB Sophgo CV1800 (CV18XX/SG200X).
- Драйвер контроллера PCIe Sophgo SG2042.
- Изменение в дереве устройств – для SG2042L включена поддержка NUMA, что позволяет увидеть значительный прирост производительности, например, в тесте STREAM.
- SpacemiT
- Драйвер тактовых сигналов.
- Перевод на использование clk_ops::determine_rate().
- Исправление родительских тактовых сигналов SSPA в драйвере SpacemiT.
- PMIC SpacemiT P1 – драйверы RTC и регуляторов.
- SpacemiT K1
- Поддержка контроллера PDMA, драйвер MAC для Ethernet.
- Включение драйвера MMP_PDMA в качестве модуля в сборках defconfig, где он требуется для плат Spacemit K1.
- Изменения в дереве устройств.
- Добавлена поддержка сброса (reset) в драйвер UART.
- Удален узел sec_uart1.
- Новая плата – Orange Pi RV2.
- Драйвер тактовых сигналов.
- StarFive
- Добавлены системные модули Milk-V Mars CM и CM Lite (JH7110).
- Несколько улучшений в общем файле dtsi для JH7110, некоторые связаны со свойствами, используемыми U-Boot или обнаруженными в процессе разработки U-Boot.
- Привязка (binding) и узел дерева устройств для контроллера памяти (DMC) на JH7110.
Изменения в архитектуре MIPS
Для архитектуры MIPS все еще наблюдается минимальная активность. Краткий обзор:
- перевод платформы longson32 на использование дерева устройств (DT) и фреймворка MIPS_GENERIC.
- исправления и улучшения для деревьев устройств lantiq.
- другие исправления и улучшения кода.
Выдержка из более длинного лога:
- mips: math-emu: замена устаревшей функции strcpy() в me-debugfs.
- MIPS: configs: объединение конфигураций defconfig для Loongson1.
- MIPS: унификация Loongson1 PRID_REV.
- MIPS: loongson32: переход на универсальное ядро (generic core).
- MIPS: loongson: добавление поддержки встроенного DTB.
- MIPS: dts: loongson: добавление платы CQ-T300B.
- MIPS: dts: loongson: добавление платы Smartloong-1C.
- MIPS: dts: loongson: добавление платы LSGZ_1B_DEV.
- MIPS: dts: loongson: добавление платы LS1B-DEMO.
- dt-bindings: mips: loongson: добавление плат LS1B-DEMO и CQ-T300B.
- mips: lantiq: danube: переименование узла stp на референсной плате EASY50712.
- mips: lantiq: xway: sysctrl: переименование тактового сигнала stp.
- MIPS: RB532: замена устаревшей функции strcpy() на memcpy() и strscpy().
- MIPS: Loongson64: замена устаревшей функции strcpy() на strscpy_pad().
- MIPS: generic: замена устаревшей функции strcpy() в ocelot_detect().
- MIPS: octeon: замена устаревшей функции strcpy() в octeon_model_get_string_buffer().
- MIPS: octeon: замена memset(0) + устаревшей функции strcpy() на strscpy_pad().
- MIPS: arc: замена устаревшей функции strcpy() на memcpy().
- MIPS: txx9: замена устаревшей функции strcpy() на strscpy().
- MIPS: sni: замена устаревшей функции strcpy() в sni_console_setup().
Для получения более подробной информации можно прочитать журнал изменений Linux 6.18 , сгенерированный командой git log v6.17..v6.18-rc7 --stat, чтобы показать только сообщения коммитов (без кода). Как обычно, также можно проверить Kernelnewbies для получения более широкого списка изменений в последнем ядре Linux 6.18.
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.

