Solaris的pciutils
作者 佚名技术
来源 操作系统
浏览
发布时间 2012-06-27
最近在Solaris上成功编译了pciutils,想试试的朋友可以从下面的地址下载: http://blogs.sun.com/mishuang/resource/lspci http://blogs.sun.com/mishuang/resource/setpci 一直觉得PCI很神秘,看看了pciutils的代码和PCI Local Bus Specification后,对PCI稍微有了点了解,我觉得pciutils有两个关键的函数,一个conf1_read,另外一个是conf1_write。这两个函数完全是根据PCI Local Bus Specification下面这一节编写的: 3.2.2.3.2. Software Generation of Configuration Transactions conf1_read(struct pci_dev *d, int pos, byte *buf, int len) { ... outl(0x80000000 | ((d->bus & 0xff) << 16) | (PCI_DEVFN(d->dev, d->func) << 8) | (pos&~3), 0xcf8); ... } bit31: enable bit16-bit23: Bus Number bit11-bit15: Device Number bit8-bit10: Function Number bit2-bit7: Register Number 将这些位在I/O Port 0xcf8设定好之后,就可以从I/O port 0xcfc读出相应的值了。 当然进行这些操作之前需要改变I/O privilege level SunOS: sysi86(SI86V86, V86SC_IOPL, PS_IOPL) Linux: iopl(3) |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Solaris的pciutils的所有评论