mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
tools/libxl: Combine legacy CPUID handling logic
While we are in the process of overhauling boot time CPUID/MSR handling, the existing logic is going to have to remain in roughly this form for backwards compatibility. Fold libxl__cpuid_apply_policy() and libxl__cpuid_set() together into a single libxl__cpuid_legacy() to reduce the complexity for callers. No functional change. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
This commit is contained in:
1 parent
dacb80f975
commit
1b3cec69bf
4 files changed
+13
-19
No files matched your search
@@ -410,17 +410,18 @@ int libxl_cpuid_parse_config_xend(libxl_cpuid_policy_list *cpuid,
|
||||
return 0;
|
||||
}
|
||||
|
||||
void libxl__cpuid_apply_policy(libxl_ctx *ctx, uint32_t domid)
|
||||
{
|
||||
xc_cpuid_apply_policy(ctx->xch, domid, NULL, 0);
|
||||
}
|
||||
|
||||
void libxl__cpuid_set(libxl_ctx *ctx, uint32_t domid,
|
||||
libxl_cpuid_policy_list cpuid)
|
||||
void libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid,
|
||||
libxl_domain_build_info *info)
|
||||
{
|
||||
libxl_cpuid_policy_list cpuid = info->cpuid;
|
||||
int i;
|
||||
char *cpuid_res[4];
|
||||
|
||||
xc_cpuid_apply_policy(ctx->xch, domid, NULL, 0);
|
||||
|
||||
if (!cpuid)
|
||||
return;
|
||||
|
||||
for (i = 0; cpuid[i].input[0] != XEN_CPUID_INPUT_UNUSED; i++)
|
||||
xc_cpuid_set(ctx->xch, domid, cpuid[i].input,
|
||||
(const char**)(cpuid[i].policy), cpuid_res);
|
||||
|
||||
@@ -454,9 +454,7 @@ int libxl__build_post(libxl__gc *gc, uint32_t domid,
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
libxl__cpuid_apply_policy(ctx, domid);
|
||||
if (info->cpuid != NULL)
|
||||
libxl__cpuid_set(ctx, domid, info->cpuid);
|
||||
libxl__cpuid_legacy(ctx, domid, info);
|
||||
|
||||
if (info->type == LIBXL_DOMAIN_TYPE_HVM
|
||||
&& !libxl_ms_vm_genid_is_zero(&info->u.hvm.ms_vm_genid)) {
|
||||
|
||||
@@ -2056,9 +2056,8 @@ struct libxl__cpuid_policy {
|
||||
char *policy[4];
|
||||
};
|
||||
|
||||
_hidden void libxl__cpuid_apply_policy(libxl_ctx *ctx, uint32_t domid);
|
||||
_hidden void libxl__cpuid_set(libxl_ctx *ctx, uint32_t domid,
|
||||
libxl_cpuid_policy_list cpuid);
|
||||
_hidden void libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid,
|
||||
libxl_domain_build_info *info);
|
||||
|
||||
/* Calls poll() again - useful to check whether a signaled condition
|
||||
* is still true. Cannot fail. Returns currently-true revents. */
|
||||
|
||||
@@ -34,12 +34,8 @@ int libxl_cpuid_parse_config_xend(libxl_cpuid_policy_list *cpuid,
|
||||
return 0;
|
||||
}
|
||||
|
||||
void libxl__cpuid_apply_policy(libxl_ctx *ctx, uint32_t domid)
|
||||
{
|
||||
}
|
||||
|
||||
void libxl__cpuid_set(libxl_ctx *ctx, uint32_t domid,
|
||||
libxl_cpuid_policy_list cpuid)
|
||||
void libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid,
|
||||
libxl_domain_config *d_config)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||