Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
d350a34c
L
libvirt
项目概览
openeuler
/
libvirt
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libvirt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
d350a34c
编写于
3月 07, 2013
作者:
L
liguang
提交者:
Ján Tomko
4月 25, 2013
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
qemu: build command line for pci-bridge device
Signed-off-by:
N
Ján Tomko
<
jtomko@redhat.com
>
上级
df0ebf6b
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
46 addition
and
8 deletion
+46
-8
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.c
+2
-0
src/qemu/qemu_capabilities.h
src/qemu/qemu_capabilities.h
+1
-0
src/qemu/qemu_command.c
src/qemu/qemu_command.c
+29
-1
tests/qemuhelptest.c
tests/qemuhelptest.c
+14
-7
未找到文件。
src/qemu/qemu_capabilities.c
浏览文件 @
d350a34c
...
@@ -222,6 +222,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
...
@@ -222,6 +222,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
"tpm-tis"
,
"tpm-tis"
,
"nvram"
,
/* 140 */
"nvram"
,
/* 140 */
"pci-bridge"
,
/* 141 */
);
);
struct
_virQEMUCaps
{
struct
_virQEMUCaps
{
...
@@ -1350,6 +1351,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
...
@@ -1350,6 +1351,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
{
"rng-random"
,
QEMU_CAPS_OBJECT_RNG_RANDOM
},
{
"rng-random"
,
QEMU_CAPS_OBJECT_RNG_RANDOM
},
{
"rng-egd"
,
QEMU_CAPS_OBJECT_RNG_EGD
},
{
"rng-egd"
,
QEMU_CAPS_OBJECT_RNG_EGD
},
{
"spapr-nvram"
,
QEMU_CAPS_DEVICE_NVRAM
},
{
"spapr-nvram"
,
QEMU_CAPS_DEVICE_NVRAM
},
{
"pci-bridge"
,
QEMU_CAPS_DEVICE_PCI_BRIDGE
},
};
};
static
struct
virQEMUCapsStringFlags
virQEMUCapsObjectPropsVirtioBlk
[]
=
{
static
struct
virQEMUCapsStringFlags
virQEMUCapsObjectPropsVirtioBlk
[]
=
{
...
...
src/qemu/qemu_capabilities.h
浏览文件 @
d350a34c
...
@@ -180,6 +180,7 @@ enum virQEMUCapsFlags {
...
@@ -180,6 +180,7 @@ enum virQEMUCapsFlags {
QEMU_CAPS_DEVICE_TPM_TIS
=
139
,
/* -device tpm_tis */
QEMU_CAPS_DEVICE_TPM_TIS
=
139
,
/* -device tpm_tis */
QEMU_CAPS_DEVICE_NVRAM
=
140
,
/* -global spapr-nvram.reg=xxxx */
QEMU_CAPS_DEVICE_NVRAM
=
140
,
/* -global spapr-nvram.reg=xxxx */
QEMU_CAPS_DEVICE_PCI_BRIDGE
=
141
,
/* -device pci-bridge */
QEMU_CAPS_LAST
,
/* this must always be the last item */
QEMU_CAPS_LAST
,
/* this must always be the last item */
};
};
...
...
src/qemu/qemu_command.c
浏览文件 @
d350a34c
...
@@ -3619,6 +3619,24 @@ qemuBuildControllerDevStr(virDomainDefPtr domainDef,
...
@@ -3619,6 +3619,24 @@ qemuBuildControllerDevStr(virDomainDefPtr domainDef,
break
;
break
;
case
VIR_DOMAIN_CONTROLLER_TYPE_PCI
:
switch
(
def
->
model
)
{
case
VIR_DOMAIN_CONTROLLER_MODEL_PCI_BRIDGE
:
if
(
def
->
idx
==
0
)
{
virReportError
(
VIR_ERR_CONFIG_UNSUPPORTED
,
"%s"
,
_
(
"PCI bridge index should be > 0"
));
goto
error
;
}
virBufferAsprintf
(
&
buf
,
"pci-bridge,chassis_nr=%d,id=pci.%d"
,
def
->
idx
,
def
->
idx
);
break
;
case
VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT
:
virReportError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"wrong function called for pci-root"
));
return
NULL
;
}
break
;
/* We always get an IDE controller, whether we want it or not. */
/* We always get an IDE controller, whether we want it or not. */
case
VIR_DOMAIN_CONTROLLER_TYPE_IDE
:
case
VIR_DOMAIN_CONTROLLER_TYPE_IDE
:
default:
default:
...
@@ -5960,7 +5978,11 @@ qemuBuildCommandLine(virConnectPtr conn,
...
@@ -5960,7 +5978,11 @@ qemuBuildCommandLine(virConnectPtr conn,
int
contOrder
[]
=
{
int
contOrder
[]
=
{
/* We don't add an explicit IDE or FD controller because the
/* We don't add an explicit IDE or FD controller because the
* provided PIIX4 device already includes one. It isn't possible to
* provided PIIX4 device already includes one. It isn't possible to
* remove the PIIX4. */
* remove the PIIX4.
*
* We don't add PCI root controller either, because it's implicit,
* but we do add PCI bridges. */
VIR_DOMAIN_CONTROLLER_TYPE_PCI
,
VIR_DOMAIN_CONTROLLER_TYPE_USB
,
VIR_DOMAIN_CONTROLLER_TYPE_USB
,
VIR_DOMAIN_CONTROLLER_TYPE_SCSI
,
VIR_DOMAIN_CONTROLLER_TYPE_SCSI
,
VIR_DOMAIN_CONTROLLER_TYPE_SATA
,
VIR_DOMAIN_CONTROLLER_TYPE_SATA
,
...
@@ -6518,6 +6540,12 @@ qemuBuildCommandLine(virConnectPtr conn,
...
@@ -6518,6 +6540,12 @@ qemuBuildCommandLine(virConnectPtr conn,
continue
;
continue
;
}
}
/* Skip pci-root */
if
(
cont
->
type
==
VIR_DOMAIN_CONTROLLER_TYPE_PCI
&&
cont
->
model
==
VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT
)
{
continue
;
}
/* Only recent QEMU implements a SATA (AHCI) controller */
/* Only recent QEMU implements a SATA (AHCI) controller */
if
(
cont
->
type
==
VIR_DOMAIN_CONTROLLER_TYPE_SATA
)
{
if
(
cont
->
type
==
VIR_DOMAIN_CONTROLLER_TYPE_SATA
)
{
if
(
!
virQEMUCapsGet
(
qemuCaps
,
QEMU_CAPS_ICH9_AHCI
))
{
if
(
!
virQEMUCapsGet
(
qemuCaps
,
QEMU_CAPS_ICH9_AHCI
))
{
...
...
tests/qemuhelptest.c
浏览文件 @
d350a34c
...
@@ -398,7 +398,8 @@ mymain(void)
...
@@ -398,7 +398,8 @@ mymain(void)
QEMU_CAPS_DEVICE_CIRRUS_VGA
,
QEMU_CAPS_DEVICE_CIRRUS_VGA
,
QEMU_CAPS_DEVICE_VMWARE_SVGA
,
QEMU_CAPS_DEVICE_VMWARE_SVGA
,
QEMU_CAPS_DEVICE_USB_SERIAL
,
QEMU_CAPS_DEVICE_USB_SERIAL
,
QEMU_CAPS_DEVICE_USB_NET
);
QEMU_CAPS_DEVICE_USB_NET
,
QEMU_CAPS_DEVICE_PCI_BRIDGE
);
DO_TEST
(
"qemu-kvm-0.12.3"
,
12003
,
1
,
0
,
DO_TEST
(
"qemu-kvm-0.12.3"
,
12003
,
1
,
0
,
QEMU_CAPS_VNC_COLON
,
QEMU_CAPS_VNC_COLON
,
QEMU_CAPS_NO_REBOOT
,
QEMU_CAPS_NO_REBOOT
,
...
@@ -507,7 +508,8 @@ mymain(void)
...
@@ -507,7 +508,8 @@ mymain(void)
QEMU_CAPS_DEVICE_CIRRUS_VGA
,
QEMU_CAPS_DEVICE_CIRRUS_VGA
,
QEMU_CAPS_DEVICE_VMWARE_SVGA
,
QEMU_CAPS_DEVICE_VMWARE_SVGA
,
QEMU_CAPS_DEVICE_USB_SERIAL
,
QEMU_CAPS_DEVICE_USB_SERIAL
,
QEMU_CAPS_DEVICE_USB_NET
);
QEMU_CAPS_DEVICE_USB_NET
,
QEMU_CAPS_DEVICE_PCI_BRIDGE
);
DO_TEST
(
"qemu-kvm-0.12.1.2-rhel61"
,
12001
,
1
,
0
,
DO_TEST
(
"qemu-kvm-0.12.1.2-rhel61"
,
12001
,
1
,
0
,
QEMU_CAPS_VNC_COLON
,
QEMU_CAPS_VNC_COLON
,
QEMU_CAPS_NO_REBOOT
,
QEMU_CAPS_NO_REBOOT
,
...
@@ -572,7 +574,8 @@ mymain(void)
...
@@ -572,7 +574,8 @@ mymain(void)
QEMU_CAPS_DEVICE_CIRRUS_VGA
,
QEMU_CAPS_DEVICE_CIRRUS_VGA
,
QEMU_CAPS_DEVICE_VMWARE_SVGA
,
QEMU_CAPS_DEVICE_VMWARE_SVGA
,
QEMU_CAPS_DEVICE_USB_SERIAL
,
QEMU_CAPS_DEVICE_USB_SERIAL
,
QEMU_CAPS_DEVICE_USB_NET
);
QEMU_CAPS_DEVICE_USB_NET
,
QEMU_CAPS_DEVICE_PCI_BRIDGE
);
DO_TEST
(
"qemu-kvm-0.12.1.2-rhel62-beta"
,
12001
,
1
,
0
,
DO_TEST
(
"qemu-kvm-0.12.1.2-rhel62-beta"
,
12001
,
1
,
0
,
QEMU_CAPS_VNC_COLON
,
QEMU_CAPS_VNC_COLON
,
QEMU_CAPS_NO_REBOOT
,
QEMU_CAPS_NO_REBOOT
,
...
@@ -644,7 +647,8 @@ mymain(void)
...
@@ -644,7 +647,8 @@ mymain(void)
QEMU_CAPS_VNC
,
QEMU_CAPS_VNC
,
QEMU_CAPS_DEVICE_QXL
,
QEMU_CAPS_DEVICE_QXL
,
QEMU_CAPS_DEVICE_VGA
,
QEMU_CAPS_DEVICE_VGA
,
QEMU_CAPS_DEVICE_CIRRUS_VGA
);
QEMU_CAPS_DEVICE_CIRRUS_VGA
,
QEMU_CAPS_DEVICE_PCI_BRIDGE
);
DO_TEST
(
"qemu-1.0"
,
1000000
,
0
,
0
,
DO_TEST
(
"qemu-1.0"
,
1000000
,
0
,
0
,
QEMU_CAPS_VNC_COLON
,
QEMU_CAPS_VNC_COLON
,
QEMU_CAPS_NO_REBOOT
,
QEMU_CAPS_NO_REBOOT
,
...
@@ -816,7 +820,8 @@ mymain(void)
...
@@ -816,7 +820,8 @@ mymain(void)
QEMU_CAPS_DEVICE_USB_SERIAL
,
QEMU_CAPS_DEVICE_USB_SERIAL
,
QEMU_CAPS_DEVICE_USB_NET
,
QEMU_CAPS_DEVICE_USB_NET
,
QEMU_CAPS_DTB
,
QEMU_CAPS_DTB
,
QEMU_CAPS_IPV6_MIGRATION
);
QEMU_CAPS_IPV6_MIGRATION
,
QEMU_CAPS_DEVICE_PCI_BRIDGE
);
DO_TEST
(
"qemu-1.2.0"
,
1002000
,
0
,
0
,
DO_TEST
(
"qemu-1.2.0"
,
1002000
,
0
,
0
,
QEMU_CAPS_VNC_COLON
,
QEMU_CAPS_VNC_COLON
,
QEMU_CAPS_NO_REBOOT
,
QEMU_CAPS_NO_REBOOT
,
...
@@ -919,7 +924,8 @@ mymain(void)
...
@@ -919,7 +924,8 @@ mymain(void)
QEMU_CAPS_DEVICE_USB_NET
,
QEMU_CAPS_DEVICE_USB_NET
,
QEMU_CAPS_DTB
,
QEMU_CAPS_DTB
,
QEMU_CAPS_SCSI_MEGASAS
,
QEMU_CAPS_SCSI_MEGASAS
,
QEMU_CAPS_IPV6_MIGRATION
);
QEMU_CAPS_IPV6_MIGRATION
,
QEMU_CAPS_DEVICE_PCI_BRIDGE
);
DO_TEST
(
"qemu-kvm-1.2.0"
,
1002000
,
1
,
0
,
DO_TEST
(
"qemu-kvm-1.2.0"
,
1002000
,
1
,
0
,
QEMU_CAPS_VNC_COLON
,
QEMU_CAPS_VNC_COLON
,
QEMU_CAPS_NO_REBOOT
,
QEMU_CAPS_NO_REBOOT
,
...
@@ -1027,7 +1033,8 @@ mymain(void)
...
@@ -1027,7 +1033,8 @@ mymain(void)
QEMU_CAPS_DEVICE_USB_NET
,
QEMU_CAPS_DEVICE_USB_NET
,
QEMU_CAPS_DTB
,
QEMU_CAPS_DTB
,
QEMU_CAPS_SCSI_MEGASAS
,
QEMU_CAPS_SCSI_MEGASAS
,
QEMU_CAPS_IPV6_MIGRATION
);
QEMU_CAPS_IPV6_MIGRATION
,
QEMU_CAPS_DEVICE_PCI_BRIDGE
);
return
ret
==
0
?
EXIT_SUCCESS
:
EXIT_FAILURE
;
return
ret
==
0
?
EXIT_SUCCESS
:
EXIT_FAILURE
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录