在qemu中增加pci设备并用linux驱动验证

来源:互联网 发布:南京大学大专网络教育 编辑:程序博客网 时间:2024/05/21 22:48

声明本文主要针对x86架构进行说明。

使用的qemu版本是:qemu-kvm-1.2.0-rc2


1)PCI结构简介

每个PCI设备都有一个配置空间和若干个地址空间,按照固定的顺序放置CPI的各种配置参数。关于详细的介绍可以在网上搜索相关的资料。

下面是在busybox下lspci -mk的输出内容说明:

00:00.0 "Class 0600" "8086" "1237" "1af4" "1100"00:01.0 "Class 0601" "8086" "7000" "1af4" "1100"00:01.1 "Class 0101" "8086" "7010" "1af4" "1100" "ata_piix"00:01.3 "Class 0680" "8086" "7113" "1af4" "1100"00:02.0 "Class 0300" "1013" "00b8" "1af4" "1100"00:03.0 "Class 0200" "10ec" "8139" "1af4" "1100" "8139cp"00:04.0 "Class 0604" "1011" "0026" "0000" "0000"01:00.0 "Class 3542" "1234" "5678" "6872" "8952"class_idvendor_iddevice_idsubsystem_vendor_idsubsystem_id

2)qemu的桥

在qemu中桥,总线,设备都会对应一个设备结构。最开始的初始化硬件的函数是pc_init1,在这里调用函数i440fx_init创建一个pci_bus,并且和isa_bus关联起来,(qemu模拟的还是pci-isa桥),然后再基于pci_bus创建一系列的设备


3)pci设备创建

先看…………………………………………………………………………

具体请点击:http://www.verydemo.com/demo_c167_i6979.html

0 0