mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
xl: Fix global pci options
commitbabde47a3f"introduce a 'passthrough' configuration option to xl.cfg..." moved the pci list parsing ahead of the global pci option parsing. This broke the global pci configuration options since they need to be set first so that looping over the pci devices assigns their values. Move the global pci options ahead of the pci list to restore their function. Fixes:babde47a3f("introduce a 'passthrough' configuration option to xl.cfg...") Signed-off-by: Jason Andryuk <jandryuk@gmail.com> Acked-by: Anthony PERARD <anthony.perard@citrix.com> master commit:e45ad0b1b0master date: 2022-03-31 19:48:12 +0100
This commit is contained in:
1 parent
3dc39cfd72
commit
00535c8a74
1 file changed
+26
-26
+26
-26
@@ -1469,6 +1469,32 @@ void parse_config_data(const char *config_source,
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/* To be reworked (automatically enabled) once the auto ballooning
|
||||
* after guest starts is done (with PCI devices passed in). */
|
||||
if (c_info->type == LIBXL_DOMAIN_TYPE_PV) {
|
||||
xlu_cfg_get_defbool(config, "e820_host", &b_info->u.pv.e820_host, 0);
|
||||
}
|
||||
|
||||
if (!xlu_cfg_get_long (config, "pci_msitranslate", &l, 0))
|
||||
pci_msitranslate = l;
|
||||
|
||||
if (!xlu_cfg_get_long (config, "pci_power_mgmt", &l, 0))
|
||||
pci_power_mgmt = l;
|
||||
|
||||
if (!xlu_cfg_get_long (config, "pci_permissive", &l, 0))
|
||||
pci_permissive = l;
|
||||
|
||||
if (!xlu_cfg_get_long (config, "pci_seize", &l, 0))
|
||||
pci_seize = l;
|
||||
|
||||
if (!xlu_cfg_get_string(config, "rdm", &buf, 0)) {
|
||||
libxl_rdm_reserve rdm;
|
||||
if (!xlu_rdm_parse(config, &rdm, buf)) {
|
||||
b_info->u.hvm.rdm.strategy = rdm.strategy;
|
||||
b_info->u.hvm.rdm.policy = rdm.policy;
|
||||
}
|
||||
}
|
||||
|
||||
if (!xlu_cfg_get_list (config, "pci", &pcis, 0, 0)) {
|
||||
d_config->num_pcidevs = 0;
|
||||
d_config->pcidevs = NULL;
|
||||
@@ -2329,32 +2355,6 @@ skip_vfb:
|
||||
}
|
||||
}
|
||||
|
||||
if (!xlu_cfg_get_long (config, "pci_msitranslate", &l, 0))
|
||||
pci_msitranslate = l;
|
||||
|
||||
if (!xlu_cfg_get_long (config, "pci_power_mgmt", &l, 0))
|
||||
pci_power_mgmt = l;
|
||||
|
||||
if (!xlu_cfg_get_long (config, "pci_permissive", &l, 0))
|
||||
pci_permissive = l;
|
||||
|
||||
if (!xlu_cfg_get_long (config, "pci_seize", &l, 0))
|
||||
pci_seize = l;
|
||||
|
||||
/* To be reworked (automatically enabled) once the auto ballooning
|
||||
* after guest starts is done (with PCI devices passed in). */
|
||||
if (c_info->type == LIBXL_DOMAIN_TYPE_PV) {
|
||||
xlu_cfg_get_defbool(config, "e820_host", &b_info->u.pv.e820_host, 0);
|
||||
}
|
||||
|
||||
if (!xlu_cfg_get_string(config, "rdm", &buf, 0)) {
|
||||
libxl_rdm_reserve rdm;
|
||||
if (!xlu_rdm_parse(config, &rdm, buf)) {
|
||||
b_info->u.hvm.rdm.strategy = rdm.strategy;
|
||||
b_info->u.hvm.rdm.policy = rdm.policy;
|
||||
}
|
||||
}
|
||||
|
||||
if (!xlu_cfg_get_list(config, "usbctrl", &usbctrls, 0, 0)) {
|
||||
d_config->num_usbctrls = 0;
|
||||
d_config->usbctrls = NULL;
|
||||
|
||||