Linux 6.8版本– Arm、RISC-V和MIPS体系结构的显著变化

描述

Linus Torvalds刚刚在Linux内核邮件列表上宣布了Linux 6.8的发布:

因此,本次发布的提交数量下降的时间比我倾向于的要长一些,但其中很多似乎是关于各种自检更新(尤其是网络),而不是任何实际的问题迹象。过去的两周非常平静,所以我觉得没有真正的理由推迟6.8。我们总是有一些零散的工作,最终我们会将其中一些工作推到稳定状态,而不是保留新代码。没有什么令人担忧的事情足以阻止正常的发布时间表。

和往常一样,下面的短日志只是rc7以来的最后一周,6.8的总体变化显然要大得多。这并不像6.7那样是历史上最大的发布版本——在过去几年里,我们似乎又回到了相当平均的发布规模。您也可以在总体差异统计中看到它——这在几乎所有方面看起来都是一个平均版本,而且我们没有(例如)任何明显的大型新文件系统或体系结构。我认为6.8中最大的一个新东西可能是新的Xe-drm驱动程序,但老实说,大部分变化只是各种随机更新和修复。
 
正如它应该是。

在一片正常的海洋中,有一件事很突出,那就是随机数字命理学。这是最后一个拥有少于1000万个git对象的主线内核。事实上,我们有999.6万个物体,所以如果不是因为过去几周的平静,我们真的很接近跨越这一里程碑。其他树——尤其是接下来的linux——显然已经远远超过了这个限制。

当然,除了一个漂亮的整数之外,它绝对没有什么特别之处。Git不在乎。

无论如何,这一切显然意味着明天6.9的合并窗口将打开,我已经有几个拉取请求挂起。感谢每一个提前发出拉货请求的人,你知道自己是谁了。但在这种兴奋开始之前,请花点时间了解现在无聊的旧现状,并给6.8一个好的测试,好吗?

莱纳斯

两个多月前发布的Linux 6.7引入了bcachefs文件系统,对公平排队数据包调度程序实现了性能改进,以加快网络速度,为性能配置文件工具添加了各种新功能和增强功能,LoongArch体系结构获得了KVM支持,并删除了对英特尔安腾(ia64)体系结构的支持,以及许多其他更改。驱动

Linux 6.8中的显著变化

新的Linux 6.8内核的一些有趣的更改包括:

新的英特尔Xe drm驱动程序,旨在为新的英特尔GPU取代传统的i915驱动程序。它仍然是实验性的,但可以在英特尔老虎湖和更新的平台上启用。更多细节和基准测试(剧透:目前没有性能优势)可以在Phoronix上找到。

zswap子系统已经获得了在内存紧张时强制冷页进行(实际)交换的能力,而且还有一种新的zswap模式,可以完全禁用回写以进行交换。有关详细信息,请参见提交1和2。

为创建网络PHY驱动程序添加了Rust支持。这是添加到内核中的第一个用户可见的Rust代码。请注意,它复制了现有C驱动程序的功能,并且没有添加新功能。

为了提高缓存效率,核心网络数据结构已经重新组织,因此,具有许多并发连接的TCP性能提高了40%。

Linux 6.8在下个月发布时也应该成为Ubuntu 24.04附带的内核。

Linux 6.8中的Arm更新

和往常一样,Arm体系结构发生了很多变化:

全志科技

Allwinner A100–RGB LED控制器

Allwinner H616–ASoC驱动程序添加SPDIF硬件块

Allwinner T113-S3–热控制器

新设备

Orange Pi Zero 2W单板电脑(Allwinner H618)

超速8K618-T电视盒(Allwinner H618)

Rockchip

增加了对RV1109处理器的支持(RV1126的双核版本)

Rockchip RK3128–支持USB2

Rockchip RK3568–更新时钟驱动器:增加115.2和126.4 MHz的PLL速率;将pclk_usb标记为关键

将Rockchip HDMI设备树绑定转换为架构

Arm64设备树更新

从RK3328、RK3399的SoC dtsi中删除ethernetX别名(并将其添加到适当的板dts(i))

为gpio-dt节点添加gpio别名

将rk3588 spi、i2c、串行和gpio别名添加到soc dtsi

将uart、i2c和gpio别名移动到RK3128的SoC dtsi

新设备

安伯尼RG351V便携式游戏机(RK3326)

Powkiddy RK2023和Powkidy X55

Sonoff iHost智能家居集线器

酷派CM5 EVB(Rockchip RK3588)、酷派4B SBC(RK3588S)

Geniatech XPI-3128板

Amlogic

时钟驱动程序-在Amlogic g12/sm1上添加DSI时钟;在Amlogic g12/sm1上添加CSI和ISP时钟

Amlogic C3–添加对重置控制器的支持

适用于Linux 6.8的Amlogic ARM64 DT更改:

DT清理

Amlogic S4 uart节点

丢弃冗余状态=正常

“=”周围的小空白清理

S4和C4 SoC的看门狗节点

S4和AQ222开发板的时钟、I2C、SPICC、NAND、以太网节点

在jethub jxx板上添加EEPROM

更新amlogic、meson gx-hhi-sysctrl绑定

新板–不适用

三星

添加了基于Arm Cortex-A78AE内核的三星ExynosAuto v920汽车芯片,具有锁步模式。

添加了许多Pixel手机中使用的谷歌gs101(Tensor G1)芯片(它与三星Exynos分为一组,因为它基于相同的SoC设计,与该系列共享大部分IP块)。

Pinctrl驱动程序

Samsung Exynos Auto V920引脚控制器的新子驱动程序

三星“GS101”SoC引脚控制器的新子驱动程序。这是谷歌Pixel 6中使用的谷歌“Tensor”SoC。

Samsung驱动程序现在在其irq芯片中支持irq_set_affinity(),支持非唤醒外部gpio中断

时钟驱动程序-文档修复

DTS ARM对Linux 6.8的更改

Exynos4122和Exynos4142–dtbs_check警告的最终修复程序。

Exynos4210、Exynos4122、Exynes4142、S5PV210–更正FIMC IS摄像头范围和IO地址,使dtc W=1警告静音。预计不会对功能产生影响。

Galaxy I9100–通过启用调节器(真正的原因尚不清楚)、添加触摸键和加速度计,修复启动过程中12秒的挂起。

三星DTS ARM64更改

为所有三星Exynos和特斯拉FSD块添加特定的兼容性,因为这是指导方针所期望的,也是通常建议的做法。现有的兼容性保持不变,因此不需要更改驱动程序。这项工作只会清理一些东西,所以任何未来的贡献都将使用推荐的风格:特定和后备兼容。

添加ExynosAutov920 SoC和SADK板(三星汽车开发套件),迄今为止支持最少:串行控制台、基于GPIO的按键和PWM风扇。

特斯拉FSD–添加多格式编解码器(MFC)设备节点,用于加速视频解码/编码。

添加最初的Google Tensor GS101 SoC支持。GS101 SoC可以在谷歌Pixel 6手机上找到。目前,DTS只提供基本支持:核心时钟控制器、引脚控制器、串行、看门狗和ARM核心块。

Defconfig更改–不适用

新设备–ExynosAutov920 SADK–Exynos Autov920基于SoC的SADK(三星汽车开发套件)板,具有16GB(8GB+8GB)LPDDR5 RAM和256GB

(128GB+128GB)UFS。最少支持串行控制台、GPIO ley、PWM FAN

高通公司

增加了高通SM8650(Snapdragon 8 Gen 3)手机SoC,配备Arm Cortex-X4、Cortex-A720和Cortex-A520。

增加了高通X1E80100(Snapdragon X Elite),这是使用定制Oryon内核的最新笔记本电脑芯片。

DMA引擎-高通X1E80100 GPI DMA控制器支持

PHY驱动程序

增加了高通SM8650 UFS、PCIe和USB/DP Combo PHY、eUSB2 PHY、SDX75 USB3、X1E80100 USB3支持

高通v7寄存器偏移量更新

IOMMU驱动程序–SMMUv2–确保在暂停高通SMMU实施后恢复安全上下文

PCI控制器驱动器

增加qcom iommu映射maxItems以容纳SDX55(五个条目)和SDM845(十六个条目)

准确描述qcom、pcie-sc8180x和qcom、pcie-sm8150的时钟和复位

更正qcom“重置名称”属性,以前错误地称为“重置名称

文档qcom,pcie-sm8650,基于qcom,pcie-sm8550

Pintrl

高通SM8650、顶级(TLMM)和LPASS引脚控制器的新子驱动程序。

高通X1E80100和高通SM4450顶级(TLMM)引脚控制器的新子驱动程序。

MFD–将对高通PM8937 PMIC的支持添加到QCOM SPMI PMIC

Remoteproc–基于高通TrustZone的Remoteproc驱动程序增加了对高通SC7280音频、计算和WiFi协同处理器的支持

时钟驱动器

在高通SM8650上增加了全局时钟、显示时钟、gpu时钟、tcsr时钟和rpmh时钟

高通X1E80100 SoC的全局和RPMh时钟支持

支持高通公司IPQ5018中的频闪APCS PLL

为高通clk驱动程序添加一种新型分支时钟,支持控制单独的内存控制位

在QDU1000和QRU1000的高通ECPRI clk驱动程序中使用上述新分支类型

在高通MSM8939上添加一些与CSI2相关的丢失时钟

增加了对高通SC8280XP相机时钟控制器的支持

高通SM8150的GPU和视频时钟控制器中正确的PLL配置

为高通SM8150视频时钟控制器添加运行时PM支持和一些丢失的重置

修复高通SM8550上各种GCC GDSC的配置

在高通SM8550 GCC驱动程序中适当标记共享的RCG

修复高通SM8550上的GPU和显示时钟控制器PLL配置设置

ASoC–增加对高通SM8250、SM8550、SM8650和X1E80100的支持

网络

高通SM8550 SoC以太网驱动程序

高通公司(ath12k)–增加对单个MSI矢量WCN7850的支持:支持AP模式

ARM32 DTS更新

最近引入的对SDX55 USB控制器中断标志的更改阻止了USB控制器进行探测。这些修补程序更正了PDC的中断单元,以便可以使用适当的中断控制器(支持两种边缘中断),从而解决了问题。

SDX55 PCIe PHY基地址也会因节点最近转换到现代化设备树绑定时的错误而进行调整。

对MSM8226中的GPU进行了描述,MSM8974获得了看门狗支持。

根据DeviceTree规范,PMIC被转换为使用扩展的中断,以正确地参考PMIC中断控制器。

纠正了各种风格和DeviceTree验证问题。

适用于Linux 6.8的Arm64 DTS更新

IPQ5018和IPQ6018–支持CPUfreq、USB和一个额外的QUP SPI控制器。

IPQ5332和IPQ6018–CPU OPP表是基于保险丝选择性启用的,IPQ 6018还获得了更多SPI和UART节点的描述。

IPQ9574–RDP板的公共元素被重构为一个公共包含文件。IPQ9574还获得了其LED和WPS半身像的描述。

MSM8916–描述了基于DSP的音频,并为各种板启用。Acer Iconia Talk S和Loncheer L8910获得通知LED,Loncherre L8150增加了电池和充电器支持,三星Galaxy Tab A启用了GPU。

MSM8939–在MSM8939上添加了基于DSP的音频,并启用了BAM-DMUX支持。Long欢呼L9100获得RGB通知LED支持,并启用了无线子系统。

MSM8953–描述了缺失的SPI控制器

MSM8996–启用MPM以允许使用唤醒中断。

QCM2290–增加了互连提供商、MPM和显示器

Fairphone-为Fairphone FP5启用了UFS、remoteprocs和WiFi。在Fairphone FP3音频上,WiFi和蓝牙已启用。

机器人板

增加了Robotics RB1 HDMI和CAN总线控制器。

Robotics RB2–蓝牙、调制解调器遥控器和WiFi已启用。

Robotics RB5–蓝牙已启用

SA8775P–添加了Tsens和thermal,以及随机数生成器。

Acer Aspire 1.–增加了声音和RTC支持

SC7280–设备树被重构,以便允许非Chrome设备继承基本dtsi。增加了对UFS、加密、基于TrustZone的远程进程、相机控制接口(CCI)和随机数生成器的支持。此外,还引入了各种较小的修复程序。

SC8180X–各种修复,特别是缺失的电源域和互连。

SC8280XP–增加了摄像头时钟控制器,并引入了一些较小的修复程序

SDM670–显示子系统描述。

SDX75–添加了互连提供商,以及USB3和相关PHY,然后在IDP设备上启用。

SM6115–增加了互连提供商,并连接了现有客户端。还增加了一个UART控制器。

SM6375–添加MPM是为了提供唤醒中断。索尼Xperia 10 IV上启用了调制解调器子系统和WiFi,并更正了一些调节器电源。

SM8150–为USB Type-C输出添加的DisplayPort控制器,HDK板上描述了该控制器与HDMI的添加。

SM8450–在HDK板上添加并启用了GPU和随机数生成器支持。

SM8550–添加了GPU、IPA、随机数生成器、缺少的SoundWire端口,并在MTP和QRD设备上启用。

Arm64 defconfig更新

启用SM8450/SM8550的GPU时钟控制器,启用SC8280XP相机时钟控制器,以启用这些平台上的相应功能。

启用了SM8650、SM4450和SDX75的核心平台特定驱动程序。

SC8280XP和SM8650的声音驱动程序已启用。

UEFI安全应用程序驱动程序已启用,在某些平台上提供EFI变量访问。

新设备和板

智能手机-五部旧的微软Lumia手机(诺基亚Lumia 630、微软Lumia640、微软Luia 640 XL、诺基亚Lumia735、诺基亚Luia 830)、HTC One Mini 2、摩托罗拉MotoG 4G、华为Honor 5X/GR5、小米平板电脑6

基于Snapdragon 8 Gen 3移动平台的MTP和QRD开发设备

基于Snapdragon X Elite计算平台的QCP和CRD开发/参考设备。

QCS6590/QCM6490平台的IDP开发设备

机器人RB3 gen2板

联发科技

增加了用于中端平板电脑和Chromebook的联发科MT8188处理器,使用了两个Cortex-A78内核,而旧的MT8195有四个内核。

PCIe控制器驱动程序

清除处理程序之前的MSI中断状态,以避免处理程序之后出现丢失的MSI

更新mediatek-gen3转换窗口设置以处理大小不是二次方的MMIO空间

联发科WiFi(mt76):

NVMEM EEPROM改进

mt7996超高吞吐量(EHT)改进(mt7996是一款WiFi 7三频BE19000 SoC,主要存在于Banana Pi BPI-R4使用的WiFi 7模块中)

mt7996无线以太网分配器(WED)支持

mt7996 36位DMA支持

联发科智能电压缩放(SVS)驱动程序的重构,以及对MT8186和MT8195的支持。增加了对MT8188 VDOSYS的支持,并在MMSYS驱动程序中重置。

Defconfig更新-这些Defconfig更改使MT8173 Chromebook能够通过DA9211调节器驱动程序启动,并为MT8192/MT8195添加了声音、AudioDSP、DisplayPort和LVTS Thermal模块,以及各种谷歌Chromebook上的ChromeOS键盘LED背光模块。

Linux 6.8的Arm Devicetree更新

MT8195上的媒体数据路径3(MDP3)绑定和启用

MT8195上的智能电压缩放(SVS)

MT8192上的LVTS SoC热

MT8188 SoC及其重置、显示绑定等

MT8183硬件视频解码器(mtk vcodec-dec)

各种联发科SoC和PMIC的清理,还包括一些备用修复程序。

新设备

联想、华硕和宏碁基于Mediatek MT8183的Chromebook(Kukui Katsu、Jacuzzi Makomo、Pico、Pico6)

MT8188评估委员会(EVB)Other new Arm hardware platforms and SoCs

Marvell–一些基于Marvell CN913x的ComXpress板,这是Armada 7xxx/8xx的后续产品。

恩智浦–基于恩智浦i.MX8和i.MX9的六种新型工业/嵌入式板

Unisoc–UMS9620(唐古拉7系列)是一款基于Cortex-A76和Cortex-A55的5G手机SoC

德州仪器-Toradex Verdin AM62 Mallow载具,适用于TI AM62

与Raspberry Pi相关的更改-添加了对Broadcom BCM2712的VideoCore VI GPU的V3D驱动程序支持

Linux 6.8中的RISC-V变更日志

支持hwprobe中的许多新扩展,以及一些清理

如果存在SUSP SBI扩展,RISC-V现在也可以挂起到RAM。

对我们的页表处理代码进行各种清理,所以我们总是使用{READ,WRITE}_ONCE

支持hwprobe的which-cpus风格

对XIP内核的支持已恢复

Allwinner D1–热敏(THS)控制器

Microchip–添加了自动更新支持所使用的闪光灯和相应的QSPI控制器。在公开可用的Icicle试剂盒上,这种闪光灯是不可用的(工程样品硅问题),但未来将提供具有生产硅的Icicel试剂盒。

Sophgo

增加了对Soggho CV1812H的支持

基于SophGo CV1812H RISC-V芯片的华山派板

StarFive–jh7100的关键外围设备支持,该支持依赖于非标准的非相干DMA操作,即mmc、sdcard和sdio wifi。这个平台长期以来一直由Emil(Renner)和Ubuntu等为其提供镜像支持,因此(最终)对更广泛的外围设备提供主线支持是非常棒的。

阿里巴巴T头——Lichee Pi平台和BeagleV都增加了eMMC和uSD支持。

MIPS体系结构

此周期的MIPS摘要“只是清理和修复”:

MIPS:Alchemy:修复db1550_dev_setup()中的越界访问

MIPS:Alchemy:修复db1200_dev_setup()中的越界访问

MIPS:修复打字错误

MIPS:从矢量irq设置中删除未使用的阴影GPR支持

MIPS:允许矢量中断处理程序驻留在64位的所有位置

mips:设置转储堆栈拱形描述

mips:mm:在ioremap_prot中添加楼板可用性检查

mips:优化max_mapnr初始化过程

mips:修复早期未初始化的max_mapnr

mips:修复不正确的max_low_pfn调整

mips:dmi:修复MIPS32上的早期重映射

MIPS:压缩:对64位代码使用正确的指令

MIPS:SGI-IP27:hubio:修复nasid内核文档警告

维护者:加上我(Thomas Bogenderfer)作为Ralink建筑的维护者

您可以下载完整的Linux 6.8变更日志,其中包含使用命令git log v6.7..v6.8--stat生成的提交消息,以了解更多详细信息。您还将在LWN的两篇文章中获得更多信息。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分