[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 3/3] tools/libxl: Add support for Viridian stimer direct mode


  • To: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
  • Date: Sat, 5 Sep 2026 01:20:46 +0200
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
  • Cc: Anthony PERARD <anthony.perard@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>
  • Delivery-date: Fri, 04 Sep 2026 23:21:10 +0000
  • Feedback-id: default:8631fc262581453bbf619ec5b2062170:Sweego
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 04/09/2026 16:17, Ross Lagerwall wrote:
> Add support to libxl for using the stimer enlightenments in direct mode.
> 
> Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
> ---
> 
> New in v2, since the new Viridian flag was added.
> 
>   docs/man/xl.cfg.5.pod.in         | 5 +++++
>   tools/include/libxl.h            | 6 ++++++
>   tools/libs/light/libxl_types.idl | 1 +
>   tools/libs/light/libxl_x86.c     | 5 +++++
>   4 files changed, 17 insertions(+)
> 
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index d34951edb98d..784e926c9990 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -2496,6 +2496,11 @@ ticks and hence enabling this group will ensure that 
> ticks will be
>   consistent with use of an enlightened time source (B<time_ref_count> or
>   B<reference_tsc>).
>   
> +=item B<stimer>
> +
> +This set is the same as the B<stimer> set but additionally supports
> +using synthetic timers in direct mode.
> +

I think this should be stimer_direct.

>   =item B<hcall_ipi>
>   
>   This set incorporates use of a hypercall for interprocessor interrupts.
> diff --git a/tools/include/libxl.h b/tools/include/libxl.h
> index 7c098edab663..5475530a5002 100644
> --- a/tools/include/libxl.h
> +++ b/tools/include/libxl.h
> @@ -381,6 +381,12 @@
>    */
>   #define LIBXL_HAVE_VIRIDIAN_HCALL_IPI 1
>   
> +/*
> + * LIBXL_HAVE_VIRIDIAN_STIMER_DIRECT indicates that the 'stimer_direct' value
> + * is present in the viridian enlightenment enumeration.
> + */
> +#define LIBXL_HAVE_VIRIDIAN_STIMER_DIRECT 1
> +
>   /*
>    * LIBXL_HAVE_BUILDINFO_HVM_ACPI_LAPTOP_SLATE indicates that
>    * libxl_domain_build_info has the u.hvm.acpi_laptop_slate field.
> diff --git a/tools/libs/light/libxl_types.idl 
> b/tools/libs/light/libxl_types.idl
> index a7893460f013..95075f04fe45 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -260,6 +260,7 @@ libxl_viridian_enlightenment = 
> Enumeration("viridian_enlightenment", [
>       (10, "ex_processor_masks"),
>       (11, "no_vp_limit"),
>       (12, "cpu_hotplug"),
> +    (13, "stimer_direct"),
>       ])
>   
>   libxl_hdtype = Enumeration("hdtype", [
> diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
> index 60d4e8661c93..9e8b48372d63 100644
> --- a/tools/libs/light/libxl_x86.c
> +++ b/tools/libs/light/libxl_x86.c
> @@ -389,6 +389,11 @@ static int hvm_set_viridian_features(libxl__gc *gc, 
> uint32_t domid,
>       if (libxl_bitmap_test(&enlightenments, 
> LIBXL_VIRIDIAN_ENLIGHTENMENT_CPU_HOTPLUG))
>           mask |= HVMPV_cpu_hotplug;
>   
> +    if (libxl_bitmap_test(&enlightenments,
> +                          LIBXL_VIRIDIAN_ENLIGHTENMENT_STIMER_DIRECT))
> +        mask |= HVMPV_time_ref_count | HVMPV_synic | HVMPV_stimer |
> +                HVMPV_stimer_direct;
> +
>       if (mask != 0 &&
>           xc_hvm_param_set(CTX->xch,
>                            domid,



--
Ngoc Tu Dinh | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.