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

Linus Torvalds ได้ประกาศเปิดตัว Linux 6.9 บน LKML (Linux kernel mailing list), เมื่อประมาณ 2 เดือนทีผ่านมาได้เปิดตัว Linux 6.8 โดยมีการเปลี่ยนแปลงที่สำคัญคือ รองรับไดร์ฟเวอร์กราฟฟิค Intel Xer ที่เป็นรุ่นทดลองใหม่ซึ่งมีเป้าหมายที่จะแทนที่ไดรเวอร์ i915 รุ่นเก่าสำหรับ GPU Intel, zswap subsystem เพิ่มความสามารถที่บังคับให้ข้อมูลที่ไม่ค่อยได้ใช้งานที่อยู่ในแรม ไปเก็บไว้ใน Swap เมื่อมีการใช้งานจนแรมเต็มแล้ว, เพิ่มการรองรับภาษา Rust สำหรับการสร้างไดรเวอร์ PHY ในเครือข่าย, โครงสร้างข้อมูลในส่วนหลักของเครือข่ายได้รับการจัดระเบียบใหม่เพื่อเพิ่มประสิทธิภาพของแคช และการเปลี่ยนแปลงอื่น ๆ อีกมากมาย Linux 6.8 ยังเป็นเคอร์เนลเริ่มต้นในระบบปฏิบัติการ Ubuntu 24.04

Linux 6.9 release

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

บางบางส่วนของการเปลี่ยนแปลงที่สำคัญสำหรับ Linux 6.9 kernel ประกอบด้วย:

  • เพิ่มการรองรับสำหรับ Intel Flexible Return and Event Delivery (FRED) ซึ่งมีเป้าหมายที่จะปรับปรุงการส่งเหตุการณ์ในระดับต่ำและช่วยให้โค้ดเป็นไปอย่างง่ายและเชื่อถือได้มากขึ้น; ดูคำสั่งเพิ่มเติมในเอกสาร documentation commit สำหรับรายละเอียดเพิ่มเติม
  • เพิ่มการรองรับการเรียกใช้ AMD Secure Nested Paging (SNP) guests (ดูเอกสารไฟล์ PDF), pซึ่งเป็นส่วนหนึ่งของโซลูชันด้านความมั่นคงเชิงความลับของ AMD อย่างไรก็ตาม การสนับสนุนเต็มรูปแบบต้องการการเปลี่ยนแปลงใน KVM ซึ่งได้เลื่อนการดำเนินการไปยัง Linux 6.10
  • การแก้ไขข้อบกพร่องสำหรับช่องโหว่ฮาร์ดแวร์ x86 ล่าสุด “Register File Data Sampling” (RFDS) ที่มีผลกระทบต่อหน่วยประมวลผล Intel Atom ได้รวมเข้าด้วยกันแล้ว รายละเอียดเพิ่มเติมสามารถพบได้ในเอกสาร documentation commit
  • Linux 6.9 สามารถใช้คุณลักษณะของพื้นที่ที่มีชื่อของ GCC เพื่อเพิ่มประสิทธิภาพในการเข้าถึงข้อมูลตาม CPU แต่ละตัว
  • การรองรับเบื้องต้นสำหรับ FUSE passthrough คุณลักษณะนี้ช่วยให้การอ่าน/เขียนไฟล์ที่บริการโดยเซิร์ฟเวอร์ FUSE ในพื้นที่ผู้ใช้สามารถถูกจัดการโดยตรงโดยเคอร์เนล ซึ่งผลลัพธ์ที่ได้เป็นการเพิ่มประสิทธิภาพโดยมีเงื่อนไขบางรายการ โหมด passthrough เฉพาะรองรับเซิร์ฟเวอร์ที่มีสิทธิพิเศษใน Linux 6.9

การเปลี่ยนแปลง Linux 6.9 สำหรับสถาปัตยกรรม Arm

  • The Rust language is now supported on 64-bit Arm processors.
  • It is now possible to run 64-bit Arm CPUs in LPA2 mode, which sets up a 52-bit virtual address space.
  • Allwinner
    • Allwinner H616 – Added SPDIF, DMA, and Thermal drivers
    • New Devices
  • Rockchip
    • Audio – Added internal audio codec driver for RK3308
    • PHY driver – Rockchip HDMI/eDP Combo PHY driver
    • Clock
      • New PLL-rate for Rockchip RK3568
      • I2S rate improvements for Rockchip RK3399
      • Rockchip RK3588 syscon clock fixes and removal of overall clock-number from the RK3588 binding header
      • A prerequisite for later improvements to the Rockchip RK3588 linked clocks
    • Arm64 device tree updates
    • New devices
      • Theobroma Systems RK3588-Q7 Qseven SoM
      • Toybrick TB-RK3588X board
      • Powkiddy RGB10MAX3 game console (RK3566)
      • Pine64 PineTab2 tablet (RK3566)
      • Anbernic RG-ARC S and RG-ARC D handheld game consoles (RK3566)
      • QNAP TS433 quad-bay NAS (RK3566)
  • Amlogic
    • Clock driver –  Fix clock listing Oops on Amlogic axg
    • Amlogic T7 – GPIO and IRQ drivers
    • Amlogic ARM64 DT changes for Linux 6.9:
      • Add reset controller for Amlogic C3
      • Set initial rate for the NPU on Amlogic G12 SoCs
      • Set initial clocks for USB on Amlogic A1
      • Initialize Amlogic AXG SoC capacitance
      • Drop unstable remark on Amlogic Bindings
      • Add all Amlogic maintainers/reviewers on Amlogic SoCs bindings
      • Cleanups – T7 whitespaces, underscore in names
    • New device – Freebox Pop Player (IPTV Set-To-Box from Free French internet provider based on Amlogic Meson G12A S905X2)
  • Samsung
    • Extend Exynos PMU (Power Management Unit) driver being also the syscon to main system controller registers block, to support Google GS101. The Google GS101 has PMU registers protected and writing is available only via SMC. The Exynos PMU will register its own custom regmap for such case of mixed MMIO+SMC.
    • Rework Samsung watchdog driver to get the regmap to PMU block not via syscon API, but from the Exynos PMU driver. This is necessary for the watchdog driver to work on Google GS101.
    • DTS Arm changes for Linux 6.9
      • Disable thermal polling by Linux in Eynos5422 Odroid XU3 boards, because drivers implement proper dynamic trip points management.
      • Mark crosc-ec-spi in Peach Pi and Peach Pit as wake-up source, to reflect the hardware capabilities.
      • Samsung P4 Note (Exynos4412): add accelerometer.
      • Samsung Galaxy Tab (Exynos5420)
        • Reduce available RAM to avoid conflict with TrustZone.
        • Add WiFi on MMC.
    • Samsung DTS ARM64 changes
      • Mostly work around Google GS101 SoC and Pixel phone (Oriole) adding support for:
        1. Multi Core Timer (MCT) clocksource.
        2. Several clock controllers (DTS and DT bindings) and use new clocks in several other device nodes.
        3. More serial-interface instances: USI8 and USI12 with I2C.
      • Exynos850 – SPI and DMA controllers (PL330).
    • Defconfig changes – N/A
    • New Devices – N/A
  • Qualcomm
    • PHY driver – Qualcomm X1E80100 PCIe phy support, SM8550 PCIe1 PHY, SC7180 UFS PHY and SDM630 USB-C support
    • WiFi
      • Qualcomm (ath11k):
        • Support 6 GHz station power modes: Low Power Indoor (LPI), Standard Power) SP and Very Low Power (VLP)
        • QCA6390 & WCN6855: support 2 concurrent station interfaces
        • QCA2066 support
      • Qualcomm (ath12k):
        • Refactoring in preparation for Multi-Link Operation (MLO) support
        • 1024 Block Ack window size support
        • firmware-2.bin support
        • support having multiple identical PCI devices (firmware needs to have ATH12K_FW_FEATURE_MULTI_QRTR_ID)
        • QCN9274: support split-PHY devices
        • WCN7850: enable Power Save Mode in station mode
        • WCN7850: P2P support
    • ARM32 DTS updates
      • MSM8226  – SAW and ACC nodes are introduced to enable SMP support. Watchdog definition is also added, and all nodes are sorted and cleaned
        up. rmtfs memory is defined on HTC One Mini 2, vibrator support is added to LG G Watch R, touch keycodes are defined for Samsung Galaxy Tab 4. The Samsung Galaxy Tab 4 DeviceTree is refactored to allow more variants to be introduced easily.
      • The SAW nodes across APQ8064, IPQ8064, MSM8960 and MSM8974 are updated based on recent work on the binding and driver.
      • IPQ8064 – SAW nodes are cleaned up, and unused reset-names is dropped from DWC3.
      • MSM8960 – GSBI3 and the I2C bus therein is introduced, in order to introduce touchscreen support on the Samsung Galaxy Express SGH-I437. gpio-keys are introduced on the same.
      • MSM8974 – The QFPROM register size is corrected. The order of the clocks in the SDX65 DWC3 node is corrected to match the binding.
      • The mach-qcom Kconfig options are cleaned up, to avoid unnecessary per-platform options.
    • Arm64 DTS updates for Linux 6.9
      • Snapdragon X Elite – Audio and compute remoteprocs, IPCC, PCIe, AOSS QMP, SMP2P, TCSR, USB, display, audio, and soundwire support is introduced, and enabled across the CRD and QCP devices.
      • SM8650 – PCIe controllers are moved to GIC-ITS and msi-map-mask is defined. Missing qlink-logging reserved-memory region is added for the modem remoteproc. FastRPC compute contexts are marked dma-coherent. Audio, USB Type-C and PM8010 support is introduced across MTP and QRD devices.
      • GPU cooling devices are hooked up across MSM8916, MSM8939, SC8180X, SDM630, SDM845, SM6115, SM8150, SM8250, SM8350, and SM8550.
      • UFS PHY clocks are corrected across MSM8996, MSM8998, SC8180X, SC8280XP, SDM845, SM6115, SM6125, SM8150, SM8250, SM8350, SM8550, and SM8650.
      • PCI MSI interrupts are wired up across SM8150, SM8250, SM8350, SM8450, SM8550, SM8650, SC7280, and SC8180X
      • IPQ6018 – QUP5 I2C, tsens sand thermal zones are defined.
      • The Inline Crypto Engine (ICE) is enabled for IPQ9574.
      • MSM8953 – The GPU and its IOMMU is introduced, the reset for the display subsystem is also wired up.
      • VLS CLAMP registers are specified for USB3 PHYs on MSM8998, QCM2290, and SM6115.
      • QRB4210 RB2 – USB Type-C port management is enabled.
      • SA8295P ADP – The MAX20411 regulator powering the GPU rails is introduced and the GPU is enabled. The first PCI instance on SA8540P Ride is disabled for now, as a fix for the interrupt storm produced here has not been presented.
      • SA8775P – The firmware memory map has changed and is updated. Safety IRQ is added to the Ethernet controller.
      • SC7180 – UFS support is introduced and the cros-ec-spi is marked as wakeup source.
      • SC7280 – Capacity and DPC properties are added, cryptobam definition is improved to work in more firmware environments, more Chrome-specific properties are moved out from main dtsi, and cros-ec-spi is maked as a wakeup source. Slimbus definition is added to the platform.
      • A missing reserved-memory range is added to Fairphone FP5, PMIC GLINK and Venus are enabled. LEDs are introduced and voltage settings corrected on the QCM6490 IDP, and RB3gen2 sees the same voltage changes and GCC protected clocks are introduced to make the board boot properly.
      • RPMh sleep stats and a variety of cleanups and fixes are introduced for SC8180X.
      • SC8280XP – The additional tsens instances are introduced. Camera Subsystem and Camera Control Interface (CCI) are added. PMIC die-temp vadc channels are introduced on the CRD, to allow ADC channels to be tied to the shared PMIC temp-alarms, to actually report temperature.
      • SDM630 – USB QMP PHY support is introduced and enabled on the Inforce IFC6560 board. On the various Sony Xperia XA2 variants WLED is enabled and configured.
      • SM6350 – Display subsystem interconnects and tsens-based thermal zones are added.
      • SM7125 – UFS support is added.
      • Fairphone FP4 (SM7225) – Display and GPU are enabled, and firmware paths are corrected.
      • SM8150 – PCIe controller definitions are corrected.
      • SM8550 – As with SM8650, the SM8550 the fastrpc compute contexts are marked dm-coherent, and PCIe controllers are moved to use GIC-ITS. The UFS controller frequency definition is moved to the generic opp-table. Touchscreen is enabled on the QRD device.
      • Variety of smaller cleanups and corrections to match DeviceTree bindings and style guidelines are introduced across the various files.
    • Arm64 defconfig updates
      • Enable the Qualcomm PBS driver to resolve the dependency from the Light Pulse Generator (LED-driver) on modern Qualcomm platforms. Enable the X1E multimedia clock controllers, to provide clocks for the various multimedia blocks. Enable Global clock controller and interconnect drivers for the QDU1000/QRU1000 platforms.
      • Enable the audio drivers and the Goodi Berlin touchscreen driver, used on SM8650 QRD.
      • Enable the MAX20411 regulator driver drive the GPU rail on SA8295P.
      • Mark the Qualcomm interconnect providers that feeds UART instances as builtin, to ensure the console exists when userspace is launched.
    • New devices and boards
      • Samsung Galaxy Tab 4 10.1 LTE
      • Four variants of Samsung Galaxy Core Prime and Grand Prime, built on MSM8916
      • SM8550 (Snapdragon 8 Gen 2) Hardware Development Kit (HDK)
  • MediaTek
    • Added support for Mediatek MT7981B (Filogic 820) and MT7988A (Filogic 880) networking SoCs designed to be used in wireless routers, and similar to the already supported MT7986A (Filogic 830).
    • PHY driver – Mediatek MT8365 CSI phy driver
    • DMA engine – Yaml conversion for MediaTek High-Speed controller binding
    • Add support for Sound to MediaTek MT6357 CODEC
    • mt76 wifi driver:
      • mt7915: newer ADIE version support
      • mt7925: radio temperature sensor support
    • Defconfig updates
    • Arm Devicetree updates for Linux 6.9
      • Adds more support for the MediaTek MT8186 SoC’s Video and JPEG encoders
      • Adds MT7988 clocks
      • Enables wakeup support for the CrOS EC on SPI in all MediaTek Chromebooks
      • Performs some cleanups and includes some spare fixes.
    • New devices
      • Xiaomi AX3000T (MT7981B)
      • Acelink EW-7886CAX (MT7986A)
      • Banana Pi BPI-R4 (MT7988A)
      • MT8186 Chromebooks: Tentacruel, Tentacool, Steelix, Rusty, Magneton
      • Radxa NIO 12L based on MediaTek Genio 1200 (MT8395)
  • Other new Arm hardware platforms and SoCs
    • NVIDIA – Two Android phones based on the old Tegra30 chip
    • NXP
      • Added support for i.MX8DXP is a variant of i.MX8QXP, with two CPU cores less.
      • Eight embedded board using NXP i.MX6/8/9
    • Renesas
      • Added support for R8A779G2 (R-Car V4H ES2.0) and R8A779H0 (R-Car V4M) automotive SoCs.
      • Three variants of the “White Hawk” board for Renesas automotive SoCs
    • Texas Instruments
      • J722S is another automotive variant of its K3 family, related to the AM62 series.
      • Added PowerVR SGX GPU nodes
      • Three evaluation boards for TI K3-based SoCs
  • Raspberry Pi-related changes – Wifi – Fix boot crash on Raspberry Pi 4 introduced with “allow per-vendor event handling” commit last January.

การอัปเดต RISC-V  ใน Linux 6.9

RISC-V ได้รับการเปลี่ยนแปลงอย่างมีความสำคัญใน Linux 6.9 :

  • Support for various vector-accelerated crypto routines
  • Hibernation is now enabled for portable kernel builds
  • mmap_rnd_bits_max is larger on systems with larger VAs
  • Support for fast GUP
  • Support for membarrier-based instruction cache synchronization
  • Support for the Andes hart-level interrupt controller and PMU
  • Some cleanups around unaligned access speed probing and Kconfig settings
  • Support for ACPI LPI and CPPC
  • Various cleanups related to barriers
  • A handful of fixes
  • Microchip
    • Missing bus clocks for the CAN controllers spotted during the creation of a driver for the controllers
    • Specific compatible for the SiFive PDMA block on PolarFire SoC.
  • SiFive – Rework the SiFive PLIC driver to prepare for MSI support
  • Sophgo
    • SG2042 – Add reset controller, reset generator support
    • CV1800B and SG2002 – MMC and SD controllers
  • StarFive
    • Added StarFive StarLink PMU (Performance Monitoring Unit) with support for monitoring L3 memory system PMU events
    • JH8100 SoC – IRQ driver, Watchdog support, StartLink PMU, (OpenCores) PWM,
    • JH7110 SoC – Add camera subsystem nodes (dphy-rx, csi2rx, camss nodes), DWMAC, PWM
    • VisionFive V1 SBC – Setup Ethernet PHY
  • Alibaba T-head
    • TH1520
      • Increase tuning loop count to 128 for SD card driver
      • Enable mmc and dma drivers; needed to boot boards like the LicheePi 4A and BeagleV-Ahead from eMMC flash

การเปลี่ยนแปลงใน MIPS

สรุปของการเปลี่ยนแปลงในสถาปัตยกรรม MIPS :

  • Added support for Mobileye SoCs
  • Unified GPR/CP0 regs handling for uasm
  • Cleanups and fixes

รูปแบบที่ยาวขึ้น:

  • mips: cm: Convert __mips_cm_phys_base() to weak function
  • mips: cm: Convert __mips_cm_l2sync_phys_base() to weak function
  • mips: dts: ralink: mt7621: add cell count properties to usb
  • mips: dts: ralink: mt7621: add serial1 and serial2 nodes
  • mips: dts: ralink: mt7621: reorder serial0 properties
  • mips: dts: ralink: mt7621: associate uart1_pins with serial0
  • MIPS: ralink: Don’t use “proxy” headers
  • mips: sibyte: make tb_class constant
  • mips: mt: make mt_class constant
  • MIPS: ralink: Remove unused of_gpio.h
  • bus: bt1-apb: Remove duplicate include
  • MAINTAINERS: remove entry to non-existing file in MOBILEYE MIPS SOCS
  • MIPS: mipsregs: Parse fp and sp register by name in parse_r
  • tty: mips_ejtag_fdc: Fix passing incompatible pointer type warning
  • mips: zboot: Fix “no previous prototype” build warning
  • MIPS: mipsregs: Set proper ISA level for virt extensions
  • MIPS: Implement microMIPS MT ASE helpers
  • MIPS: Limit MIPS_MT_SMP support by ISA reversion
  • MIPS: Loongson64: test for -march=loongson3a cflag
  • MIPS: BMIPS: Drop unnecessary assembler flag

สามารถดูรายละเอียดที่ Linux 6.9 changelog ที่มี commit messages เพิ่มเติมได้จากการใช้คำสั่ง git log v6.8..v6.9-rc7 --statสามารถอ่านบันทึกการเปลี่ยนแปลงได้ the relevant LWN articles และ Kernelnewbies’ changelog จะอัปเดตเร็วๆ นี้

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

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