SDXI描述符,地址包含两部分:16位的AKey表索引和64位的虚拟地址。对应的AKey表项包含了该虚拟地址所属的SDXI功能部件接口的设备号(如果硬件以PCIe设备方式实现SDXI,那么设备号就是总线号/设备号/功能号BDF)和Pasid。
SDXI功能部件接口按照操作角色分成两类:
1)操作发起者。作为操作发起者,SDXI功能部件接口从描述符环中,获取描述符。
2)数据访问者。作为数据访问者,SDXI功能部件接口读/写数据缓冲区;数据访问者,又分为读数据者和写数据者。
SDXI功能部件接口可以既是操作发起者,同时也可以是数据访问者。
当描述符中的AKey索引为0时,该描述符对应的SDXI功能部件接口既是操作发起者,又是数据访问者,零值AKey对应VA就在描述符所有在地址空间。
SDXI协议没有定义数据访问者和操作发起者之间的通信协议。但是数据访问者会根据自己的RKey表来确定是否执行操作,即权限检查。
//下图给了作为PCIe设备,SDXI发送DMA操作的地址转换原理//