В состав ядра Linux была добавлена поддержка российского 28-нанометрового процессора Baikal-T1. Общее число изменений в коде ядра, имеющих отношение к этому чипу, превысило 40, и все они вошли в сборку 5.8-rc2 и позже появятся в стабильном билде версии 5.8.
Разработчики ядра Linux интегрировали в него код для поддержки российского процессора Baikal-T1 компании Baikal Electronics и основанной нем на однокристальной системы BE-T1000. Как сообщили CNews представители компании, Baikal Electronics стал первым из производителей процессоров в России, включенным в основную ветку ядра Linux.
Изменения были переданы разработчикам ядра в конце мая 2020 г. Они вошли в состав ядра Linux версии 5.8-rc2 (Release Candidate), вышедшей 22 июня 2020 г. С ней, помимо поддержки российского процессора, связано еще одна историческая веха – она вобрала в себя самое большое количество изменений с момента появления самого первого релиза ядра. По оценке разработчиков, в него вошло 1026178 строк нового кода.
На момент публикации материала в ядро Linux 5.8-rc2 было внесено свыше 40 изменений, имеющих отношение к Baikal-T1. К ключевым изменениям относятся общий код ядра и архитектуры MIPS CPU P5600, конфиг сборки ядра специфичного для CPU MIPSr5, а также конфиг сборки ядра специфичного для CPU P5600.
Помимо этого, в ядро была добавлена поддержка детектирования и расшифровки CM2 L2 ECC ошибок и MAAR-регистров в режиме XPA, доработан драйвер R4K clocksource для работы при включенном CPU-freq, интегрирована регистрация таймера в качестве sched_clock и др.
Оставшаяся часть изменений в подсистемы ядра Linux находится в процессе рецензирования. Согласно планам разработчиков, они будут внесены в состав ядра Linux 5.9, дата релиза которого на момент публикации материала установлена не была. В него также будет интегрирована поддержка однокристальной системы Baikal-T1 с файлом дерева устройств, использующим все добавленные Baikal Electronics версии драйверов.
Отечественный процессор Baikal-Т1 производится по нормам 28-нанометрового техпроцесса. Он был разработан с использованием блока процессорного ядра MIPS32 P5600 Warrior, лицензированного у компании Imagination Technologies.
Состав процессора включает два суперскалярных ядра P5600 MIPS 32 r5 с тактовой частотой 1,2 ГГц. В нем содержатся 1 МБ кэш-памяти второго уровня, контроллеры PCIe Gen.3 х4 и оперативной памяти DDR3-1600 ECC, а также следующие интегрированные интерфейсы: один порт Ethernet 10Gb, 2 Ethernet 1Gb, два порта SATA 3.0 и один USB 2.0.
Процессор потребляет менее 5 Вт энергии и поставляется в корпусе HFCBGA-576 размерами 25×25 мм. Число контактных выводов – 576 с шагом 1 мм.
Процессор Baikal-Т1 был выпущен в конце мая 2015 г., а его первые образцы стали доступны для разработчиков с 1 июня 2015 г. Процессор поставляется в комплекте со средствами разработки программного обеспечения (SDK), которые в середине июня 2020 г. получили обновление до версии SDK-T-5.4.
В новую версию SDK внесены следующие основные изменения: содержит ядро Linux 5.4.43. Добавлен драйвер XGbE. Добавлена поддержка сокетов AF_XDP в драйвер Gigabit Ethernet. Устранены зависания ядра, связанные с возникновением исключений TLB при обработке прерываний.
Добавлены рекомендации по сборке прикладных библиотек и утилит ffmpeg, libvpx, x264 (директория baikal/usr/mips_tips). Исправлена ошибка с некорректным выводом частоты DDR3 в U-Boot. Убран Eclipse. Исправлены мелкие ошибки в скриптах сборки. Исключены цели сборки BFK-1.6, BFK-1.6+ и QEMU.