Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
ac8dae67
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,发现更多精彩内容 >>
提交
ac8dae67
编写于
2月 19, 2010
作者:
M
Markus Armbruster
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
qdev: Convert qbus_find() to QError
上级
07574baf
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
11 deletion
+14
-11
hw/qdev.c
hw/qdev.c
+14
-11
未找到文件。
hw/qdev.c
浏览文件 @
ac8dae67
...
...
@@ -216,18 +216,21 @@ DeviceState *qdev_device_add(QemuOpts *opts)
path
=
qemu_opt_get
(
opts
,
"bus"
);
if
(
path
!=
NULL
)
{
bus
=
qbus_find
(
path
);
if
(
bus
&&
bus
->
info
!=
info
->
bus_info
)
{
if
(
!
bus
)
{
return
NULL
;
}
if
(
bus
->
info
!=
info
->
bus_info
)
{
error_report
(
"Device '%s' can't go on a %s bus"
,
driver
,
bus
->
info
->
name
);
return
NULL
;
}
}
else
{
bus
=
qbus_find_recursive
(
main_system_bus
,
NULL
,
info
->
bus_info
);
}
if
(
!
bus
)
{
error_report
(
"Did not find %s bus for %s"
,
path
?
path
:
info
->
bus_info
->
name
,
info
->
name
)
;
return
NULL
;
if
(
!
bus
)
{
error_report
(
"Did not find %s bus for %s"
,
info
->
bus_info
->
name
,
info
->
name
);
return
NULL
;
}
}
if
(
qdev_hotplug
&&
!
bus
->
allow_hotplug
)
{
error_report
(
"Bus %s does not support hotplugging"
,
...
...
@@ -560,7 +563,7 @@ static BusState *qbus_find(const char *path)
}
bus
=
qbus_find_recursive
(
main_system_bus
,
elem
,
NULL
);
if
(
!
bus
)
{
error_report
(
"bus
\"
%s
\"
not found"
,
elem
);
qerror_report
(
QERR_BUS_NOT_FOUND
,
elem
);
return
NULL
;
}
pos
=
len
;
...
...
@@ -583,7 +586,7 @@ static BusState *qbus_find(const char *path)
pos
+=
len
;
dev
=
qbus_find_dev
(
bus
,
elem
);
if
(
!
dev
)
{
error_report
(
"device
\"
%s
\"
not found"
,
elem
);
qerror_report
(
QERR_DEVICE_NOT_FOUND
,
elem
);
qbus_list_dev
(
bus
);
return
NULL
;
}
...
...
@@ -597,12 +600,12 @@ static BusState *qbus_find(const char *path)
* one child bus accept it nevertheless */
switch
(
dev
->
num_child_bus
)
{
case
0
:
error_report
(
"device has no child bus (%s)"
,
path
);
qerror_report
(
QERR_DEVICE_NO_BUS
,
elem
);
return
NULL
;
case
1
:
return
QLIST_FIRST
(
&
dev
->
child_bus
);
default:
error_report
(
"device has multiple child busses (%s)"
,
path
);
qerror_report
(
QERR_DEVICE_MULTIPLE_BUSSES
,
elem
);
qbus_list_bus
(
dev
);
return
NULL
;
}
...
...
@@ -616,7 +619,7 @@ static BusState *qbus_find(const char *path)
pos
+=
len
;
bus
=
qbus_find_bus
(
dev
,
elem
);
if
(
!
bus
)
{
error_report
(
"child bus
\"
%s
\"
not found"
,
elem
);
qerror_report
(
QERR_BUS_NOT_FOUND
,
elem
);
qbus_list_bus
(
dev
);
return
NULL
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录