导读 Aspeed BMC已经看到很多主线Linux内核驱动程序活动,从最近的Aspeed视频引擎驱动程序到排队等待Linux 5.2的AST2500 SoC DRM驱动程序,现在也加入了Aspeed P2A CTRL驱动程序。

这个Aspeed P2A控制驱动程序由Google开发人员开发,用于处理AST2400/AST2500,支持PCI-to-AHB MMIO桥接器,用于将系统读/写到BMC的物理地址空间,作为发送文件等功能的一部分到BMC。 ASPEED_PTA_CTRL“aspeed-pta-ctrl”驱动程序的500多行代码用于管理此接口。

谷歌的Patrick Venture的驱动程序在Linux 5.2之前被添加到char-misc-next区域。提交说明:

主机可以使用它通过在特定存储器地址处分段数据来发送固件映像,并且与BMC的软件堆栈和内核协同工作,传输字节。

该驱动程序使BMC能够按需解锁PCI桥接器,并通过ioctl进行配置,以允许主机将字节写入约定的位置。在主要用例中,要使用的区域在BMC上是先验已知的,并且主机请求此信息。收到此请求后,BMC的软件堆栈将启用网桥和区域,然后使用某些软件流控制(可能通过IPMI数据包),将字节复制下来。一旦完成该过程,BMC将禁用桥接并取消设置所涉及的任何区域。

此桥接器的默认行为是:启用并且所有区域都标记为读写。此驱动程序将区域设置为只读,然后完全禁用桥接。

受保护的内存区域是:

BMC flash MMIO窗口
系统闪存MMIO窗口
SOC IO(外设MMIO)
DRAM

DRAM区域本身都是DRAM,无法进一步指定。一旦启用了PCI桥接器,主机就可以读取所有DRAM,如果DRAM部分是写入使能的,那么它可以写入所有DRAM。

原文来自:

本文地址://q13zd.cn/google-develop-aspeed.html编辑:黑曜羽,审核员:逄增宝

Linux大全:

Linux系统大全:

红帽认证RHCE考试心得: