XSA-256 forces the local APIC to always be enabled for PVH guests, so
ignore any apic option for PVH guests. Update the documentation
accordingly.

Signed-off-by: Roger Pau Monné <roger....@citrix.com>
---
Cc: Ian Jackson <ian.jack...@eu.citrix.com>
Cc: Wei Liu <wei.l...@citrix.com>
---
 docs/man/xl.cfg.pod.5.in | 6 ------
 tools/libxl/libxl_x86.c  | 6 +-----
 tools/xl/xl_parse.c      | 2 +-
 3 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/docs/man/xl.cfg.pod.5.in b/docs/man/xl.cfg.pod.5.in
index a699367779..69552f8a05 100644
--- a/docs/man/xl.cfg.pod.5.in
+++ b/docs/man/xl.cfg.pod.5.in
@@ -2353,12 +2353,6 @@ compatibility mode on more modern Windows OS).
 
 This option is disabled by default.
 
-=item B<apic=BOOLEAN>
-
-Enable the local APIC emulation for the guest. The local APIC information
-will be exposed to the guest in the ACPI tables. This option is enabled by
-default.
-
 =item B<bootloader="PROGRAM">
 
 Run C<PROGRAM> to find the kernel image and ramdisk to use.  Normally
diff --git a/tools/libxl/libxl_x86.c b/tools/libxl/libxl_x86.c
index ad74ecc232..1e9f98961b 100644
--- a/tools/libxl/libxl_x86.c
+++ b/tools/libxl/libxl_x86.c
@@ -12,11 +12,7 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         xc_config->emulation_flags = (XEN_X86_EMU_ALL & ~XEN_X86_EMU_VPCI);
         break;
     case LIBXL_DOMAIN_TYPE_PVH:
-        if (libxl_defbool_val(d_config->b_info.apic))
-            /* PVH guests may want to have LAPIC emulation. */
-            xc_config->emulation_flags = XEN_X86_EMU_LAPIC;
-        else
-            xc_config->emulation_flags = 0;
+        xc_config->emulation_flags = XEN_X86_EMU_LAPIC;
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         xc_config->emulation_flags = 0;
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index f6842540ca..8b999825d2 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1208,7 +1208,6 @@ void parse_config_data(const char *config_source,
     }
 
     xlu_cfg_get_defbool(config, "nestedhvm", &b_info->nested_hvm, 0);
-    xlu_cfg_get_defbool(config, "apic", &b_info->apic, 0);
 
     switch(b_info->type) {
     case LIBXL_DOMAIN_TYPE_HVM:
@@ -1243,6 +1242,7 @@ void parse_config_data(const char *config_source,
         xlu_cfg_get_defbool(config, "nx", &b_info->u.hvm.nx, 0);
         xlu_cfg_get_defbool(config, "hpet", &b_info->u.hvm.hpet, 0);
         xlu_cfg_get_defbool(config, "vpt_align", &b_info->u.hvm.vpt_align, 0);
+        xlu_cfg_get_defbool(config, "apic", &b_info->apic, 0);
 
         switch (xlu_cfg_get_list(config, "viridian",
                                  &viridian, &num_viridian, 1))
-- 
2.16.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to