
2026年10月30日,Linux内核社区迎来一项针对Intel架构Mac设备的重要底层优化。开发者Atharva Tiwari向内核邮件列表提交了14个RFC补丁,旨在对Intel Mac平台的系统管理控制器(SMC)支持进行根本性重构。
此次重构的核心,是引入原本为Apple Silicon平台开发的macsmc驱动框架,全面替代长期服役的applesmc驱动。目标是使Intel Mac获得与M系列芯片平台一致的模块化设计能力与可维护性。
现有applesmc驱动存在明显架构局限:其将风扇调控、温度传感、环境光检测、运动感知及键盘背光控制等功能全部集中于单一源文件中,且采用自定义通信机制,导致代码结构僵化、扩展困难,新增机型适配成本居高不下。事实上,Intel Mac与Apple Silicon在SMC功能逻辑层面高度一致,差异仅体现在与主处理器的通信路径上,这为驱动代码的跨平台复用奠定了坚实基础。
本次补丁集首先完成架构分层:macsmc驱动被明确划分为通用核心层与硬件后端层。原为Apple Silicon设计的RTKit通信模块被抽离为独立后端,同时新增专用于Intel Mac的ACPI后端。该后端完整支持I/O端口访问、内存映射I/O(MMIO)以及中断驱动的完成机制,这些能力在旧驱动中均未实现。
在此基础上,原先高度耦合的单体驱动被解耦为多个职责清晰、接口标准的小型驱动模块,全部遵循Linux内核统一的子系统规范。新增功能涵盖基于SMC的看门狗驱动,可在系统死锁时触发硬重置;集成至IIO框架的环境光传感器与加速度传感器驱动;以及独立的键盘背光LED控制驱动。此外,实时时钟(RTC)、电源供应管理与硬件监控(hwmon)子系统也均已适配Intel Mac特性。
电源管理逻辑亦同步更新:当启用macsmc-power模块后,内核将自动停用acpi-sbs及相关ACPI电池与适配器驱动,彻底规避新旧电源管理机制并存导致的设备重复注册问题。hwmon子系统还补充了Intel Mac常用的数据格式支持,包括有符号定点数类型,有效解决了旧驱动无法解析部分SMC键值的问题。
开发者已在MacBook Pro 16,1、iMac 20,1、MacBook Air 4,2、MacBook Pro 12,1及MacBook Pro 15,1等多款主流Intel Mac设备上完成全面验证。仅运动传感器驱动因目标硬件缺失暂未开展实测。
当前补丁以RFC形式发布,主要目的在于就整体架构设计方向征询内核维护者意见。后续将在获得反馈基础上进一步扩大测试覆盖范围,并以正式补丁形式重新提交。
文章来源:Linux内核拟重构Intel Mac SMC驱动,引入macsmc框架实现跨平台统一https://news.zol.com.cn/1266/12669084.html






