Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
7cc050b1
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7cc050b1
编写于
2月 05, 2011
作者:
B
Blue Swirl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
pci: add creation functions that may fail
Signed-off-by:
N
Blue Swirl
<
blauwirbel@gmail.com
>
上级
0bcdeda7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
24 addition
and
0 deletion
+24
-0
hw/pci.c
hw/pci.c
+20
-0
hw/pci.h
hw/pci.h
+4
-0
未找到文件。
hw/pci.c
浏览文件 @
7cc050b1
...
...
@@ -1708,6 +1708,21 @@ PCIDevice *pci_create_multifunction(PCIBus *bus, int devfn, bool multifunction,
return
DO_UPCAST
(
PCIDevice
,
qdev
,
dev
);
}
PCIDevice
*
pci_try_create_multifunction
(
PCIBus
*
bus
,
int
devfn
,
bool
multifunction
,
const
char
*
name
)
{
DeviceState
*
dev
;
dev
=
qdev_try_create
(
&
bus
->
qbus
,
name
);
if
(
!
dev
)
{
return
NULL
;
}
qdev_prop_set_uint32
(
dev
,
"addr"
,
devfn
);
qdev_prop_set_bit
(
dev
,
"multifunction"
,
multifunction
);
return
DO_UPCAST
(
PCIDevice
,
qdev
,
dev
);
}
PCIDevice
*
pci_create_simple_multifunction
(
PCIBus
*
bus
,
int
devfn
,
bool
multifunction
,
const
char
*
name
)
...
...
@@ -1727,6 +1742,11 @@ PCIDevice *pci_create_simple(PCIBus *bus, int devfn, const char *name)
return
pci_create_simple_multifunction
(
bus
,
devfn
,
false
,
name
);
}
PCIDevice
*
pci_try_create
(
PCIBus
*
bus
,
int
devfn
,
const
char
*
name
)
{
return
pci_try_create_multifunction
(
bus
,
devfn
,
false
,
name
);
}
static
int
pci_find_space
(
PCIDevice
*
pdev
,
uint8_t
size
)
{
int
config_size
=
pci_config_size
(
pdev
);
...
...
hw/pci.h
浏览文件 @
7cc050b1
...
...
@@ -453,8 +453,12 @@ PCIDevice *pci_create_multifunction(PCIBus *bus, int devfn, bool multifunction,
PCIDevice
*
pci_create_simple_multifunction
(
PCIBus
*
bus
,
int
devfn
,
bool
multifunction
,
const
char
*
name
);
PCIDevice
*
pci_try_create_multifunction
(
PCIBus
*
bus
,
int
devfn
,
bool
multifunction
,
const
char
*
name
);
PCIDevice
*
pci_create
(
PCIBus
*
bus
,
int
devfn
,
const
char
*
name
);
PCIDevice
*
pci_create_simple
(
PCIBus
*
bus
,
int
devfn
,
const
char
*
name
);
PCIDevice
*
pci_try_create
(
PCIBus
*
bus
,
int
devfn
,
const
char
*
name
);
static
inline
int
pci_is_express
(
const
PCIDevice
*
d
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录