[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] dom0less: Allow arch_parse_dom0less_node() to be fallible
commit 37437464592cfebbb6b31d8169eae86cf3cdf498 Author: Alejandro Vallejo <alejandro.garciavallejo@xxxxxxx> AuthorDate: Tue Jul 22 13:59:48 2025 +0200 Commit: Stefano Stabellini <stefano.stabellini@xxxxxxx> CommitDate: Wed Jul 23 13:36:28 2025 -0700 dom0less: Allow arch_parse_dom0less_node() to be fallible Let the function return an errno, so fallible bindings are not precluded. Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@xxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> --- xen/arch/arm/dom0less-build.c | 6 ++++-- xen/common/device-tree/dom0less-build.c | 3 ++- xen/include/xen/dom0less-build.h | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c index 3dea56dc76..c8d07213e2 100644 --- a/xen/arch/arm/dom0less-build.c +++ b/xen/arch/arm/dom0less-build.c @@ -272,8 +272,8 @@ int __init init_vuart(struct domain *d, struct kernel_info *kinfo, return rc; } -void __init arch_parse_dom0less_node(struct dt_device_node *node, - struct boot_domain *bd) +int __init arch_parse_dom0less_node(struct dt_device_node *node, + struct boot_domain *bd) { struct xen_domctl_createdomain *d_cfg = &bd->create_cfg; unsigned int flags = bd->create_flags; @@ -354,6 +354,8 @@ void __init arch_parse_dom0less_node(struct dt_device_node *node, if ( !val ) d_cfg->flags &= ~XEN_DOMCTL_CDF_trap_unmapped_accesses; } + + return 0; } int __init init_intc_phandle(struct kernel_info *kinfo, const char *name, diff --git a/xen/common/device-tree/dom0less-build.c b/xen/common/device-tree/dom0less-build.c index 8caceb9f6b..ef4b095d97 100644 --- a/xen/common/device-tree/dom0less-build.c +++ b/xen/common/device-tree/dom0less-build.c @@ -960,7 +960,8 @@ void __init create_domUs(void) panic("'llc-colors' found, but LLC coloring is disabled\n"); #endif - arch_parse_dom0less_node(node, &ki.bd); + if ( (rc = arch_parse_dom0less_node(node, &ki.bd)) ) + panic("error parsing arch-specific dom0less props (rc=%d)", rc); /* * The variable max_init_domid is initialized with zero, so here it's diff --git a/xen/include/xen/dom0less-build.h b/xen/include/xen/dom0less-build.h index 8f3f90ae2a..72ca8f5e6d 100644 --- a/xen/include/xen/dom0less-build.h +++ b/xen/include/xen/dom0less-build.h @@ -9,7 +9,7 @@ struct domain; #ifdef CONFIG_DOM0LESS_BOOT -struct xen_domctl_createdomain; +struct boot_domain; struct dt_device_node; struct kernel_info; @@ -45,8 +45,8 @@ void create_domUs(void); bool is_dom0less_mode(void); void set_xs_domain(struct domain *d); -void arch_parse_dom0less_node(struct dt_device_node *node, - struct boot_domain *bd); +int arch_parse_dom0less_node(struct dt_device_node *node, + struct boot_domain *bd); int init_vuart(struct domain *d, struct kernel_info *kinfo, const struct dt_device_node *node); -- generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |