@@ -1186,6 +1186,7 @@ int xc_physinfo(xc_interface *xch, xc_physinfo_t *info);
int xc_cputopoinfo(xc_interface *xch, unsigned *max_cpus,
xc_cputopo_t *cputopo);
int xc_microcode_update(xc_interface *xch, const void *buf, size_t len);
+int xc_get_cpu_version(xc_interface *xch, struct xenpf_pcpu_version *cpu_ver);
int xc_numainfo(xc_interface *xch, unsigned *max_nodes,
xc_meminfo_t *meminfo, uint32_t *distance);
int xc_pcitopoinfo(xc_interface *xch, unsigned num_devs,
@@ -226,6 +226,26 @@ int xc_microcode_update(xc_interface *xch, const void *buf, size_t len)
return ret;
}
+int xc_get_cpu_version(xc_interface *xch, struct xenpf_pcpu_version *cpu_ver)
+{
+ int ret;
+ DECLARE_PLATFORM_OP;
+
+ if ( !xch || !cpu_ver )
+ return -1;
+
+ platform_op.cmd = XENPF_get_cpu_version;
+ platform_op.u.pcpu_version.xen_cpuid = cpu_ver->xen_cpuid;
+
+ ret = do_platform_op(xch, &platform_op);
+ if ( ret != 0 )
+ return ret;
+
+ *cpu_ver = platform_op.u.pcpu_version;
+
+ return 0;
+}
+
int xc_cputopoinfo(xc_interface *xch, unsigned *max_cpus,
xc_cputopo_t *cputopo)
{
As a wrapper for XENPF_get_cpu_version platform op. Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com> --- tools/include/xenctrl.h | 1 + tools/libs/ctrl/xc_misc.c | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+)