From: Roger Pau Monne Date: Wed, 14 Mar 2018 11:09:24 +0000 (+0000) Subject: xl: remove apic option for PVH guests X-Git-Tag: 4.11.0-rc1~234 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=82bc81c17d9397aad3f9386a60316cc1088a643f;p=people%2Fandrewcoop%2Fxen.git xl: remove apic option for PVH guests 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é Acked-by: Wei Liu --- 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 - -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 Run C 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 d82013f6ed..4ea1249925 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; 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))