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

Linus Torvalds ได้ประกาศเปิดตัว Linux 6.7 เมื่อประมาณ 2 เดือนทีผ่านมาได้เปิดตัว Linux 6.6 ที่มาพร้อมกับการรองรับฮาร์ดแวร์ Shadow Stack ของ Intel เพื่อป้องกันการใช้ช่องโหว่, EEVDF task scheduler ตัวตั้งเวลางาน (“Earliest Eligible Virtual Deadline First”) เพื่อลดเวลาแฝง (Latency), Direct I/O แบบอะซิงโครนัสที่เร็วขึ้นโดยใช้ io_uring และมีการเปลี่ยนแปลงอื่นๆ อีกมากมาย

Linux 6.7 release

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

  • bcachefs ระบบ filesystem ได้รวมเข้ากับ Linux 6.7 ที่มีการคอมมิตเกือบ 2,800 รายการ แม้ว่าปัจจุบันจะถูกทำเครื่องหมายว่า”ทดลองใช้” (experimental) หน้าเว็บไซต์ระบบ File System อธิบาย bcachefs ว่าเป็น “ระบบ filesystem COW สำหรับ Linux ที่ไม่ทำลายข้อมูลของคุณ” หรือ “ระบบไฟล์ใหม่ขั้นสูงสำหรับ Linux ที่เน้นความเชื่อถือและคงทน และมีชุดคุณสมบัติที่ครอบคลุมที่คุณคาดหวังจากระบบ filesystem ที่ทันสมัย”
  • มีการปรับปรุงประสิทธิภาพในการจัดคิวรองรับแพ็กเกตที่เข้ามาแบบยุติธรรม เพื่อระบบครือข่ายที่เร็วขึ้น โดยการ commit ที่กล่าวถึง “ซีรีย์นี้ปริมาณงานเพิ่มขึ้น 5% ใน tcp_rr workload และเพิ่ม 13% สำหรับ (unpaced) แพ็กเก็ต UDP ”
  • คุณสมบัติใหม่และการปรับปรุงมากมายสำหรับ perf profile tool ใน Linux 6.7 ทั้งหมดนี้แสดงอยู่ใน merge message
  • สถาปัตยกรรม LoongArchได้รับการรองรับของเครื่องเสมือน (Virtualization) ด้วย KVM ดูที่เอกสาร commit สำหรับรายละเอียดเพิ่มเติมที่มีเพียงเล็กน้อย
  • การยกเลิกการรองรับสถาปัตยกรรม Itanium (ia64) ของ Intel แม้ว่าจะได้รับโอกาสกลับมาอีกครั้ง

การเปลี่ยนแปลง Armใน Linux 6.7

มีการอัปเดตและการเปลี่ยนแปลงสถาปัตยกรรม Arm ใน Linux 6.7 มากมาย:

  • Enable or disable 32-bit emulation on x86-64 kernels with the ia32_emulation= command-line parameter for improved security when 32-bit emulation is not needed. The IA32_EMULATION_DEFAULT_DISABLED configuration option controls whether 32-bit emulation is enabled by default
  • Allwinner
    • Pinctrl – Extra GPIO banks for the Sunxi H616
    • Device tree
      • Added V3s nodes for PWM pinctrl, EHCI and OHCI
      • Added interconnect to R40 video codec node
    • New devices and boards
  • Rockchip
    • Power management – Add perf support to the Rockchip DFI (DDR Monitor Module) devfreq-event driver
    • DRM – Add support for displaying 10-bit 4:2:0 and 4:2:2 formats produced by the Rockchip Video Decoder on RK322X, RK3288, RK3328 and RK3399. Also add support for 10-bit 4:4:4 format.
    • ASoC – Convert RK3288 HDMI to GPIO descriptors, convert Rockchip ASoC drivers to GPIO descriptor
    • USB – On Rockchip RK3588, one of the DWC3 cores is integrated weirdly and requires two extra clocks to be enabled. Without these extra clocks hot-plugging USB devices is broken.
    • Display – Document the MIPI DSI and VOP for Rockchip RV1126, both of which are different from other SoC variants
    • Arm64 device tree
      • Add ADC buttons to rk3588-evb1
      • Add NanoPC-T6 PCIe e-key support
    • Arm32 device tree
      • Switch to operating-points-v2 for RK3128’s CPU
      • Add CPU resets for RK3128
      • Add pwm2 and pwm11 nodes for Rockchip RV1126
    • New device – Powkiddy RGB30 portable game console (Rockchip RK3566)
  • Amlogic
    • Watchdog – Add support for Amlogic C3 and S4 SoCs
    • Pinctrl – Add Amlogic T7 pin control driver
    • Clock – Add Amlogic s4 main clock controller support
    • Drivers
      • Correct meson_sm_* API retval handling
      • Use device_get_match_data() in meson SM
    • ARM64 DT changes for Linux 6.7
      • Add audio DT nodes for p200/p201/u200
      • Add a bunch of peripherals for Amlogic-T7 (watchdog, power domain, pinctrl)
      • Add a bunch of peripherals for Amlogic-A1 (clk, usb, efuse, spi, uarts, emmc, ADC, rng, i2c)
      • Add NAND node on Amlogic AXG
      • Again a bunch of DT fixups for DT bindings check
    • Defconfig add various drivers for Amlogic-based boards such as Khadas VIM3 and Hardkernel ODROID-N2:
      • KEYBOARD_GPIO_POLLED=m used to support buttons on pre-G12A boards
        KHADAS_MCU_FAN_THERMAL=m & MFD_KHADAS_MCU=m to control FAN over the MCU on Khadas VIM boards
      • MEDIA_CEC_SUPPORT=y & CEC_MESON_G12A_AO=m to enable the CEC bus
      • RTC_DRV_PCF8563=m to enable support for RTC on most SBC boards
      • VIDEO_MESON_VDEC=m to enable HW Video Decoder
      • MESON_DDR_PMU=m to enable DDR PMU perf driver on G12A & SM1 SoCs
    • New boards
  • Samsung
    • Pinctrl – Few cleanups, improvements (use __counted_by annotation) and finally switch to dynamic allocation of GPIO numberspace.
    • DTS ARM changes for Linux 6.7
      • Switch all sound cards to generic audio-routing property, supported since previous release for Samsung drivers. The old samsung,audio-routing property is deprecated.
      • Correct Exynos4210 thermal by using polling. Apparently interrupts in Thermal Monitoring Unit are broken.
      • Changes for Midas boards (Exynos4412, e.g. Samsung Galaxy S3)
        • Correct the middle hardware key to emit KEY_OK instead of KEY_MENU, because there is already separate touchkey providing KEY_MENU and both label and node name suggests this should be KEY_OK.
        • Use defines for other key input constants.
    • Samsung DTS ARM64 changes
      • Exynos850: Add support for USB 2.0 (host and device) and enable it on E850-96 board, add ramoops reserved memory region to E850-96 board for debugging purposes.
      • Exynos5433: Switch sound card to generic audio-routing property, supported since previous release for Samsung drivers. The old samsung,audio-routing property is deprecated
      • Few cleanups.
    • Defconfig changes
      • Enable several drivers for boards with Samsung Exynos ARM SoCs in exynos_defconfig and multi_v7_defconfig: display PHYs, AHCI DWC, TM2 touchkey (used on ARM and ARM64 Exynos-based boards), Samsung camera sensors and Intersil 29018 light sensor.
      • Enable also IIO in s5pv210_defconfig used by MAX17040 fuel gauge driver.
    • New Devices – N/A
  • Qualcomm
    • IOMMU
      • Device-tree binding update:  Add qcom,sm7150-smmu-v2 for Adreno on SM7150 SoC
      • SMMUv2 – Support for Qualcomm SDM670 (MDSS) and SM7150 SoCs
    • Power management – Add support for several Qualcomm SoC versions to the Qualcomm cpufreq driver
    • Remoteproc – Support for audio, compute and modem DSPs on Qualcomm SM6375, and the audio DSP in SC7180 are introduced. The peripheral NoC clock is dropped from MSM8996 modem DSP, as this is handled through the interconnect provider.
    • Pinctrl
      • MPM pin maps added for Qualcomm MSM8996, SM6115, SM6125 and SDM660
      • MLSP I2C6 function support in Qualcomm MSM8226
    • PHY
      • New support for Qualcomm sa8775p qmp-pcie, IPQ5018, and SC7280 qmp-ufs
      • Qualcomm qmp usb and combo phy updates for v6 register layout
      • Qualcomm eusb2-repeater updates for tuning overrides, regmap fields
    • ASoC – Added ASoC drivers for Qualcomm SM6115 and SC7180 platforms
    • PCIe controller driver:
      • Use PCIE_SPEED2MBS_ENC() to simplify encoding of link speed
      • Add a .write_dbi2() callback so DBI2 register writes, e.g., for setting the BAR size, work correctly
      • Enable ASPM for platforms that use 1.9.0 ops, because the PCI core doesn’t enable ASPM states that haven’t been enabled by the firmware
    • SoC Driver – Support for the Qualcomm Secure Execution Environment firmware interface to access EFI variables on certain devices, and new features for multiple platform and firmware
      drivers
    • Clock
      • Initial support for the Qualcomm SM4450 Global Clock Controller and SM4450 RPMh clock controllers
      • Add Camera Clock Controller on Qualcomm SM8550
    • WiFi Qualcomm (ath12k)
      • WCN7850:
        • enable 320 MHz channels in 6 GHz band
        • hardware rfkill support
        • enable IEEE80211_HW_SINGLE_SCAN_ON_ALL_BANDS to make scan faster
        • read board data variant name from SMBIOS
      • QCN9274: mesh support
    • New SoC – Qualcomm Snapdragon 720G (SM7125) is a close relative of Snapdragon 7c
    • ARM32 DTS updates
      • RPM master stats is introduced for MSM8226 and MSM8974
      • The PCIe PHY of SDX55 is transitioned to the new binding
      • The hall sensor on the Samsung Galaxy Tab 4 is inverted.
      • A number of fixes reported from DeviceTree validation are fixed.
    • Arm64 DTS updates for Linux 6.7
      • With the various QMP PHY bindings having been refactored, SC7180, SC7280, SDM845, SM8150, and SM8250 are transitioned to the new USB/DP combo PHY binding. IPQ6018, IPQ8074 MSM8998, SC7280, SC8180X, SDM845, SM8150, SM8250, and SM8450 are transitioned to the new PCIe PHY binding, and SC8180X is transitioned to the new UFS phy binding.
      • The UFS power supply situation is clarified, and a range of boards across MSM8996, MSM8998, SM4250, SM6115, SM6125, SM8350, SM8450, and SM8550 receives corrections for this.
      • IPQ5018 – Watchdog support is introduced, and the SCM driver has SDI (debug image) enabled – so that it can be disabled.
      • IPQ5332 – USB is enabled.
      • The hwspinlock identifier is corrected across IPQ5332, IPQ6018, IPQ8074 and IPQ9574.
      • The reserved-memory ranges for the remoteprocs on MSM8916 boards are refactored, to reduce the amount of duplicated boilerplate definitions. A number of nodes are transitioned to be disabled by default, to facilitate new boards.
      • Samsung Galaxy Tab A 8.0 and Samsung Galaxy Tab A 9.7 gains display support, and the latter capacitive keys. Samsung Galaxy J5 gains accelerometer support.
      • The Dragonboard 410c gains missing ADC7533 regulator definition, and an overlay forcing the board to operate in host mode, for automation purposes.
      • MSM8976 – The outgoing IPC bits for modem and wcss are corrected, and reserved-memory regions are updated.
      • MSM8992 and MSM8994 – Incorrect reserved-memory regions are corrected
      • The QRB2210 RB1 board gets debug UART moved per hardware update. regulator voltage ranges are corrected, remoteprocs are enabled, USB SuperSpeed PHY is enabled, and GPIO LEDs are introduced for Bluetooth, WiFi and a user LED.
      • SA8775P Ride platform – Interrupts are described for the SGMII PHYs on and the inline crypto engine is introduced for UFS.
      • SC7180  – The audio DSP remoteproc is introduced. Additional SKUs of the Lazor boards are added. The RT5682 audio codec part is reorganized to be
        easier to maintain. On Trogdor devices, the touchscreen and display panels are linked to improve the power cycling behavior across the two.
      • SC7280 – The cpuidle states are rewritten to support OS-initiated PCSI mode. LMH interrupts are added, to receive feedback when throttling occurs. The embedded USB debugger (EUD) description and the dummy usb-c-connector node is removed, as this is not correctly described. The USB3 pipe clock input of the global clock controller is properly described.
      • Modem remoteproc is introduced on SDM630, and the SDM670 PDC mapping is corrected.
      • SDM845 – MTP PCIe support is introduced. The volume down and reset buttons are defined. Remoteproc firmware names and the WiFI configuration is corrected. On Sony Xperia XZ2, XZ2 Compact, and XZ3 GPIO lines names are provided for TLMM and PMICs. The camera regulators are also added.
      • SM6125 – Display hardware blocks are added and enabled on Sony Xperia 10 II.
      • SM8150 – The ref clock is wired up to PCIe PHY
      • On SM8250/QRB5165, and the RB5 board, the DisplayPort controller and the TCPM is introduced, with all the plumbing to get USB role and orientation switching, as well as DisplayPort altmode to work. Interconnects and power-domains are also described for the QUPs on this platform.
      • Previously ignored PMICs are described for the SM8350 Hardware Development Kit (HDK), and PMR735a regulators are introduced. The pinctrl state for uart18 is corrected.
      • On SM8450 HDK audio routes are corrected, to enable the analog microphones on the board. The addition of the PRNG is reverted, in favor of an upcoming additon of a true RNG.
      • Constants are replaced with QCOM_SCM_VMID_* defines on a variety of boards.
      • The SM8550 QRD board gets Bluetooth support, and the camera clock controller is described.
      • A number of fixes are introduced in a variety of platforms and boards, to align with Devicetree bindings.
    • Arm defconfig updates – N/A
    • Arm64 defconfig updates
      • Enable the DisplayPort altmode required to get DisplayPort output to work on devices like Qualcomm Robotics RB5 platform.
      • Enable the NB7VPQ904M SuperSpeed redriver driver, used in SM8550
      • Enable LPASS pinctrl driver for SM6115 and SM8350
      • Enable M31 USB phy driver found in IPQ5332.
    • New devices and boards
      • Xiaomi Redmi Note 9 phones based on the Snapdragon 720G
      • Fairphone 5 based on QCM6490
      • BQ Aquaris M5 based on MSM8939
  • MediaTek
    • Remoteproc – Support for controlling the second core in Mediatek’s SCP dual-core setup is introduced
    • Pinctrl –  Number of additional UART groups added to the Mediatek MT7981 driver
    • PHY – New support for Mediatek MT8188
    • ASoC – Added support for many Mediatek platforms
    • Regulator
      • Cleanups and additional features for the Mediatek MT6358 driver
      • Added Mediatek MT6366
    • Thermal control
      • Add support for Mediatek LVTS MT8192 driver along with the suspend/resume routines
      • Fix probe for THERMAL_V2 for the Mediatek LVTS driver
      • Add mt7988 (Filogic 880) support for the Mediatek LVTS driver
    • DRM
      • Add support MT8188 dsi function
      • Fix coverity issue with unintentional integer overflow
      • Add support MT8188 dp/edp function
      • Fix memory leak on ->get_edid callback audio detection and error path.
      • Add connector dynamic selection capability
      • MediaTek DDP GAMMA – 12-bit LUT support
      • mtk_dsi: Fix NO_EOT_PACKET settings/handling
    • WiFi MediaTek (mt76):
      • New sub-driver for mt7925 USB/PCIe devices (WiFi 7)
      • HW wireless <> Ethernet bridging in MT7988 chips
      • mt7603/mt7628 stability improvements
  • Other new Arm hardware platforms and SoCs
    • AMD – Pensando Elba is a data processing unit based on Cortex-A72 CPU cores
    • Aspeed – Facebook’s Minevra Chassis Management Controller using AST2600 chip
    • Intel – USRobotics USR8200 is a NAS/Firewall/router based on the ancient Intel IXP4xx platform
    • Microchip – SAMA5D29 Curiosity board
    • NXP – i.MX6Q based Variscite VAR-SOM-MX6 SoM
    • Renesas – R8A779F4 (R-Car S4-8) automotive SoC and the RZ/G3S (R9A08G045) embedded SoC.
    • STMicro – Octavo OSD32MP1-RED development board based on STM32MP157
  • Raspberry Pi-related changes:
    • Correct the disabling of the activity LED for the Raspberry Pi 400
    • Fix hwrng throughput regression on Raspberry Pi 0/3

อัพเดต RISC-V

RISC-V มีความก้าวหน้าอย่างมากด้วยบันทึกการเปลี่ยนแปลงต่อไปนี้

  • Support for cbo.zero in userspace
  • Support for CBOs on ACPI-based systems
  • A handful of improvements for the T-Head cache flushing ops
  • Support for software shadow call stacks
  • Various cleanups and fixes
  •  Allwinner
    • RISC-V DT cleanups
    • Added new ISA property and PMU node to Allwinner D1
  • Microchip
    • Convert the PolarFire SoC devicetrees to use the new properties “riscv,isa-base” & “riscv,isa-extensions”. For compatibility with other projects, “riscv,isa” remains.
    • The timebase-frequency on PolarFire SoC is not set by an oscillator on the board, but rather by an internal divider, so move the property to mpfs.dtsi.
  • SiFive – IRQ – Prevent registering syscore operations multiple times in the SiFive PLIC chip driver.
  • Sophgo
  • StarFive
    • Power management – Add JH7110 AON PMU support
    • Audio-related DT nodes (PWM-DAC support)

MIPS ใน Linux 6.7

มีการเปลี่ยนแปลงเล็กน้อยเท่านั้น :

  • MIPS: AR7: remove platform
  • watchdog: ar7_wdt: remove driver to prepare for platform removal
  • vlynq: remove bus driver
  • mtd: parsers: ar7: remove support
  • serial: 8250: remove AR7 support
  • arch: mips: remove ReiserFS from defconfig
  • MIPS: lantiq: Remove unnecessary include of <linux/of_irq.h>
  • MIPS: lantiq: Fix pcibios_plat_dev_init() “no previous prototype” warning
  • MIPS: KVM: Fix a build warning about variable set but not used
  • MIPS: Remove dead code in relocate_new_kernel
  • mips: dts: ralink: mt7621: rename to GnuBee GB-PC1 and GnuBee GB-PC2
  • mips: dts: ralink: mt7621: define each reset as an item
  • mips: dts: ingenic: Remove unneeded probe-type properties
  • MIPS: loongson32: Remove dma.h and nand.h

สามารถดูรายละเอียดที่ Linux 6.7 changelog ที่มี commit messages เพิ่มเติมได้จากการใช้คำสั่ง git log v6.6..v6.7-rc8 --stat หรือสามารถอ่านบันทึกการเปลี่ยนแปลงได้บนเว็บไซต์ KernelNewbies

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

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