[PATCH] drivers/xen/xenbus: remove quirk for Xen 3.x

Juergen Gross posted 1 patch 1 month, 2 weeks ago
drivers/xen/xenbus/xenbus_xs.c | 23 -----------------------
1 file changed, 23 deletions(-)
[PATCH] drivers/xen/xenbus: remove quirk for Xen 3.x
Posted by Juergen Gross 1 month, 2 weeks ago
The kernel is not supported to run as a Xen guest on Xen versions
older than 4.0.

Remove xen_strict_xenbus_quirk() which is testing the Xen version to be
at least 4.0.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/xen/xenbus/xenbus_xs.c | 23 -----------------------
 1 file changed, 23 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_xs.c b/drivers/xen/xenbus/xenbus_xs.c
index 3c9da446b85d..528682bf0c7f 100644
--- a/drivers/xen/xenbus/xenbus_xs.c
+++ b/drivers/xen/xenbus/xenbus_xs.c
@@ -718,26 +718,6 @@ int xs_watch_msg(struct xs_watch_event *event)
 	return 0;
 }
 
-/*
- * Certain older XenBus toolstack cannot handle reading values that are
- * not populated. Some Xen 3.4 installation are incapable of doing this
- * so if we are running on anything older than 4 do not attempt to read
- * control/platform-feature-xs_reset_watches.
- */
-static bool xen_strict_xenbus_quirk(void)
-{
-#ifdef CONFIG_X86
-	uint32_t eax, ebx, ecx, edx, base;
-
-	base = xen_cpuid_base();
-	cpuid(base + 1, &eax, &ebx, &ecx, &edx);
-
-	if ((eax >> 16) < 4)
-		return true;
-#endif
-	return false;
-
-}
 static void xs_reset_watches(void)
 {
 	int err;
@@ -745,9 +725,6 @@ static void xs_reset_watches(void)
 	if (!xen_hvm_domain() || xen_initial_domain())
 		return;
 
-	if (xen_strict_xenbus_quirk())
-		return;
-
 	if (!xenbus_read_unsigned("control",
 				  "platform-feature-xs_reset_watches", 0))
 		return;
-- 
2.43.0
Re: [PATCH] drivers/xen/xenbus: remove quirk for Xen 3.x
Posted by Jason Andryuk 1 month, 2 weeks ago
On 2025-08-15 03:40, Juergen Gross wrote:
> The kernel is not supported to run as a Xen guest on Xen versions
> older than 4.0.
> 
> Remove xen_strict_xenbus_quirk() which is testing the Xen version to be
> at least 4.0.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Re: [PATCH] drivers/xen/xenbus: remove quirk for Xen 3.x
Posted by Stefano Stabellini 1 month, 2 weeks ago
On Fri, 15 Aug 2025, Juergen Gross wrote:
> The kernel is not supported to run as a Xen guest on Xen versions
> older than 4.0.
> 
> Remove xen_strict_xenbus_quirk() which is testing the Xen version to be
> at least 4.0.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  drivers/xen/xenbus/xenbus_xs.c | 23 -----------------------
>  1 file changed, 23 deletions(-)
> 
> diff --git a/drivers/xen/xenbus/xenbus_xs.c b/drivers/xen/xenbus/xenbus_xs.c
> index 3c9da446b85d..528682bf0c7f 100644
> --- a/drivers/xen/xenbus/xenbus_xs.c
> +++ b/drivers/xen/xenbus/xenbus_xs.c
> @@ -718,26 +718,6 @@ int xs_watch_msg(struct xs_watch_event *event)
>  	return 0;
>  }
>  
> -/*
> - * Certain older XenBus toolstack cannot handle reading values that are
> - * not populated. Some Xen 3.4 installation are incapable of doing this
> - * so if we are running on anything older than 4 do not attempt to read
> - * control/platform-feature-xs_reset_watches.
> - */
> -static bool xen_strict_xenbus_quirk(void)
> -{
> -#ifdef CONFIG_X86
> -	uint32_t eax, ebx, ecx, edx, base;
> -
> -	base = xen_cpuid_base();
> -	cpuid(base + 1, &eax, &ebx, &ecx, &edx);
> -
> -	if ((eax >> 16) < 4)
> -		return true;
> -#endif
> -	return false;
> -
> -}
>  static void xs_reset_watches(void)
>  {
>  	int err;
> @@ -745,9 +725,6 @@ static void xs_reset_watches(void)
>  	if (!xen_hvm_domain() || xen_initial_domain())
>  		return;
>  
> -	if (xen_strict_xenbus_quirk())
> -		return;
> -
>  	if (!xenbus_read_unsigned("control",
>  				  "platform-feature-xs_reset_watches", 0))
>  		return;
> -- 
> 2.43.0
>