xl: pvshim: Provide and document xl config

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
This commit is contained in:
Ian Jackson authored and Wei Liu committed 2018-01-16 18:34:05 +00:00
1 parent fb65102f8a
commit 3115091dde
2 files changed
+49

No files matched your search

+35
View File
@@ -508,6 +508,41 @@ Load the specified file as firmware for the guest.
Currently there's no firmware available for PVH guests, they should be
booted using the B<Direct Kernel Boot> method or the B<bootloader> option.
=over 4
=item B<pvshim=BOOLEAN>
Whether to boot this guest as a PV guest within a PVH container.
Ie, the guest will experience a PV environment,
but
processor hardware extensions are used to
separate its address space
to mitigate the Meltdown attack (CVE-2017-5754).
Default is false.
=item B<pvshim_path="PATH">
The PV shim is a specially-built firmware-like executable
constructed from the hypervisor source tree.
This option specifies to use a non-default shim.
Ignored if pvhsim is false.
=item B<pvshim_cmdline="STRING">
Command line for the shim.
Default is "pv-shim console=xen,pv sched=null".
Ignored if pvhsim is false.
=item B<pvshim_extra="STRING">
Extra command line arguments for the shim.
If supplied, appended to the value for pvshim_cmdline.
Default is empty.
Ignored if pvhsim is false.
=back
=head3 Other Options
=over 4
+14
View File
@@ -964,6 +964,20 @@ void parse_config_data(const char *config_source,
xlu_cfg_replace_string(config, "pool", &c_info->pool_name, 0);
libxl_domain_build_info_init_type(b_info, c_info->type);
if (b_info->type == LIBXL_DOMAIN_TYPE_PVH) {
xlu_cfg_get_defbool(config, "pvshim", &b_info->u.pvh.pvshim, 0);
if (!xlu_cfg_get_string(config, "pvshim_path", &buf, 0))
xlu_cfg_replace_string(config, "pvshim_path",
&b_info->u.pvh.pvshim_path, 0);
if (!xlu_cfg_get_string(config, "pvshim_cmdline", &buf, 0))
xlu_cfg_replace_string(config, "pvshim_cmdline",
&b_info->u.pvh.pvshim_cmdline, 0);
if (!xlu_cfg_get_string(config, "pvshim_extra", &buf, 0))
xlu_cfg_replace_string(config, "pvshim_extra",
&b_info->u.pvh.pvshim_extra, 0);
}
if (blkdev_start)
b_info->blkdev_start = strdup(blkdev_start);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.