|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen stable-4.10] xl: pvshim: Provide and document xl config
commit 0e2d64ae8f4af4dbd49127107ae6237e7f748c04
Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
AuthorDate: Fri Dec 22 16:12:23 2017 +0000
Commit: Roger Pau Monne <roger.pau@xxxxxxxxxx>
CommitDate: Fri Jan 12 15:47:33 2018 +0000
xl: pvshim: Provide and document xl config
Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
v2: pvshim, not pvhshim
works with type "pvh", not type "pv"
pvshim_etc. options in config are not erroneously ignored
---
docs/man/xl.cfg.pod.5.in | 35 +++++++++++++++++++++++++++++++++++
tools/xl/xl_parse.c | 14 ++++++++++++++
2 files changed, 49 insertions(+)
diff --git a/docs/man/xl.cfg.pod.5.in b/docs/man/xl.cfg.pod.5.in
index b7b91d8627..bf6c266de1 100644
--- a/docs/man/xl.cfg.pod.5.in
+++ b/docs/man/xl.cfg.pod.5.in
@@ -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
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 9a692d5ae6..fdfe693de1 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -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);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.10
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |