Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xv6-public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
OS Lab Group
奖励实验
xv6-public
提交
eebb0793
提交
eebb0793
2月 05, 2012
创建
作者:
Silas Boyd-Wickizer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Some hacks on pci.c for josmp
上级
291f9997
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
6 行增加
和
11 行删除
+6
-11
pci.c
pci.c
+6
-11
没有找到文件。
pci.c
浏览文件 @
eebb0793
...
...
@@ -5,6 +5,7 @@
#include "pcireg.h"
extern
int
e1000attach
(
struct
pci_func
*
pcif
);
extern
int
e1000eattach
(
struct
pci_func
*
pcif
);
// Flag to do "lspci" at bootup
static
int
pci_show_devs
=
0
;
...
...
@@ -30,14 +31,15 @@ struct pci_driver pci_attach_class[] = {
};
// pci_attach_vendor matches the vendor ID and device ID of a PCI device
// http://www.intel.com/products/ethernet/resource.htm?wapkw=software%20manual%20pcie#s1=Gigabit%20Ethernet&s2=all&s3=Manual
struct
pci_driver
pci_attach_vendor
[]
=
{
// [E1000 5.2]
// QEMU emulates an
82540EM, specifically.
// QEMU emulates an
e1000 82540EM
{
0x8086
,
0x100e
,
&
e1000attach
},
// josmp's dual ported e1000 82546GB copper
{
0x8086
,
0x1079
,
&
e1000attach
},
// Both of ud0's e1000e (82573E, 82573L)
{
0x8086
,
0x108c
,
&
e1000attach
},
{
0x8086
,
0x109A
,
&
e1000attach
},
{
0x8086
,
0x108c
,
&
e1000
e
attach
},
{
0x8086
,
0x109A
,
&
e1000
e
attach
},
{
0
,
0
,
0
},
};
...
...
@@ -169,15 +171,8 @@ pci_scan_bus(struct pci_bus *bus)
static
int
pci_bridge_attach
(
struct
pci_func
*
pcif
)
{
u32
ioreg
=
pci_conf_read
(
pcif
,
PCI_BRIDGE_STATIO_REG
);
u32
busreg
=
pci_conf_read
(
pcif
,
PCI_BRIDGE_BUS_REG
);
if
(
PCI_BRIDGE_IO_32BITS
(
ioreg
))
{
cprintf
(
"PCI: %x:%x.%d: 32-bit bridge IO not supported.
\n
"
,
pcif
->
bus
->
busno
,
pcif
->
dev
,
pcif
->
func
);
return
0
;
}
struct
pci_bus
nbus
;
memset
(
&
nbus
,
0
,
sizeof
(
nbus
));
nbus
.
parent_bridge
=
pcif
;
...
...
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论