Google为Linux 5.2开发了一款新的Aspeed控制驱动程序
2019-05-04 00:00
555 查看
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。
相关文章推荐
- Linux驱动程序开发 - 设备控制接口
- linux驱动程序开发-第二节:uboot添加自定义控制命令+uboot中运行裸机C语言程序
- Linux驱动程序开发 - 设备控制接口
- Linux驱动程序开发 - 设备控制接口
- Linux下的C编程实战(开发平台搭建,文件系统编程,进程控制与进程通信编程,“线程”控制与“线程”通信编程,驱动程序设计,专家问答)
- Linux驱动程序开发 - 设备控制接口
- 嵌入式Linux驱动程序开发要点
- Linux下PCI设备驱动程序开发
- Linux下PCI设备驱动程序开发 (转…
- Linux字符设备驱动程序开发之笔记及摘要
- Linux下PCI设备驱动程序开发
- linux驱动程序开发环境配置
- ㉓AW-H3 Linux驱动开发之mipi camera(CSI)驱动程序
- 比较直观地介绍了Linux设备驱动程序的开发原理
- Linux驱动程序开发入门
- linux网路驱动程序开发
- Ubantu下实现Linux驱动程序开发环境(内核树)
- linux驱动程序开发第三版一些知识总结
- Linux 驱动程序开发步骤(X86平台)
- Linux驱动程序开发 - 设备驱动模型初探