Домой Новости Железо В ядре Linux намерены прекратить поддержку старых ARM-платформ, ФС EFS и 32-разрядных...

В ядре Linux намерены прекратить поддержку старых ARM-платформ, ФС EFS и 32-разрядных MSR-интерфейсов

Очистка ядра от «мертвого» кода затронет архитектуры ARMv6, старые микроконтроллеры и давно забытые файловые системы.

Арнд Бергман, ответственный за пакеты ядра в компании SUSE, возобновил инициативу по очистке кодовой базы Linux. Цель проекта — избавить ядро от поддержки устаревших ARM-платформ, которые практически не используются в современных реалиях, но при этом усложняют процесс сопровождения актуальных подсистем. Первая попытка реорганизации была предпринята ещё в августе 2024 года, однако процесс затянулся, несмотря на готовность разработчиков провести «генеральную уборку» после выпуска соответствующих LTS-веток ядра.

В новом наборе патчей автор актуализировал перечень и добавил в конфигурационные файлы предупреждения о переводе ряда платформ в категорию «устаревших». Полное удаление запланировано на релиз ядра 7.4, выход которого ожидается в начале 2027 года.

Какие ARM-платформы и компоненты пойдут под нож

В список на удаление попали следующие элементы:

  • Все файлы поддержки плат, не использующие структуру Device Tree. Исключение составят только OMAP1 и S3C (ARCH_S3C64XX): первая система находится в процессе перехода, а вторая до сих пор находит применение. Также по умолчанию будет отключена поддержка ATAGS — старого механизма передачи конфигурационных данных.
  • Набор инструкций iWMMXt, который уже был признан устаревшим начиная с компилятора GCC 14.
  • Архитектура ARMv6/ARM1136r0, применяемая в таких SoC, как ARM1136r0p (NXP i.MX31) и OMAP24xx. При этом поддержка ARMv6K (ARM1136r1/ARM1176) затронута не будет.
  • Микроконтроллеры на базе Cortex-M3/M4/M7 (включая stm32, imxrt, lpc18xx, samv7) — это последние чипы в ядре, которые работают без блока управления памятью (MMU).
  • Платформа RiscPC, считающаяся старейшей из поддерживаемых в ядре.
  • Платформы LSI Axxia.
  • Эмулятор плавающей запятой NWFPE (No Floating Point Emulator), режим OABI и связанный с ним режим совместимости. Эти компоненты используются лишь на устройствах с процессорами StrongARM (архитектура ARMv4) и будут окончательно удалены вместе с поддержкой самой StrongARM.
  • Структура param_struct, использовавшаяся до появления ATAGS. Она была помечена как устаревшая ещё в 2001 году.
  • Поддержка BE8 (big-endian ARMv7) помечена как неработоспособная, однако пока останется в ядре для нужд тестирования в пространстве пользователя. Вариант big-endian для ARMv5 также сохранится, так как он востребован в процессорах ixp4xx.

Отказ от файловой системы EFS и 32-разрядных MSR

Помимо архитектурных изменений, в ядре Linux 7.3 планируют полностью удалить поддержку файловой системы EFS. Она применялась в ранних версиях ОС IRIX, вышла из употребления около 30 лет назад и более двух десятилетий не имела сопровождения. Для тех редких случаев, когда может потребоваться доступ к данным на таких разделах, существуют специальные утилиты пользовательского пространства.

Также разработчики начали процесс отказа от 32-разрядного интерфейса rdmsr(), предназначенного для работы с регистрами MSR (Model Specific Register) в процессорах. Этот интерфейс позволял по отдельности считывать части 64-разрядных значений. Планируется полный переход на 64-разрядный интерфейс rdmsrq(), что позволит заменить устаревшие макросы на современные и более эффективные inline-функции.

Источник: http://www.opennet.ru