Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
43b8123d
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看板
提交
43b8123d
编写于
8月 22, 2014
作者:
M
Martin Kletzander
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs, conf: add support for bootmenu timeout
Signed-off-by:
N
Martin Kletzander
<
mkletzan@redhat.com
>
上级
fa82c0f3
变更
10
显示空白变更内容
内联
并排
Showing
10 changed file
with
151 addition
and
3 deletion
+151
-3
docs/formatdomain.html.in
docs/formatdomain.html.in
+6
-1
docs/schemas/domaincommon.rng
docs/schemas/domaincommon.rng
+5
-0
src/conf/domain_conf.c
src/conf/domain_conf.c
+19
-2
src/conf/domain_conf.h
src/conf/domain_conf.h
+2
-0
tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-with-timeout.xml
...2argvdata/qemuxml2argv-boot-menu-disable-with-timeout.xml
+29
-0
tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable-with-timeout-invalid.xml
...ta/qemuxml2argv-boot-menu-enable-with-timeout-invalid.xml
+29
-0
tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable-with-timeout.xml
...l2argvdata/qemuxml2argv-boot-menu-enable-with-timeout.xml
+29
-0
tests/qemuxml2argvtest.c
tests/qemuxml2argvtest.c
+1
-0
tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-menu-disable-with-timeout.xml
...outdata/qemuxml2xmlout-boot-menu-disable-with-timeout.xml
+29
-0
tests/qemuxml2xmltest.c
tests/qemuxml2xmltest.c
+2
-0
未找到文件。
docs/formatdomain.html.in
浏览文件 @
43b8123d
...
...
@@ -105,7 +105,7 @@
<
loader
>
/usr/lib/xen/boot/hvmloader
<
/loader
>
<
boot dev='hd'/
>
<
boot dev='cdrom'/
>
<
bootmenu enable='yes'/
>
<
bootmenu enable='yes'
timeout='3000'
/
>
<
smbios mode='sysinfo'/
>
<
bios useserial='yes' rebootTimeout='0'/
>
<
/os
>
...
...
@@ -158,6 +158,11 @@
startup. The
<code>
enable
</code>
attribute can be either "yes" or "no".
If not specified, the hypervisor default is used.
<span
class=
"since"
>
Since 0.8.3
</span>
Additional attribute
<code>
timeout
</code>
takes the number of milliseconds
the boot menu should wait until it times out. Allowed values are numbers
in range [0, 65535] inclusive and it is valid if and only if the previous
<code>
enable
</code>
is set to "yes".
<span
class=
"since"
>
Since 1.2.8
</span>
</dd>
<dt><code>
smbios
</code></dt>
<dd>
How to populate SMBIOS information visible in the guest.
...
...
docs/schemas/domaincommon.rng
浏览文件 @
43b8123d
...
...
@@ -259,6 +259,11 @@
<value>
no
</value>
</choice>
</attribute>
<optional>
<attribute
name=
"timeout"
>
<ref
name=
"unsignedShort"
/>
</attribute>
</optional>
</element>
</optional>
<optional>
...
...
src/conf/domain_conf.c
浏览文件 @
43b8123d
...
...
@@ -11188,6 +11188,19 @@ virDomainDefParseBootXML(xmlXPathContextPtr ctxt,
VIR_FREE(tmp);
}
tmp = virXPathString("string(./os/bootmenu[1]/@timeout)", ctxt);
if (tmp && def->os.bootmenu == VIR_TRISTATE_BOOL_YES) {
if (virStrToLong_uip(tmp, NULL, 0, &def->os.bm_timeout) < 0 ||
def->os.bm_timeout > 65535) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("invalid value for boot menu timeout, "
"must be in range [0,65535]"));
goto cleanup;
}
def->os.bm_timeout_set = true;
}
VIR_FREE(tmp);
tmp = virXPathString("string(./os/bios[1]/@useserial)", ctxt);
if (tmp) {
if (STREQ(tmp, "yes")) {
...
...
@@ -17960,9 +17973,13 @@ virDomainDefFormatInternal(virDomainDefPtr def,
virBufferAsprintf(buf, "<boot dev='%s'/>\n", boottype);
}
if (def->os.bootmenu)
virBufferAsprintf(buf, "<bootmenu enable='%s'
/>\n
",
if (def->os.bootmenu)
{
virBufferAsprintf(buf, "<bootmenu enable='%s'",
virTristateBoolTypeToString(def->os.bootmenu));
if (def->os.bm_timeout_set)
virBufferAsprintf(buf, " timeout='%u'", def->os.bm_timeout);
virBufferAddLit(buf, "/>\n");
}
if (def->os.bios.useserial || def->os.bios.rt_set) {
virBufferAddLit(buf, "<bios");
...
...
src/conf/domain_conf.h
浏览文件 @
43b8123d
...
...
@@ -1630,6 +1630,8 @@ struct _virDomainOSDef {
size_t
nBootDevs
;
int
bootDevs
[
VIR_DOMAIN_BOOT_LAST
];
int
bootmenu
;
/* enum virTristateBool */
unsigned
int
bm_timeout
;
bool
bm_timeout_set
;
char
*
init
;
char
**
initargv
;
char
*
kernel
;
...
...
tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-with-timeout.xml
0 → 100644
浏览文件 @
43b8123d
<domain
type=
'qemu'
>
<name>
QEMUGuest1
</name>
<uuid>
c7a5fdbd-edaf-9455-926a-d65c16db1809
</uuid>
<memory
unit=
'KiB'
>
219100
</memory>
<currentMemory
unit=
'KiB'
>
219100
</currentMemory>
<vcpu
placement=
'static'
>
1
</vcpu>
<os>
<type
arch=
'i686'
machine=
'pc'
>
hvm
</type>
<boot
dev=
'cdrom'
/>
<bootmenu
enable=
'no'
timeout=
'3000'
/>
</os>
<clock
offset=
'utc'
/>
<on_poweroff>
destroy
</on_poweroff>
<on_reboot>
restart
</on_reboot>
<on_crash>
destroy
</on_crash>
<devices>
<emulator>
/usr/bin/qemu
</emulator>
<disk
type=
'block'
device=
'cdrom'
>
<source
dev=
'/dev/cdrom'
/>
<target
dev=
'hdc'
bus=
'ide'
/>
<readonly/>
<address
type=
'drive'
controller=
'0'
bus=
'1'
target=
'0'
unit=
'0'
/>
</disk>
<controller
type=
'usb'
index=
'0'
/>
<controller
type=
'ide'
index=
'0'
/>
<controller
type=
'pci'
index=
'0'
model=
'pci-root'
/>
<memballoon
model=
'virtio'
/>
</devices>
</domain>
tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable-with-timeout-invalid.xml
0 → 100644
浏览文件 @
43b8123d
<domain
type=
'qemu'
>
<name>
QEMUGuest1
</name>
<uuid>
c7a5fdbd-edaf-9455-926a-d65c16db1809
</uuid>
<memory
unit=
'KiB'
>
219100
</memory>
<currentMemory
unit=
'KiB'
>
219100
</currentMemory>
<vcpu
placement=
'static'
>
1
</vcpu>
<os>
<type
arch=
'i686'
machine=
'pc'
>
hvm
</type>
<boot
dev=
'cdrom'
/>
<bootmenu
enable=
'yes'
timeout=
'65536'
/>
</os>
<clock
offset=
'utc'
/>
<on_poweroff>
destroy
</on_poweroff>
<on_reboot>
restart
</on_reboot>
<on_crash>
destroy
</on_crash>
<devices>
<emulator>
/usr/bin/qemu
</emulator>
<disk
type=
'block'
device=
'cdrom'
>
<source
dev=
'/dev/cdrom'
/>
<target
dev=
'hdc'
bus=
'ide'
/>
<readonly/>
<address
type=
'drive'
controller=
'0'
bus=
'1'
target=
'0'
unit=
'0'
/>
</disk>
<controller
type=
'usb'
index=
'0'
/>
<controller
type=
'ide'
index=
'0'
/>
<controller
type=
'pci'
index=
'0'
model=
'pci-root'
/>
<memballoon
model=
'virtio'
/>
</devices>
</domain>
tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable-with-timeout.xml
0 → 100644
浏览文件 @
43b8123d
<domain
type=
'qemu'
>
<name>
QEMUGuest1
</name>
<uuid>
c7a5fdbd-edaf-9455-926a-d65c16db1809
</uuid>
<memory
unit=
'KiB'
>
219100
</memory>
<currentMemory
unit=
'KiB'
>
219100
</currentMemory>
<vcpu
placement=
'static'
>
1
</vcpu>
<os>
<type
arch=
'i686'
machine=
'pc'
>
hvm
</type>
<boot
dev=
'cdrom'
/>
<bootmenu
enable=
'yes'
timeout=
'3000'
/>
</os>
<clock
offset=
'utc'
/>
<on_poweroff>
destroy
</on_poweroff>
<on_reboot>
restart
</on_reboot>
<on_crash>
destroy
</on_crash>
<devices>
<emulator>
/usr/bin/qemu
</emulator>
<disk
type=
'block'
device=
'cdrom'
>
<source
dev=
'/dev/cdrom'
/>
<target
dev=
'hdc'
bus=
'ide'
/>
<readonly/>
<address
type=
'drive'
controller=
'0'
bus=
'1'
target=
'0'
unit=
'0'
/>
</disk>
<controller
type=
'usb'
index=
'0'
/>
<controller
type=
'ide'
index=
'0'
/>
<controller
type=
'pci'
index=
'0'
model=
'pci-root'
/>
<memballoon
model=
'virtio'
/>
</devices>
</domain>
tests/qemuxml2argvtest.c
浏览文件 @
43b8123d
...
...
@@ -607,6 +607,7 @@ mymain(void)
DO_TEST
(
"boot-menu-enable"
,
QEMU_CAPS_BOOT_MENU
,
QEMU_CAPS_DEVICE
,
QEMU_CAPS_DRIVE
,
QEMU_CAPS_BOOTINDEX
);
DO_TEST_PARSE_ERROR
(
"boot-menu-enable-with-timeout-invalid"
,
NONE
);
DO_TEST
(
"boot-menu-disable"
,
QEMU_CAPS_BOOT_MENU
);
DO_TEST
(
"boot-menu-disable-drive"
,
QEMU_CAPS_BOOT_MENU
,
QEMU_CAPS_DEVICE
,
QEMU_CAPS_DRIVE
);
...
...
tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-menu-disable-with-timeout.xml
0 → 100644
浏览文件 @
43b8123d
<domain
type=
'qemu'
>
<name>
QEMUGuest1
</name>
<uuid>
c7a5fdbd-edaf-9455-926a-d65c16db1809
</uuid>
<memory
unit=
'KiB'
>
219100
</memory>
<currentMemory
unit=
'KiB'
>
219100
</currentMemory>
<vcpu
placement=
'static'
>
1
</vcpu>
<os>
<type
arch=
'i686'
machine=
'pc'
>
hvm
</type>
<boot
dev=
'cdrom'
/>
<bootmenu
enable=
'no'
/>
</os>
<clock
offset=
'utc'
/>
<on_poweroff>
destroy
</on_poweroff>
<on_reboot>
restart
</on_reboot>
<on_crash>
destroy
</on_crash>
<devices>
<emulator>
/usr/bin/qemu
</emulator>
<disk
type=
'block'
device=
'cdrom'
>
<source
dev=
'/dev/cdrom'
/>
<target
dev=
'hdc'
bus=
'ide'
/>
<readonly/>
<address
type=
'drive'
controller=
'0'
bus=
'1'
target=
'0'
unit=
'0'
/>
</disk>
<controller
type=
'usb'
index=
'0'
/>
<controller
type=
'ide'
index=
'0'
/>
<controller
type=
'pci'
index=
'0'
model=
'pci-root'
/>
<memballoon
model=
'virtio'
/>
</devices>
</domain>
tests/qemuxml2xmltest.c
浏览文件 @
43b8123d
...
...
@@ -171,7 +171,9 @@ mymain(void)
DO_TEST
(
"boot-network"
);
DO_TEST
(
"boot-floppy"
);
DO_TEST
(
"boot-multi"
);
DO_TEST
(
"boot-menu-enable-with-timeout"
);
DO_TEST
(
"boot-menu-disable"
);
DO_TEST_DIFFERENT
(
"boot-menu-disable-with-timeout"
);
DO_TEST
(
"boot-order"
);
DO_TEST
(
"bootloader"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录