From 0b8604a71b18a88e3fccb2ef1c3d3aa8489b9ee3 Mon Sep 17 00:00:00 2001 From: Alejandro Vallejo Date: Thu, 17 Jul 2025 16:28:05 +0200 Subject: [PATCH] dom0less: Move single-xenstore check from bindings to set_xs_domain() Later patches extract the bindings to a separate file, where that global won't be available. Make the check when calling the function instead so the bindings remain agnostic. Signed-off-by: Alejandro Vallejo Reviewed-by: Jason Andryuk Reviewed-by: Denis Mukhin Reviewed-by: Stefano Stabellini --- xen/common/device-tree/dom0less-build.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/xen/common/device-tree/dom0less-build.c b/xen/common/device-tree/dom0less-build.c index 87828d4d9d..0012046574 100644 --- a/xen/common/device-tree/dom0less-build.c +++ b/xen/common/device-tree/dom0less-build.c @@ -38,6 +38,9 @@ static bool __initdata need_xenstore; void __init set_xs_domain(struct domain *d) { + if ( xs_domid != DOMID_INVALID ) + panic("Only 1 xenstore domain can be specified! (%u)", xs_domid); + xs_domid = d->domain_id; set_global_virq_handler(d, VIRQ_DOM_EXC); } @@ -876,10 +879,6 @@ void __init create_domUs(void) if ( val & DOMAIN_CAPS_XENSTORE ) { - if ( xs_domid != DOMID_INVALID ) - panic("Only 1 xenstore domain can be specified! (%u)\n", - xs_domid); - d_cfg.flags |= XEN_DOMCTL_CDF_xs_domain; d_cfg.max_evtchn_port = -1; }