Re: [PATCH v4 1/3] tools/xenctrl: add xc_get_cpu_version()

2023-04-05 Thread Andrew Cooper
On 04/04/2023 5:06 pm, Sergey Dyasli wrote:
> As a wrapper for XENPF_get_cpu_version platform op.
>
> Signed-off-by: Sergey Dyasli 

Reviewed-by: Andrew Cooper 



[PATCH v4 1/3] tools/xenctrl: add xc_get_cpu_version()

2023-04-04 Thread Sergey Dyasli
As a wrapper for XENPF_get_cpu_version platform op.

Signed-off-by: Sergey Dyasli 
---
v3 --> v4:
- Replaced DECLARE_PLATFORM_OP
- Removed NULL checks
---
 tools/include/xenctrl.h   |  1 +
 tools/libs/ctrl/xc_misc.c | 17 +
 2 files changed, 18 insertions(+)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 05967ecc92..34b3b25289 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -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,
diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
index 265f15ec2d..90d50faa4f 100644
--- a/tools/libs/ctrl/xc_misc.c
+++ b/tools/libs/ctrl/xc_misc.c
@@ -226,6 +226,23 @@ 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;
+struct xen_platform_op op = {
+.cmd = XENPF_get_cpu_version,
+.u.pcpu_version.xen_cpuid = cpu_ver->xen_cpuid,
+};
+
+ret = do_platform_op(xch, );
+if ( ret != 0 )
+return ret;
+
+*cpu_ver = op.u.pcpu_version;
+
+return 0;
+}
+
 int xc_cputopoinfo(xc_interface *xch, unsigned *max_cpus,
xc_cputopo_t *cputopo)
 {
-- 
2.17.1