Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
c7722ca3
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c7722ca3
编写于
7月 30, 2007
作者:
D
Daniel Veillard
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
* src/qemu_conf.[ch] src/qemu_driver.c: add qemu/kvm drivers report
features for i686 and x86_64, patch from David Lutterkort Daniel
上级
4e01a607
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
82 addition
and
19 deletion
+82
-19
ChangeLog
ChangeLog
+5
-0
src/qemu_conf.c
src/qemu_conf.c
+21
-7
src/qemu_conf.h
src/qemu_conf.h
+7
-0
src/qemu_driver.c
src/qemu_driver.c
+49
-12
未找到文件。
ChangeLog
浏览文件 @
c7722ca3
Mon Jul 30 11:59:51 CEST 2007 Daniel Veillard <veillard@redhat.com>
* src/qemu_conf.[ch] src/qemu_driver.c: add qemu/kvm drivers report
features for i686 and x86_64, patch from David Lutterkort
Fri Jul 27 19:19:31 EST 2007 Daniel P. Berrange <berrange@redhat.com>
* src/test.c: Added impl of networking APIs. Cleanup all other
...
...
src/qemu_conf.c
浏览文件 @
c7722ca3
...
...
@@ -221,17 +221,31 @@ static const char *arch_info_ppc_machines[] = {
"g3bw"
,
"mac99"
,
"prep"
,
NULL
};
/* Feature flags for the architecture info */
struct
qemu_feature_flags
arch_info_i686_flags
[]
=
{
{
"pae"
,
1
,
1
},
{
"acpi"
,
1
,
1
},
{
"apic"
,
1
,
0
},
{
NULL
,
-
1
,
-
1
}
};
struct
qemu_feature_flags
arch_info_x86_64_flags
[]
=
{
{
"acpi"
,
1
,
1
},
{
"apic"
,
1
,
0
},
{
NULL
,
-
1
,
-
1
}
};
/* The archicture tables for supported QEMU archs */
struct
qemu_arch_info
qemudArchs
[]
=
{
/* i686 must be in position 0 */
{
"i686"
,
32
,
arch_info_x86_machines
,
"qemu"
},
{
"i686"
,
32
,
arch_info_x86_machines
,
"qemu"
,
arch_info_i686_flags
},
/* x86_64 must be in position 1 */
{
"x86_64"
,
64
,
arch_info_x86_machines
,
"qemu-system-x86_64"
},
{
"mips"
,
32
,
arch_info_mips_machines
,
"qemu-system-mips"
},
{
"mipsel"
,
32
,
arch_info_mips_machines
,
"qemu-system-mipsel"
},
{
"sparc"
,
32
,
arch_info_sparc_machines
,
"qemu-system-sparc"
},
{
"ppc"
,
32
,
arch_info_ppc_machines
,
"qemu-system-ppc"
},
{
NULL
,
-
1
,
NULL
,
NULL
}
{
"x86_64"
,
64
,
arch_info_x86_machines
,
"qemu-system-x86_64"
,
arch_info_x86_64_flags
},
{
"mips"
,
32
,
arch_info_mips_machines
,
"qemu-system-mips"
,
NULL
},
{
"mipsel"
,
32
,
arch_info_mips_machines
,
"qemu-system-mipsel"
,
NULL
},
{
"sparc"
,
32
,
arch_info_sparc_machines
,
"qemu-system-sparc"
,
NULL
},
{
"ppc"
,
32
,
arch_info_ppc_machines
,
"qemu-system-ppc"
,
NULL
},
{
NULL
,
-
1
,
NULL
,
NULL
,
NULL
}
};
/* Return the default architecture if none is explicitly requested*/
...
...
src/qemu_conf.h
浏览文件 @
c7722ca3
...
...
@@ -384,11 +384,18 @@ char * qemudGenerateNetworkXML (virConnectPtr conn,
struct
qemud_network
*
network
,
struct
qemud_network_def
*
def
);
struct
qemu_feature_flags
{
const
char
*
name
;
const
int
default_on
;
const
int
toggle
;
};
struct
qemu_arch_info
{
const
char
*
arch
;
int
wordsize
;
const
char
**
machines
;
const
char
*
binary
;
const
struct
qemu_feature_flags
*
fflags
;
};
extern
struct
qemu_arch_info
qemudArchs
[];
...
...
src/qemu_driver.c
浏览文件 @
c7722ca3
...
...
@@ -1416,6 +1416,40 @@ static int qemudGetNodeInfo(virConnectPtr conn,
return
virNodeInfoPopulate
(
conn
,
nodeinfo
);
}
static
int
qemudGetFeatures
(
virBufferPtr
xml
,
const
struct
qemu_feature_flags
*
flags
)
{
int
i
,
r
;
if
(
flags
==
NULL
)
return
0
;
r
=
virBufferAdd
(
xml
,
"\
<features>
\n
"
,
-
1
);
if
(
r
==
-
1
)
return
r
;
for
(
i
=
0
;
flags
[
i
].
name
;
++
i
)
{
if
(
STREQ
(
flags
[
i
].
name
,
"pae"
))
{
int
pae
=
flags
[
i
].
default_on
||
flags
[
i
].
toggle
;
int
nonpae
=
flags
[
i
].
toggle
;
if
(
pae
)
{
r
=
virBufferAdd
(
xml
,
" <pae/>
\n
"
,
-
1
);
if
(
r
==
-
1
)
return
r
;
}
if
(
nonpae
)
{
r
=
virBufferAdd
(
xml
,
" <nonpae/>
\n
"
,
-
1
);
if
(
r
==
-
1
)
return
r
;
}
}
else
{
r
=
virBufferVSprintf
(
xml
,
" <%s default='%s' toggle='%s'/>
\n
"
,
flags
[
i
].
name
,
flags
[
i
].
default_on
?
"on"
:
"off"
,
flags
[
i
].
toggle
?
"yes"
:
"no"
);
if
(
r
==
-
1
)
return
r
;
}
}
r
=
virBufferAdd
(
xml
,
" </features>
\n
"
,
-
1
);
return
r
;
}
static
char
*
qemudGetCapabilities
(
virConnectPtr
conn
ATTRIBUTE_UNUSED
)
{
struct
utsname
utsname
;
int
i
,
j
,
r
;
...
...
@@ -1493,10 +1527,13 @@ static char *qemudGetCapabilities(virConnectPtr conn ATTRIBUTE_UNUSED) {
</domain>
\n
"
,
-
1
);
if
(
r
==
-
1
)
goto
vir_buffer_failed
;
}
r
=
virBufferAdd
(
xml
,
"\
</arch>
\n
\
</guest>
\n
"
,
-
1
);
r
=
virBufferAdd
(
xml
,
" </arch>
\n
"
,
-
1
);
if
(
r
==
-
1
)
goto
vir_buffer_failed
;
r
=
qemudGetFeatures
(
xml
,
qemudArchs
[
i
].
fflags
);
if
(
r
==
-
1
)
goto
vir_buffer_failed
;
r
=
virBufferAdd
(
xml
,
" </guest>
\n
"
,
-
1
);
if
(
r
==
-
1
)
goto
vir_buffer_failed
;
/* The "other" PC architecture needs emulation. */
...
...
@@ -1521,10 +1558,7 @@ static char *qemudGetCapabilities(virConnectPtr conn ATTRIBUTE_UNUSED) {
qemudArchs
[
i
].
machines
[
j
]);
if
(
r
==
-
1
)
goto
vir_buffer_failed
;
}
r
=
virBufferAdd
(
xml
,
"\
</arch>
\n
\
</guest>
\n
"
,
-
1
);
r
=
virBufferAdd
(
xml
,
" </arch>
\n
</guest>
\n
"
,
-
1
);
if
(
r
==
-
1
)
goto
vir_buffer_failed
;
}
...
...
@@ -1550,10 +1584,13 @@ static char *qemudGetCapabilities(virConnectPtr conn ATTRIBUTE_UNUSED) {
qemudArchs
[
i
].
machines
[
j
]);
if
(
r
==
-
1
)
goto
vir_buffer_failed
;
}
r
=
virBufferAdd
(
xml
,
"\
</arch>
\n
\
</guest>
\n
"
,
-
1
);
r
=
virBufferAdd
(
xml
,
" </arch>
\n
"
,
-
1
);
if
(
r
==
-
1
)
goto
vir_buffer_failed
;
r
=
qemudGetFeatures
(
xml
,
qemudArchs
[
i
].
fflags
);
if
(
r
==
-
1
)
goto
vir_buffer_failed
;
r
=
virBufferAdd
(
xml
,
" </guest>
\n
"
,
-
1
);
if
(
r
==
-
1
)
goto
vir_buffer_failed
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录