阅读:2068回复:2
如何读取PCI 的寄存器?
我写了一段代码,但总是读不出来,数据,不知道为什么?
switch (type) { // select on resource type case CmResourceTypeMemory: KdPrint(("2 start %8X%8.8lX length %X\n", 此处内存大小为 1000 resource->u.Memory.Start.HighPart, resource->u.Memory.Start.LowPart, resource->u.Memory.Length)); break; } // for each resource // 从物理地址映射到虚地址 pdx->MemBar0 = (PUCHAR)MmMapIoSpace(resource->u.Memory.Start, resource->u.Memory.Length, MmNonCached); pdx->nMem0 = resource->u.Memory.Length; //从地址中读出32 字节的数据 UCHAR BUFF[128]; READ_REGISTER_BUFFER_UCHAR((PUCHAR)pdx->MemBar0, BUFF, 32); |
|
沙发#
发布于:2010-03-24 14:12
我本意是读出,PCI 寄存器的值,并显示出来!
|
|
板凳#
发布于:2010-04-26 12:48
不太理解你的意思!
PCI device的space不是一般通过0xcf8和0xcfc读写吗! 比如vendor ID,device ID什么的!你说的是不是这个意思? |
|