系统与设计
的意见

Linux和大坏狼

即将到来的ACPI标准是要创建很多Linux世界的变化。

受欢迎程度

怀着极大的兴趣,我跟着任何消息Linaro和Linux内核社区的进步对于解决所有的需求ARMv8 64位服务器软件栈。

完善的标准,如统一的可扩展固件接口(UEFI)和高级配置和电源接口(ACPI),是影响社区的发展方向。UEFI是一个强制性的标准计算2226页,手臂服务器需要坚持。UEFI手臂soc继续工作在进步,因为司机对许多IP标题还有待发展。同时,安全的整个方面引导是一个巨大的建筑面积。

但是大部分的工作已经完成,并Linaro提供UEFI固件的开放嵌入式snaphots发布。虚拟平台是一个移植的关键推动者的开源版本(EDK2 / Tianocore)英特尔和微软扎根UEFI标准。UEFI尚未侵入对其影响之前ARM Linux内核工作ACPI。

ACPI,标准的运行时配置硬件,对Linux内核有一个巨大的影响。ACPI最大的影响是其完全重叠的目标最近建立了设备树。设备树一直手臂找到出路的关键董事会支持Linux内核的混乱。

在设备树之前,每个董事会/ SoC有自己的目录下面ARM体系结构和被污染了许多特定于供应商的司机和硬编码的配置。与设备树,整个配置(如记忆、中断、钟表、电压)定义并称为夷为平地设备树文件(而不是硬编码在C)。这是一个ASCII文件,编译成二进制的团,然后分析由内核在引导阶段为了配置它的设备驱动程序。设备树已经完全适应手臂64位内核港口和,因此,不再有目录soc或董事会。相同的二进制内核将运行在任何部门硬件以及独立的配置文件,即树,夷为平地设备文件。

这可能是一个童话的快乐的结局如果大坏狼不是在拐角处。大坏狼的名字是ACPI,不像童话故事,他确实有善意。但计划很多变化。ACPI对标准化很重要的运行时配置一个服务器系统,随着数据中心运营商不愿意关心底层硬件的工件,愿以统一的方式操作服务器。

ACPI的范围是非常大的,包括系统运行时配置,电力和热能管理以及可靠性可访问性服务能力(RAS),例如,硬件错误处理支持。ACPI已经宣布的首选为ARMv8服务器运行时的界面。ACPI可能包括在即将到来的手臂SBSR(服务器基础固件需求)文档,它连同手臂服务器标准SBSA(服务器基础系统架构)。因此,司机将需要适应能够获得它们的配置通过ACPI而不是接口的设备树。

然而,这并不是故事的结局。ACPI最大的影响可能是通过改变所需的底层电源管理。从历史上看,ACPI定义将电源管理的BIOS(前任UEFI)操作系统为了执行操作系统电源管理(OSPM)。

操作系统应该是能够运行时电源管理执行明智的决策,因为它有一个对不同性能需求的理解,通过指导上层应用程序层甚至可以考虑使用上下文。,操作系统可以提供正确的服务质量(QoS)和权衡优化和动态功率和性能要求。

当然,这并不是新的ARM Linux,运行时电源管理一直是一个甜点由于胳膊在敏感的移动市场力量的部署。但ACPI根本性的变化进入图片,低级的时钟和电压控制意味着时钟和电压调节器的司机不再是内核的一部分,需要完成通过ACPI固件。这种担忧所有组件,CPU以及外围设备。

对于内核开发人员,这意味着放弃很多控制和高度争议。但ACPI授权也没有。特别是在处理时钟和电压,很多调试出现的挑战。不仅可以通过违反电压范围可以打破硬件,但调试un-powered硬件或转换,如挂起/恢复没有任何乐趣。现在这变得更加复杂的低级电源管理跨多个软件层如需要调试内核和固件。

软件开发人员的另一个关键的挑战是缺少硬件提供足够的电力基础设施开发、调试和测试的ACPI实现手臂。需求的ACPI电源管理软件的开发目标是表示在这个简短的视频快照从Linaro连接会话在亚洲,2014年3月。功能精确模型的硬件,如虚拟原型,将再次发挥关键作用。

非虚拟原型的关键误解用户是虚拟原型太抽象。事实上,电源管理软件启动Synopsys对此虚拟样机的关键用例电力用户在过去。虚拟原型能够捕获一个SoC的软件相关的权力架构。这包括组件如时钟管理单元,电源管理ic (PMICs),以及域定义的复杂的时钟和电压的树木。

虚拟原型可以准确复制故障场景等异常或超时由于访问非机动的硬件。而不是燃烧的一个原型,非法电压设置只会导致软件开发人员的一个信息丰富的断言。旁边的模拟电源管理软件,虚拟原型提供特殊调试能见度,即使部分系统驱动。Synopsys对此虚拟原型扩展手臂FastModels的范围和基础模型,允许捕捉SoC具体电力基础设施以及任何其他定制的硬件集成,使每个人都能够幸福地生活在一起。



留下一个回复


(注意:这个名字会显示公开)

Baidu