Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
8b0cd876
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,发现更多精彩内容 >>
提交
8b0cd876
编写于
5月 26, 2010
作者:
J
Jean-Baptiste Rouault
提交者:
Matthias Bolte
5月 27, 2010
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support for VirtualBox version 3.2
上级
fa0bb9f6
变更
5
展开全部
隐藏空白更改
内联
并排
Showing
5 changed file
with
5659 addition
and
5 deletion
+5659
-5
src/Makefile.am
src/Makefile.am
+2
-1
src/vbox/vbox_CAPI_v3_2.h
src/vbox/vbox_CAPI_v3_2.h
+5607
-0
src/vbox/vbox_V3_2.c
src/vbox/vbox_V3_2.c
+13
-0
src/vbox/vbox_driver.c
src/vbox/vbox_driver.c
+8
-0
src/vbox/vbox_tmpl.c
src/vbox/vbox_tmpl.c
+29
-4
未找到文件。
src/Makefile.am
浏览文件 @
8b0cd876
...
...
@@ -257,7 +257,8 @@ VBOX_DRIVER_SOURCES = \
vbox/vbox_driver.c vbox/vbox_driver.h
\
vbox/vbox_V2_2.c vbox/vbox_CAPI_v2_2.h
\
vbox/vbox_V3_0.c vbox/vbox_CAPI_v3_0.h
\
vbox/vbox_V3_1.c vbox/vbox_CAPI_v3_1.h
vbox/vbox_V3_1.c vbox/vbox_CAPI_v3_1.h
\
vbox/vbox_V3_2.c vbox/vbox_CAPI_v3_2.h
VBOX_DRIVER_EXTRA_DIST
=
vbox/vbox_tmpl.c vbox/README
...
...
src/vbox/vbox_CAPI_v3_2.h
0 → 100644
浏览文件 @
8b0cd876
此差异已折叠。
点击以展开。
src/vbox/vbox_V3_2.c
0 → 100644
浏览文件 @
8b0cd876
/** @file vbox_V3_2.c
* C file to include support for multiple versions of VirtualBox
* at runtime.
*/
#include <config.h>
/** The API Version */
#define VBOX_API_VERSION 3002
/** Version specific prefix. */
#define NAME(name) vbox32##name
#include "vbox_tmpl.c"
src/vbox/vbox_driver.c
浏览文件 @
8b0cd876
...
...
@@ -53,6 +53,9 @@ extern virStorageDriver vbox30StorageDriver;
extern
virDriver
vbox31Driver
;
extern
virNetworkDriver
vbox31NetworkDriver
;
extern
virStorageDriver
vbox31StorageDriver
;
extern
virDriver
vbox32Driver
;
extern
virNetworkDriver
vbox32NetworkDriver
;
extern
virStorageDriver
vbox32StorageDriver
;
static
virDriver
vboxDriverDummy
;
...
...
@@ -106,6 +109,11 @@ int vboxRegister(void) {
driver
=
&
vbox31Driver
;
networkDriver
=
&
vbox31NetworkDriver
;
storageDriver
=
&
vbox31StorageDriver
;
}
else
if
(
uVersion
>=
3001051
&&
uVersion
<
3002051
)
{
DEBUG0
(
"VirtualBox API version: 3.2"
);
driver
=
&
vbox32Driver
;
networkDriver
=
&
vbox32NetworkDriver
;
storageDriver
=
&
vbox32StorageDriver
;
}
else
{
DEBUG0
(
"Unsupport VirtualBox API version"
);
}
...
...
src/vbox/vbox_tmpl.c
浏览文件 @
8b0cd876
...
...
@@ -61,6 +61,8 @@
# include "vbox_CAPI_v3_0.h"
#elif VBOX_API_VERSION == 3001
# include "vbox_CAPI_v3_1.h"
#elif VBOX_API_VERSION == 3002
# include "vbox_CAPI_v3_2.h"
#else
# error "Unsupport VBOX_API_VERSION"
#endif
...
...
@@ -2029,9 +2031,11 @@ static char *vboxDomainDumpXML(virDomainPtr dom, int flags) {
def
->
features
=
0
;
#if VBOX_API_VERSION < 3001
machine
->
vtbl
->
GetPAEEnabled
(
machine
,
&
PAEEnabled
);
#el
se
/* VBOX_API_VERSION >= 3001 */
#el
if VBOX_API_VERSION == 3001
machine
->
vtbl
->
GetCpuProperty
(
machine
,
CpuPropertyType_PAE
,
&
PAEEnabled
);
#endif
/* VBOX_API_VERSION >= 3001 */
#elif VBOX_API_VERSION >= 3002
machine
->
vtbl
->
GetCPUProperty
(
machine
,
CPUPropertyType_PAE
,
&
PAEEnabled
);
#endif
if
(
PAEEnabled
)
{
def
->
features
=
def
->
features
|
(
1
<<
VIR_DOMAIN_FEATURE_PAE
);
}
...
...
@@ -3357,6 +3361,9 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
vboxIID
*
mchiid
=
NULL
;
virDomainDefPtr
def
=
NULL
;
PRUnichar
*
machineNameUtf16
=
NULL
;
#if VBOX_API_VERSION >= 3002
PRBool
override
=
PR_FALSE
;
#endif
nsresult
rc
;
if
(
!
(
def
=
virDomainDefParseString
(
data
->
caps
,
xml
,
...
...
@@ -3373,12 +3380,22 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
VBOX_UTF8_TO_UTF16
(
def
->
name
,
&
machineNameUtf16
);
vboxIIDFromUUID
(
def
->
uuid
,
iid
);
#if VBOX_API_VERSION < 3002
rc
=
data
->
vboxObj
->
vtbl
->
CreateMachine
(
data
->
vboxObj
,
machineNameUtf16
,
NULL
,
NULL
,
iid
,
&
machine
);
#else
/* VBOX_API_VERSION >= 3002 */
rc
=
data
->
vboxObj
->
vtbl
->
CreateMachine
(
data
->
vboxObj
,
machineNameUtf16
,
NULL
,
NULL
,
iid
,
override
,
&
machine
);
#endif
/* VBOX_API_VERSION >= 3002 */
VBOX_UTF16_FREE
(
machineNameUtf16
);
if
(
NS_FAILED
(
rc
))
{
...
...
@@ -3405,11 +3422,15 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
#if VBOX_API_VERSION < 3001
rc
=
machine
->
vtbl
->
SetPAEEnabled
(
machine
,
(
def
->
features
)
&
(
1
<<
VIR_DOMAIN_FEATURE_PAE
));
#el
se
/* VBOX_API_VERSION >= 3001 */
#el
if VBOX_API_VERSION == 3001
rc
=
machine
->
vtbl
->
SetCpuProperty
(
machine
,
CpuPropertyType_PAE
,
(
def
->
features
)
&
(
1
<<
VIR_DOMAIN_FEATURE_PAE
));
#endif
/* VBOX_API_VERSION >= 3001 */
#elif VBOX_API_VERSION >= 3002
rc
=
machine
->
vtbl
->
SetCPUProperty
(
machine
,
CPUPropertyType_PAE
,
(
def
->
features
)
&
(
1
<<
VIR_DOMAIN_FEATURE_PAE
));
#endif
if
(
NS_FAILED
(
rc
))
{
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not change PAE status to: %s, rc=%08x"
),
...
...
@@ -6334,7 +6355,11 @@ static IVirtualBoxCallback *vboxAllocCallbackObj(void) {
vboxCallback
->
vtbl
->
OnMachineRegistered
=
&
vboxCallbackOnMachineRegistered
;
vboxCallback
->
vtbl
->
OnSessionStateChange
=
&
vboxCallbackOnSessionStateChange
;
vboxCallback
->
vtbl
->
OnSnapshotTaken
=
&
vboxCallbackOnSnapshotTaken
;
# if VBOX_API_VERSION < 3002
vboxCallback
->
vtbl
->
OnSnapshotDiscarded
=
&
vboxCallbackOnSnapshotDiscarded
;
# else
/* VBOX_API_VERSION >= 3002 */
vboxCallback
->
vtbl
->
OnSnapshotDeleted
=
&
vboxCallbackOnSnapshotDiscarded
;
# endif
/* VBOX_API_VERSION >= 3002 */
vboxCallback
->
vtbl
->
OnSnapshotChange
=
&
vboxCallbackOnSnapshotChange
;
vboxCallback
->
vtbl
->
OnGuestPropertyChange
=
&
vboxCallbackOnGuestPropertyChange
;
g_pVBoxGlobalData
->
vboxCallBackRefCount
=
1
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录