2023-07-20 176
如何在自制操作系统写网卡驱动程序(1)
配置信息
参考:https://blog.csdn.net/qq_31799983/article/details/106976145?spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-8-106976145-blog-80163665.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-8-106976145-blog-80163665.pc_relevant_default&utm_relevant_index=11
通过读这个配置信息的class_code字段,我们就知道PCI连接的设备是网卡?还是显卡?还是硬盘?还是声卡?
这个配置信息的Device ID,Vendor ID,表明PCI连接的设备的型号和制造厂商.
这个配置信息的Base Address 0 里存储了PCI连接的设备的地址映射内存中的地址。
总之,只要读到这个配置信息,我们就可以找到网卡,找到网卡,才能控制网卡向外发送信息,接收信息等。
那么具体如何读取这个配置信息呢?通过I/O口0xCF8和0xCFC,通过这两个端口,就可以读取到配置信息了。如下两行代码:
io_out32(0xCF8, addr);// 把配置信息的地址addr输出到I/O端口0xCF8indata = io_in32(0xCFC); //从I/O端口0xCFC获取到配置信息。这里面的addr是什么?是配置信息所在的地址,可以这样生成:
unsigned int bus_max=0xff; unsigned int dev_max=0x1f; unsigned int func_max=0x07; // 遍历配置信息for(bus=0;bus原文链接:https://000nw.com/18388.html
=========================================
https://000nw.com/ 为 “电脑技术吧” 唯一官方服务平台,请勿相信其他任何渠道。
电脑技术 2023-07-23
应用技巧 2023-07-23
系统教程 2023-07-23
系统教程 2023-07-23
软件办公 2023-07-11
软件办公 2023-07-11
软件办公 2023-07-12
软件办公 2023-07-12
软件办公 2023-07-12
系统教程 2023-07-23
扫码二维码
获取最新动态