เปิดตัว Linux 6.8 – การเปลี่ยนแปลงหลักของสถาปัตยกรรม Arm, RISC-V และ MIPS

Linus Torvalds ได้ประกาศเปิดตัว  Linux 6.8 บน Linux kernel mailing list (LKML)

เมื่อประมาณ 2 เดือนทีผ่านมาได้เปิดตัว Linux 6.7 โดยมี bcachefs ระบบ filesystem, มีการปรับปรุงประสิทธิภาพในการจัดคิวแบบ Fair Queuing เพื่อให้ระบบเครือข่ายมีประสิทธิภาพมากขึ้น, เพิ่มคุณสมบัติใหม่และการปรับปรุงสำหรับ perf profile tool, สถาปัตยกรรม LoongArchได้รับการรองรับด้วย KVM, ะการยกเลิกการรองรับสถาปัตยกรรม Itanium (ia64) ของ Intel และมีการเปลี่ยนแปลงอื่นๆ อีกมากมาย

Linux 6.8 release

 

การเปลี่ยนแปลงที่สำคัญใน Linux 6.8

  • รองรับไดร์ฟเวอร์กราฟฟิค Intel Xer ซึ่งมีเป้าหมายที่จะแทนที่ไดรเวอร์ i915 เก่าสำหรับ GPU Intel ใหม่ ยังอยู่ช่วงทดลอง แต่สามารถเปิดใช้งานได้บนแพลตฟอร์ม Intel Tiger Lake และรุ่นใหม่กว่าได้แล้ว สามารถดูรายละเอียดเพิ่มเติมและการทดสอบ Benchmarks (spoiler: ขณะนี้ยังไม่มีประโยชน์ด้านประสิทธิภาพ) บน Phoronix
  • zswap subsystem เพิ่มความสามารถที่บังคับให้ข้อมูลที่ไม่ค่อยได้ใช้งานที่อยู่ในแรม ไปเก็บไว้ใน Swap เมื่อมีการใช้งานจนแรมเต็มแล้ว และยังมีโหมด zswap ใหม่ที่ปิดใช้งานสามารถนำข้อมูลส่วนเกินไปเขียนบน Swap ได้ ดูการแก้ไขรายละเอียดใน commit 1 และ 2
  • เพิ่มการรองรับภาษา Rust สำหรับการสร้างไดรเวอร์ PHY ในเครือข่าย นี่เป็นครั้งแรกที่โค้ด Rust จะที่ถูกเพิ่มเข้าไปใน kernel แต่โค้ดนี้ทำซ้ำฟังก์ชันไดรเวอร์ C ที่มีอยู่แล้วและไม่เพิ่มคุณลักษณะใหม่
  • โครงสร้างข้อมูลในส่วนหลักของเครือข่ายได้รับการจัดระเบียบใหม่เพื่อเพิ่มประสิทธิภาพของแคช และผลลัพธ์ที่ได้คือประสิทธิภาพของ TCP ที่มีการเชื่อมต่อพร้อมกันจำนวนมาก มีการปรับปรุงได้สูงสุด 40%.

Linux 6.8 จะเป็นเวอร์ชันของ kernel ที่มาพร้อมกับ Ubuntu 24.04 เมื่อมีการเปิดตัวในเดือนหน้านี้

การอัปเดต Arm ใน Linux 6.8

สถาปัตยกรรม Arm มีการเปลี่ยนแปลงมากมาย :

  • Allwinner
    • Allwinner A100 – RGB LED controller
    • Allwinner H616 – ASoC driver adds SPDIF hardware block
    • Allwinner T113-S3 – Thermal controller
    • New devices
  • Rockchip
    • Added support for RV1109 processor (dual-core version of the RV1126)
    • Rockchip RK3128 – USB2 support
    • Rockchip RK3568 – Update to clock driver: add PLL rate for 115.2 and 126.4 MHz; mark pclk_usb as critical
    • Convert Rockchip HDMI device tree bindings to schemas
    • Arm64 device tree updates
      • Remove ethernetX aliases from the SoC dtsi for RK3328, RK3399 (and add those to appropriate board dts(i))
      • Add gpio alias for gpio dt nodes
      • Add rk3588 spi, i2c, serial, and gpio aliases to soc dtsi
      • Move uart, i2c, and gpio aliases to SoC dtsi for RK3128
    • New devices
  • Amlogic
    • Clock driver – Add DSI clocks on Amlogic g12/sm1; add CSI and ISP clocks on Amlogic g12/sm1
    • Amlogic C3 – Add support for reset controller
    • Amlogic ARM64 DT changes for Linux 6.8:
      • DT cleanups
      • Amlogic S4 uart node
      • drop redundant status=okay
      • minor whitespace cleanup around ‘=’
      • Watchdog nodes for S4 & C4 SoCs
      • Clock, I2C, SPICC, NAND, Ethernet nodes for S4 And the AQ222 dev board
      • Add EEPROM on the jethub-jxx boards
      • Update of the amlogic,meson-gx-hhi-sysctrl bindings
    • New boards – N/A
  • Samsung
    • Added Samsung ExynosAuto v920 automotive chip based on Arm Cortex-A78AE cores with lockstep mode.
    • Added Google gs101 (Tensor G1) chip used in a number of Pixel phones (It is grouped with Samsung Exynos since it is based on the same SoC design, sharing most of its IP blocks with that series).
    • Pinctrl driver
      • New subdriver for the Samsung Exynos Auto V920 pin controller
      • New subdriver for the Samsung “GS101” SoC pin controller. This is the Google “Tensor” SoC used in the Google Pixel 6.
      • Samsung driver now supports irq_set_affinity() in its IRQ chip giving support for non-wake-up external gpio interrupts
    • Clock driver – Documentation fixes
    • DTS ARM changes for Linux 6.8
      • Exynos4212 and Exynos4412 – Final fixes for dtbs_check warnings.
      • Exynos4210, Exynos4212, Exynos4412, S5PV210 –  Correct FIMC IS camera ranges and IO addresses to silence dtc W=1 warnings. No functional impact is expected.
      • Galaxy I9100 – Fix 12-second hang during boot by enabling regulator (real cause not really known), add touch keys and accelerometer.
    • Samsung DTS ARM64 changes
      • Add specific compatibles to all Samsung Exynos and Tesla FSD blocks, because that’s what guidelines expect and is generally recommended practice. Existing compatibles are left untouched, thus no driver changes are needed. The work only cleans things up, so any future contributions will use the recommended style: specific and fallback compatibles.
      • Add ExynosAutov920 SoC and SADK board (Samsung Automotive Development Kit) with minimal support so far: serial console, GPIO-based keys and PWM fan.
      • Tesla FSD – Add Multi Format Codec (MFC) device nodes, for accelerated video de/encoding.
      • Add initial Google Tensor GS101 SoC support. The GS101 SoC can be found on Google Pixel 6 phones. Currently, the DTS brings only basic support: core clock controllers, pin controllers, serial, watchdog, and ARM core blocks.
    • Defconfig changes – N/A
    • New Device – ExynosAutov920 SADK – Exynos Auto v920 SoC-based SADK (Samsung Automotive Development Kit) board with 16GB (8GB + 8GB) LPDDR5 RAM and 256GB
      (128GB + 128GB) UFS.  Minimal support for serial console, GPIO ley, PWM FAN
  • Qualcomm
    • Added Qualcomm SM8650 (Snapdragon 8 Gen 3) phone SoC with Arm Cortex-X4, Cortex-A720 and Cortex-A520.
    • Added Qualcomm X1E80100 (Snapdragon X Elite) in turn is the latest Laptop chip using the custom Oryon cores.
    • DMA Engine – Qualcomm X1E80100 GPI DMA controller support
    • PHY driver
      • Added Qualcomm SM8650 UFS, PCIe and USB/DP Combo PHY, eUSB2 PHY, SDX75 USB3, X1E80100 USB3 support
      • Qualcomm v7 register offsets updates
    • IOMMU driver – SMMUv2 – Ensure Secure context is restored following suspend of Qualcomm SMMU implementation
    • PCI controller drive
      • Increase qcom iommu-map maxItems to accommodate SDX55 (five entries) and SDM845 (sixteen entries)
      • Describe qcom,pcie-sc8180x and qcom,pcie-sm8150 clocks and resets accurately
      • Correct the qcom “reset-name” property, previously incorrectly called “reset-names
      • Document qcom,pcie-sm8650, based on qcom,pcie-sm8550
    • Pintrl
      • New subdriver for the Qualcomm SM8650, top level (TLMM) and LPASS pin controllers.
      • New subdrivers for the Qualcomm X1E80100 and Qualcomm SM4450  top level (TLMM) pin controllers.
    • MFD – Add support for Qualcomm PM8937 PMIC to QCOM SPMI PMIC
    • Remoteproc – Support for the Qualcomm SC7280 audio, compute and WiFi co-processors are added to the Qualcomm TrustZone-based remoteproc driver
    • Clock driver
      • Added global, display, gpu, tcsr, and rpmh clocks on Qualcomm SM8650
      • Global and RPMh clock support for the Qualcomm X1E80100 SoC
      • Support for the Stromer APCS PLL found in Qualcomm IPQ5018
      • Add a new type of branch clock, with support for controlling separate memory control bits, to the Qualcomm clk driver
      • Use above new branch type in Qualcomm ECPRI clk driver for QDU1000 and QRU1000
      • Add a number of missing clocks related to CSI2 on Qualcomm MSM8939
      • Add support for the camera clock controller on Qualcomm SC8280XP
      • Correct PLL configuration in GPU and video clock controllers for Qualcomm SM8150
      • Add runtime PM support and a few missing resets to Qualcomm SM8150 video clock controller
      • Fix configuration of various GCC GDSCs on Qualcomm SM8550
      • Mark shared RCGs appropriately in the Qualcomm SM8550 GCC driver
      • Fix up GPU and display clock controllers PLL configuration settings on Qualcomm SM8550
    • ASoC – Add support for Qualcomm SM8250, SM8550, SM8650 and X1E80100
    • Networking
      • Qualcomm SM8550 SoC Ethernet driver
      • Qualcomm (ath12k) – Add support for a single MSI vector, WCN7850: support for AP mode
    • ARM32 DTS updates
      • The recently introduced changes to the SDX55 USB controller interrupt flags prevents the USB controller from probing. These patches correct the PDC’s interrupt-cells so that an appropriate interrupt controller (which supports both-edge interrupts) can be used instead, which resolves the issue.
      • The SDX55 PCIe PHY base address is also adjusted, from a mistake when the node recently was transitioned to the modernized DeviceTree binding.
      • The GPU in MSM8226 is described, and MSM8974 gains watchdog support.
      • The PMICs are transitioned to use interrupts-extended to properly reference the PMIC interrupt controller, in accordance with the DeviceTree specification.
      • A variety of stylistic and DeviceTree validation issues are corrected.
    • Arm64 DTS updates for Linux 6.8
      • IPQ5018 and IPQ6018 – Support for CPUfreq, USB, and one additional QUP SPI controller is added.
      • IPQ5332 and IPQ6018 – CPU OPP tables are selectively enabled based on fuses, IPQ6018 also gains description of a few more SPI and UART nodes.
      • IPQ9574 – Common elements of the RDP boards are refactored into a common include file. IPQ9574 also gains description of its LEDs and WPS busttons.
      • MSM8916 – DSP-based audio described and enabled for a variety of boards. Acer Iconia Talk S and Loncheer L8910 gains notification LED, battery and charger support is added to Loncheer L8150, and GPU is enabled for Samsung Galaxy Tab A.
      • MSM8939 – DSP-based audio is added on MSM8939, the BAM-DMUX support is enabled as well. The Longcheer L9100 gains RGB notification LED support, and the wireless subsystem is enabled.
      • MSM8953 – Missing SPI controllers are described
      • MSM8996 – The MPM is enabled to allow using wakeup interrupts.
      • QCM2290 –  Interconnect providers, MPM and display are added
      • Fairphone – UFS, remoteprocs and WiFi is enabled for Fairphone FP5. On Fairphone FP3 audio, WiFi and Bluetooth are enabled.
      • Robotics boards
        • Robotics RB1 HDMI and the CAN bus controller are added.
        • Robotics RB2 – Bluetooth, the modem remoteproc, and WiFi are enabled.
        • Robotics RB5 – Bluetooth is enabled
      • SA8775P  – Tsens and thermal are added, as well as the random number generator.
      • Acer Aspire 1. – Sound and RTC support is added
      • SC7280 – DeviceTree is refactored, in order to allow non-Chrome devices to inherit the base dtsi. Support for UFS, crypto, TrustZone-based remoteprocs, the Camera Control Interface (CCI) and random number generator support are added. Additionally a variety of smaller fixes are introduced.
      • SC8180X – Variety of fixes in particular missing power-domains and interconnects.
      • SC8280XP  – Added camera clock controller and introduced a number of smaller fixes
      • SDM670 – Display subsystem described.
      • SDX75 – Interconnect providers are added, as is USB3 and the related PHY, which is then enabled on the IDP device.
      • SM6115 – Interconnect providers are added and existing clients are wired up. A UART controller is added as well.
      • SM6375 – The MPM is added to provide wakeup interrupts. The modem subsystem, and WiFi are enabled on Sony Xperia 10 IV,  a few regulator supplies are corrected.
      • SM8150 – DisplayPort controller added for USB Type-C output which together with the addition of HDMI is described on the HDK board.
      • SM8450 – GPU and random number generator support are added and enabled on the HDK board.
      • SM8550 – GPU, IPA, random number generator, missing SoundWire ports are added, and enabled on both MTP and QRD devices.
    • Arm64 defconfig updates
      • The GPU clock controller for SM8450/SM8550 is enabled and the SC8280XP camera clock controller is enabled, to enable respective functionality on these platforms.
      • Core platform-specific drivers for SM8650, SM4450, and SDX75 are enabled.
      • The sound drivers for SC8280XP and SM8650 are enabled.
      • The UEFI Secure App driver, providing EFI variable access on some platforms, is enabled.
    • New devices and boards
      • Smartphones – Five old Microsoft Lumia phones (Nokia Lumia 630, Microsoft Lumia 640, Microsoft Lumia 640 XL, Nokia Lumia 735, Nokia Lumia 830), HTC One Mini 2, Motorola MotoG 4G, Huawei Honor 5X/GR5, Xiaomi Pad 6
      • Snapdragon 8 Gen 3 mobile platform-based MTP and QRD development devices
      • Snapdragon X Elite compute platform-based QCP and CRD development/references devices.
      • QCS6590/QCM6490 platform’s IDP development device
      • Robotics RB3 gen2 board
  • MediaTek
    • Added MediaTek MT8188 processor used for mid-range tablets and Chromebooks, using two Cortex-A78 cores where the older MT8195 had four of them.
    • PCIe controller driver
      • Clear MSI interrupt status before handler to avoid missing MSIs that occur after the handler
      • Update mediatek-gen3 translation window setup to handle MMIO space that is not a power of two in size
    • MediaTek WiFi (mt76):
      • NVMEM EEPROM improvements
      • mt7996 Extremely High Throughput (EHT) improvements (MT7996 is a WiFi 7 tri-band BE19000 SoC notably found in the WiFi 7 module used with Banana Pi BPI-R4)
      • mt7996 Wireless Ethernet Dispatcher (WED) support
      • mt7996 36-bit DMA support
    • Refactoring of the MediaTek Smart Voltage Scaling (SVS) driver and the addition of support for MT8186 and MT8195. Added support for the MT8188 VDOSYS and resets in the MMSYS driver.
    • Defconfig updates – Those defconfig changes enable booting the MT8173 Chromebooks with the enablement of the DA9211 regulator driver and adds modules for sound, AudioDSP, DisplayPort and LVTS Thermal for MT8192/MT8195, and module for the ChromeOS Keyboard LED backlight which is present on various Google Chromebooks.
    • Arm Devicetree updates for Linux 6.8
      • Media Data Path 3 (MDP3) bindings and enablement on MT8195
      • Smart Voltage Scaling (SVS) on MT8195
      • LVTS SoC thermal on MT8192
      • MT8188 SoC along with its resets, display bindings, and more
      • MT8183 hardware video decoder (mtk-vcodec-dec)
      • Cleanups for various MediaTek SoCs and PMICs, and also includes some spare fixes.
    • New devices
      • Mediatek MT8183-based Chromebooks from Lenovo, Asus, and Acer (Kukui-Katsu, Jacuzzi-Makomo, Pico, Pico6)
      • MT8188 Evaluation Board (EVB)
  • Other new Arm hardware platforms and SoCs
    • Marvell – Some ComXpress boards based on Marvell CN913x, which is the follow-up to Armada 7xxx/8xxx.
    • NXP – Six new industrial/embedded boards based on NXP i.MX8 and i.MX9
    • Unisoc – UMS9620 (Tanggula 7 series) is a 5G phone SoC based on Cortex-A76 and Cortex-A55
    • Texas Instruments – Toradex Verdin AM62 Mallow carrier for TI AM62
  • Raspberry Pi-related changes – Add V3D driver support for Broadcom BCM2712’s VideoCore VI GPU found in the Raspberry Pi 5

บันทึกการเปลี่ยนแปลง RISC-V ใน Linux 6.8

  • Support for many new extensions in hwprobe, along with a handful of cleanups
  • RISC-V can also now suspend to RAM if the SUSP SBI extension is present.
  • Various cleanups to our page table handling code, so we always use {READ,WRITE}_ONCE
  • Support for the which-cpus flavor of hwprobe
  • Support for XIP kernels has been resurrected
  • Allwinner D1 – Thermal (THS) controller
  • Microchip – The flash used by Auto Update support and the corresponding QSPI controller are added. On publicly available Icicle kits this flash is not usable (engineering sample silicon issues) but in the future Icicle kits will be available that have production silicon.
  • Sophgo
    • Added support for Sopgho CV1812H
    • Huashan Pi board based on the SophGo CV1812H RISC-V chip
  • StarFive – Key peripheral support for the jh7100 that depended on the non-standard non-coherent DMA operations, namely mmc, sdcard and sdio wifi. This platform has long been supported out of tree by Emil (Renner) and Ubuntu etc ship images for it, so having mainline support for a wider range of peripherals (at last) is great.
  • Alibaba T-head – The Lichee Pi platforms and BeagleV both grow eMMC and uSD support.

สถาปัตยกรรม MIPS

สรุป MIPS สำหรับครั้งนี้คือ “การล้างข้อมูลและแก้ไข

  • MIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup()
  • MIPS: Alchemy: Fix an out-of-bound access in db1200_dev_setup()
  • MIPS: Fix typos
  • MIPS: Remove unused shadow GPR support from vector irq setup
  • MIPS: Allow vectored interrupt handler to reside everywhere for 64bit
  • mips: Set dump-stack arch description
  • mips: mm: add slab availability checking in ioremap_prot
  • mips: Optimize max_mapnr init procedure
  • mips: Fix max_mapnr being uninitialized on early stages
  • mips: Fix incorrect max_low_pfn adjustment
  • mips: dmi: Fix early remap on MIPS32
  • MIPS: compressed: Use correct instruction for 64 bit code
  • MIPS: SGI-IP27: hubio: fix nasid kernel-doc warning
  • MAINTAINERS: Add myself (Thomas Bogendoerfer) as maintainer of the Ralink architecture

สามารถดูรายละเอียดที่ Linux 6.8 changelog ที่มี commit messages เพิ่มเติมได้จากการใช้คำสั่ง  git log v6.7..v6.8 --stat หรือสามารถอ่านบันทึกการเปลี่ยนแปลงได้ 2 โพสต์ บน LWN

แปลจากบทความภาษาอังกฤษ : Linux 6.8 release – Notable changes, Arm, RISC-V, and MIPS architectures

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
โฆษณา