这个Aspeed P2A控制驱动程序由Google开发人员开发,用于处理AST2400/AST2500,支持PCI-to-AHB MMIO桥接器,用于将系统读/写到BMC的物理地址空间,做为发送文件等功能的一部分到BMC。 ASPEED_PTA_CTRL“aspeed-pta-ctrl”驱动程序的500多行代码用于管理此接口。blog
谷歌的Patrick Venture的驱动程序在Linux 5.2以前被添加到char-misc-next区域。提交说明:接口
主机能够使用它经过在特定存储器地址处分段数据来发送固件映像,而且与BMC的软件堆栈和内核协同工做,传输字节。内存
该驱动程序使BMC可以按需解锁PCI桥接器,并经过ioctl进行配置,以容许主机将字节写入约定的位置。在主要用例中,要使用的区域在BMC上是先验已知的,而且主机请求此信息。收到此请求后,BMC的软件堆栈将启用网桥和区域,而后使用某些软件流控制(可能经过IPMI数据包),将字节复制下来。一旦完成该过程,BMC将禁用桥接并取消设置所涉及的任何区域。开发
此桥接器的默认行为是:启用而且全部区域都标记为读写。此驱动程序将区域设置为只读,而后彻底禁用桥接。flash
受保护的内存区域是:io
BMC flash MMIO窗口
系统闪存MMIO窗口
SOC IO(外设MMIO)
DRAMioc
DRAM区域自己都是DRAM,没法进一步指定。一旦启用了PCI桥接器,主机就能够读取全部DRAM,若是DRAM部分是写入使能的,那么它能够写入全部DRAM。软件