<<<<<<< HEAD
Перейти к основному содержимому

Версия 2403-5.4

⤓ Скачать Baikal ARM64 SDK 2403-5.4

Baikal ARM64 SDK 2403-5.4 Release Notes

Baikal ARM64 SDK 2403-5.4 содержит следующее программное обеспечение:

  1. Trusted Firmware-A (TF-A) v2.10, лицензия BSD.
    =======

    Версия 2403-5.4

    ⤓ Скачать Baikal ARM64 SDK 2403-5.4

    Baikal ARM64 SDK 2403-5.4 Release Notes

    Baikal ARM64 SDK 2403-5.4 содержит следующее программное обеспечение:

    1. Trusted Firmware-A (TF-A) v2.10, лицензия BSD.
      >>>>>>> 34205a3fd08364bacb7d90bfeb34626c67b8d413 https://github.com/ARM-software/arm-trusted-firmware

      Не реализована цепочка доверия - Chain of Trust.

      Baikal-M
      Инициализация DDR-контроллера реализована в TF-A.

      Baikal-S
      Инициализация DDR-контроллера реализована в TF-A.

    2. TianoCore UEFI (EDK II) edk2-stable202402, лицензия BSD.
      https://github.com/tianocore/tianocore.github.io/wiki

      Baikal-M
      Поддерживается загрузка Linux с SATA, NVMe, USB, SPI Flash, Gigabit Ethernet, DVD-ROM, SD card, eMMC. Есть видеоконсоль HDMI/LVDS и USB-мышь/клавиатура, а также последовательная консоль на UART0. Имеется поддержка 3 x PCIe RC.

      Примечание

      Последовательная консоль в UEFI в релизной сборке отключена. При необходимости использование последовательной консоли необходимо пересобрать образ прошивки с опцией -ud/--uefi-debug

      Baikal-S
      Поддерживается загрузка Linux с NVMe, USB, SPI Flash, Gigabit Ethernet. Есть USB-мышь/клавиатура, последовательная консоль на UART0 (включена как в релизной сборке, так и в отладочной).

    3. Linux kernel 5.4.270.
      https://www.kernel.org/

      Baikal-M

      Поддержка плат c Baikal-M:

      • DBM 1.0 (Cortex-A57 1500 MHz, DDR4-1600, объём RAM до 64 GB)
      • DBM 2.0 (Cortex-A57 1500 MHz, DDR4-2400, объём RAM до 64 GB)
      • MBM 1.0 / 2.0 (Cortex-A57 1500 MHz, DDR4-2400, объём RAM до 64 GB)

      2 x PCIe x4 (Gen3)
      1 x PCIe x8 (Gen3)
      2 x SATA 6G
      2 x Gigabit Ethernet (RGMII) (Поддержка XDP sockets)
      2 x 10 Gigabit Ethernet (10GBase-KR/KX4)
      4 x USB2.0
      2 x USB3.0/2.0
      Mali T628 (Panfrost) 750 MHz
      VDU/HDMI 2560x1440@60Hz, экспериментальный режим 3840x2160@27Hz
      VDU/LVDS 2560x1440@60Hz
      LVDS+HDMI одновременно, только Panfrost: 1920x1080@60 на каждом экране
      HDMI audio
      Video Decoder
      I2S
      HDA
      1 x SPI
      1 x eSPI
      2 x UART
      2 x I²C
      2 x SMBus
      1 x GPIO32
      eMMC/SD/SDIO
      DW Timers
      PVT
      CoreSight (Debug)

      cpufreq - Динамическое управление частотой ядер A57 и Mali T628.
      Поддержка включения/выключения ядер/кластеров Cortex-A57.
      PMU - Performance Monitor Unit.
      Поддержка виртуализации KVM + QEMU.
      Поддержка виртуализации Xen.

      Baikal-S

      Поддержка плат c Baikal-S:

      • DBS / DBS-OV (Cortex-A75 2000 MHz, DDR4-3200, объём RAM до 768 GB)
      • MBS-1S (Single Socket, Cortex-A75 2000 MHz, DDR4-2400, объём RAM до 768 GB)
      • MBS-2S (Dual Socket, Cortex-A75 2000 MHz, DDR4-2400, объём RAM до 1,5 TB)

      1 x QSPI
      2 x ARM UART PL011
      4 x DW Timers
      USB2.0
      Watchdog
      1 x GPIO32
      1 x GPIO16
      2 x GPIO8
      3 x I²C/SMBus
      2 x Gigabit Ethernet (RGMII)
      PCIe RC x16 / x8 / x4
      PCIe EP x16 / x8
      PVT
      MUX
      1 x DW UART (MUX)
      2 x I²C/SMBus (MUX)
      1 x eSPI (MUX)
      1 x QSPI (MUX

      cpufreq - Динамическое управление частотой ядер A75.
      Поддержка виртуализации KVM + QEMU.
      Поддержка виртуализации Xen.
      PMU - Performance Monitor Unit.
      CoreSight (Debug).
    4. Baikal-S: поддержка межпроцессорного взаимодействия (3 x PCIe CCIX x16).

    5. Xen 4.17.2.
      https://xenproject.org/
      Гибридный гипервизор, адаптированный для запуска на платформах Baikal-S и Baikal-M.

    6. Baikal-M: Бинарные библиотеки OpenGL и OpenCL c поддержкой Wayland/Weston: OpenGL ES 1.1, 2.0, 3.0. OpenCL 1.1.

    7. Baikal-M: Набор патчей c поддержкой Mali T628 для Mesa 20.2.

    8. Baikal-M: Бинарная библиотека OpenMAX IL и GStreamer-плагин для работы с видеодекодером.
      Поддерживаемые кодеки:

      • VP8
      • VP6
      • Sorenson Spark (реализация стандарта Н.263)
      • AVS
      • MPEG4
      • MPEG2
      • MPEG1
      • WMV9
      • VC1
      • H264
      • HEVC (H265)
    9. rootfs на базе Busybox.
      https://www.busybox.net/source.html

    10. Toolchain на основе gcc 13.1 / binutils 2.38
      https://gcc.gnu.org/

    11. Возможность отладки с использованием OpenOCD / Olimex ARM-USB-OCD-H.

    12. Поддерживается возможность использования профилировщика OProfile 1.4.0.

    13. Есть возможность запуска rootfs Debian 12. В состав SDK не входит, поставляется отдельным архивом.

    14. Библиотека SIMDe для запуска ISA расширений из других архитектур на ARM64.

    15. ACPICA версии 20221020 (iASL, tools).

    16. Библиотека OpenCSD, использующая возможности CoreSight для трассировки событий посредством утилиты ядра perf.

    17. Поддерживается возможность применить PREEMPT_RT-патч для ядра Linux.

    Примечание

    Файлы образов прошивок из директории prebuilts совместимы со старыми версиями утилиты flashrom (<= 0.9.x) Если необходимо использовать более новые версии flashrom, следует расширить файл образа до размера микросхемы флеш-памяти (32 Мб). Это можно сделать при помощи ключа -bp/--bootrom-padding или вручную соответствующими командами ОС Linux (например, truncate).

    Changelog (5.12 → 2403-5.4)

    1. SDK (основное дерево SDK)
    • Изменена схема наименования релизов SDK - теперь она имеет формат YYMM-K.k, где

      • YY - две последние цифры номера года релиза;
      • MM - номер месяца релиза;
      • K - версия ядра;
      • k - старшая ревизия ядра.

      Таким образом, данный релиз, выпущенный в марте 2024 года на базе ядра 5.4, имеет номер 2403-5.4.

    • В целях большей ясности и унификации изменена схема именования некоторых файлов в директориях prebuilts и img:

        dbm10.flash.img   ->  dbm10.flash1.bin
      dbm20.flash.img -> dbm20.flash1.bin
      dbs-ov.flash.img -> dbs-ov.flash1.bin
      dbs.flash.img -> dbs.flash1.bin
      mbm10.flash.img -> mbm10.ap.bin
      mbm10.full.img -> mbm10.flash.bin
      mbm20.flash.img -> mbm20.ap.bin
      mbm20.full.img -> mbm20.flash.bin
      mbs-1s.flash.img -> mbs-1s.flash1.bin
      qemu-m.flash.img -> qemu-m.flash1.bin
      qemu-s.flash.img -> qemu-s.flash1.bin
      bs1000-ddr-trainfware.bin -> bs1000-ddr-training.bin
    • build-boot-img.sh: при сборке двоичных образов, предназначенных для прошивки во флеш-память, теперь на экран выводится итоговая таблица с распределением компонентов образа по адресам.

    • build-boot-img.sh: добавлен ключ --coresight, включающий поддержку CoreSight в дереве устройств и UEFI (по умолчанию теперь поддержка CoreSight выключена).

    • Исправлены мелкие ошибки в скриптах сборки и вспомогательных файлах.

      Изменённые файлы:

        README переименован в README.rst
      VERSION
      prebuilts/*
      baikal/tools/build-boot-img.sh
      baikal/tools/build-initrd-img.sh
      baikal/tools/run-qemu.sh
    1. ARM Trusted Firmware (TF-A)
    • ВЕ-M1000: добавлен драйвер BMC для плат серии DBM. Драйвер обеспечивает взаимодействие с BMC по интерфейсу I2C (для управления питанием).

    • Выполнен рефакторинг драйвера SPI; исправлены ошибки, связанные с режимом адресации флеш-памяти - 4-байтные адреса теперь поддерживаются корректно, что позволяет адресовать флеш-память объёмом более 16 Мб.

    • Исправлены мелкие стилистические и логические ошибки в процедурах инициализации и драйверах различных подсистем.

      Изменённые файлы:

        plat/baikal/bm1000/bm1000_bl1_setup.c
      plat/baikal/bm1000/bm1000_bl2_setup.c
      plat/baikal/bm1000/bm1000_mmavlsp.c
      plat/baikal/bm1000/bm1000_mmca57.h
      plat/baikal/bm1000/bm1000_mmcoresight.c
      plat/baikal/bm1000/bm1000_mmmali.c
      plat/baikal/bm1000/bm1000_mmpcie.c
      plat/baikal/bm1000/bm1000_mmusb.c
      plat/baikal/bm1000/bm1000_mmvdec.c
      plat/baikal/bm1000/bm1000_mmxgbe.c
      plat/baikal/bm1000/bm1000_pm.c
      plat/baikal/bm1000/bm1000_sip_svc.c
      plat/baikal/bm1000/drivers/bm1000_cmu.c
      plat/baikal/bm1000/drivers/bm1000_cmu.h
      plat/baikal/bm1000/drivers/bm1000_scp.c
      plat/baikal/bm1000/drivers/bm1000_scp_flash.c
      plat/baikal/bm1000/drivers/bm1000_scp_flash.h
      plat/baikal/bm1000/drivers/bm1000_smbus.h
      plat/baikal/bm1000/drivers/dbm_bmc.h
      plat/baikal/bm1000/drivers/ddr/ddr_init.c
      plat/baikal/bm1000/drivers/ddr/ddr_lcru.c
      plat/baikal/bm1000/drivers/ddr/ddr_lcru.h
      plat/baikal/bm1000/drivers/ddr/ddr_main.c
      plat/baikal/bm1000/drivers/ddr/ddr_master.c
      plat/baikal/bm1000/drivers/ddr/ddr_menu.c
      plat/baikal/bm1000/drivers/ddr/ddr_menu.h
      plat/baikal/bm1000/drivers/ddr/ddr_odt_settings.c
      plat/baikal/bm1000/drivers/ddr/ddr_spd.h
      plat/baikal/bm1000/include/baikal_def.h
      plat/baikal/bm1000/include/baikal_scp.h
      plat/baikal/bm1000/include/bm1000_def.h
      plat/baikal/bm1000/include/bm1000_private.h
      plat/baikal/bm1000/include/platform_def.h
      plat/baikal/bm1000/platform.mk
      plat/baikal/bs1000/bs1000_bl1_setup.c
      plat/baikal/bs1000/bs1000_bl31_setup.c
      plat/baikal/bs1000/bs1000_ca75.h
      plat/baikal/bs1000/bs1000_dimm_spd.c
      plat/baikal/bs1000/bs1000_dt.c
      plat/baikal/bs1000/bs1000_pcie.c
      plat/baikal/bs1000/bs1000_sip_svc.c
      plat/baikal/bs1000/drivers/bs1000_cmu.c
      plat/baikal/bs1000/drivers/bs1000_coresight.c
      plat/baikal/bs1000/drivers/bs1000_scp.c
      plat/baikal/bs1000/drivers/ddr/ddr_ctrl.c
      plat/baikal/bs1000/drivers/ddr/ddr_main.c
      plat/baikal/bs1000/drivers/ddr/ddr_main.h
      plat/baikal/bs1000/drivers/ddr/ddr_master.h
      plat/baikal/bs1000/drivers/ddr/ddr_misc.c
      plat/baikal/bs1000/include/baikal_def.h
      plat/baikal/bs1000/include/baikal_scp.h
      plat/baikal/bs1000/include/bs1000_def.h
      plat/baikal/bs1000/include/bs1000_dimm_spd.h
      plat/baikal/bs1000/include/bs1000_scp_lcru.h
      plat/baikal/bs1000/include/platform_def.h
      plat/baikal/bs1000/platform.mk
      plat/baikal/common/baikal_bootflash.c
      plat/baikal/common/baikal_io_storage.c
      plat/baikal/common/baikal_pvt.c
      plat/baikal/common/baikal_sip_svc_flash.c
      plat/baikal/common/dw_spi_flash.c
      plat/baikal/common/include/baikal_bootflash.h
      plat/baikal/common/include/baikal_fdt.h
      plat/baikal/common/include/baikal_pvt.h
      plat/baikal/common/include/baikal_sip_svc.h
      plat/baikal/common/include/dw_gpio.h
      plat/baikal/common/include/dw_i2c.h
      plat/baikal/common/include/memtest.h
      plat/baikal/common/include/ndelay.h
      plat/baikal/common/include/spd.h
      plat/baikal/common/include/spi_nor_flash.h
      plat/baikal/common/memtest.c
      plat/baikal/common/spi_nor_flash.c

      plat/baikal/common/include/dw_spi_flash.h переименован,
      новое имя plat/baikal/common/include/spi_nor_flash.h
      plat/baikal/common/dw_spi_flash.c переименован,
      новое имя plat/baikal/common/spi_nor_flash.c

      Добавленные файлы:

          plat/baikal/bm1000/drivers/bm1000_ccn.c
      plat/baikal/bm1000/drivers/bm1000_ccn.h
      plat/baikal/bm1000/drivers/dbm_bmc.c
      plat/baikal/bm1000/drivers/dbm_bmc.h
      plat/baikal/common/dw_spi.c
      plat/baikal/common/include/baikal_utils_def.h
      plat/baikal/common/include/dw_spi.h
      plat/baikal/common/include/nic_400.h
    1. UEFI
    • UEFI обновлён до edk2-stable202402.

    • BE-M1000: улучшена поддержка ACPI (исправлены ошибки в конфигурационных файлах).

    • Исправлены мелкие ошибки в драйверах различных подсистем (DDR, PCIe и др.).

      Изменённые файлы:

        Platform/Baikal/Application/DdrSettings/DdrSettings.c
      Platform/Baikal/Application/DdrSettings/DdrSettings.h
      Platform/Baikal/Application/DdrSettings/DdrSettings.inf
      Platform/Baikal/Application/SpiFlash/SpiFlash.c
      Platform/Baikal/Baikal.dec
      Platform/Baikal/BM1000Rdb/BM1000Rdb.dsc
      Platform/Baikal/BM1000Rdb/BM1000Rdb.fdf
      Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/AcpiPlatform.h
      Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/Dsdt.asl
      Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/SsdtPcieCustom.asl
      Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamMenu.c
      Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamMenuComponent.c
      Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamMenuComponent.h
      Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamMenuDataStruct.h
      Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamMenu.h
      Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamMenuHii.c
      Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamMenuHii.h
      Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamMenu.inf
      Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamMenu.uni
      Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamMenu.vfr
      Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamStruc.c
      Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamStruc.h
      Platform/Baikal/BS1000Rdb/BS1000Rdb.dsc
      Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Dsdt.asl
      Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Dsdt-S1.asi
      Platform/Baikal/Drivers/EspiFlashBlockIoDxe/EspiFlashBlockIoDxe.c
      Platform/Baikal/Drivers/SdFvbDxe/SdFvbDxe.c
      Platform/Baikal/Drivers/SdFvbDxe/SdFvbDxe.inf
      Platform/Baikal/Drivers/SmcFlashBlockIoDxe/SmcFlashBlockIoDxe.c
      Platform/Baikal/Drivers/SmcFlashBlockIoDxe/SmcFlashBlockIoDxe.inf
      Platform/Baikal/Drivers/SmcFlashFvbDxe/SmcFlashFvbDxe.c
      Platform/Baikal/Drivers/SmcFlashFvbDxe/SmcFlashFvbDxe.inf
      Platform/Baikal/Include/Library/BaikalSpdLib.h
      Silicon/Baikal/BM1000/Drivers/NonDiscoverableAhciDxe/NonDiscoverableAhci.c
      Silicon/Baikal/BM1000/Drivers/NonDiscoverableAhciDxe/NonDiscoverableAhciDxe.inf
      Silicon/Baikal/BM1000/Drivers/NonDiscoverableSdhciDxe/NonDiscoverableSdhci.c
      Silicon/Baikal/BM1000/Drivers/NonDiscoverableSdhciDxe/NonDiscoverableSdhciDxe.inf
      Silicon/Baikal/BM1000/Drivers/NonDiscoverableXhciDxe/NonDiscoverableXhci.c
      Silicon/Baikal/BM1000/Drivers/NonDiscoverableXhciDxe/NonDiscoverableXhciDxe.inf
      Silicon/Baikal/BS1000/Drivers/PcieEndpointDxe/PcieEndpoint.c
      Silicon/Baikal/BS1000/Drivers/PcieEndpointDxe/PcieEndpointDxe.inf
      Silicon/Baikal/BS1000/Library/PciHostBridgeLib/PciHostBridgeLibConstructor.c

      Удалённые файлы:

      Platform/Baikal/Include/Platform/FlashMap.h
    1. Kernel (Linux kernel 5.4.270)
    • Слияние с kernel.org 5.4.270 (поддерживается патч RT_PREEMPT версии 5.4.264-rt88, который распространяется отдельно от SDK).

    • Добавлена поддержка режима Hibernation.

    • Мелкие исправления в драйверах и конфигурационных файлах различных подсистем.

      Изменённые файлы:

        arch/arm64/boot/dts/baikal/bm1000-dbm.dtsi
      arch/arm64/boot/dts/baikal/bm1000-qemu-m.dts
      arch/arm64/boot/dts/baikal/bs1000-dbs.dtsi
      arch/arm64/boot/dts/baikal/bs1000-dbs-mezzanine-qspi2.dtsi
      arch/arm64/boot/dts/baikal/bs1000.dtsi
      arch/arm64/boot/dts/baikal/bs1000-mbs-2s.dts
      arch/arm64/boot/dts/baikal/bs1000-qemu-s.dts
      arch/arm64/configs/baikal_defconfig
      arch/arm64/configs/defconfig
      drivers/edac/baikal_mc_edac.c
      drivers/hwmon/Kconfig
      drivers/hwmon/Makefile
      drivers/i2c/busses/i2c-baikal-smbus.c
      drivers/pci/controller/dwc/pcie-baikal-core.c
      drivers/usb/core/hcd-pci.c
      drivers/usb/host/ehci-pci.c
      drivers/usb/host/ohci-pci.c
      drivers/usb/host/uhci-pci.c
      drivers/usb/host/xhci.c
      drivers/usb/host/xhci.h
      drivers/usb/host/xhci-histb.c
      drivers/usb/host/xhci-pci.c
      drivers/usb/host/xhci-plat.c
      drivers/usb/host/xhci-tegra.c
      include/linux/usb/hcd.h

      Добавленные файлы:

      drivers/hwmon/baikal-pvt-core.c
      drivers/hwmon/baikal-pvt.h
      drivers/hwmon/baikal-pvt-hwmon.c
      drivers/hwmon/baikal-pvt-i2c.c

      Удалённые файлы:

      drivers/hwmon/pvt.c
      drivers/hwmon/pvt-i2c.c
    1. Initrd (Baikal Embedded Linux)
    • Утилита i2ctools обновлена до версии 4.3.0

    • Утилита pciutils обновлена до версии 3.10.0

    • Косметические изменения в /etc/motd.

      Изменённые файлы:

        programs/i2ctools/*
      programs/pciutils/*
      static/baikal/etc/init.d/rcS
      static/baikal/etc/motd
    <<<<<<< HEAD ======= >>>>>>> 34205a3fd08364bacb7d90bfeb34626c67b8d413