[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] dom0less: Move asm-generic/dom0less-build.h -> xen/dom0less-build.h
commit fcf967c59f53c2715a6ee824a48b75187f1e87ac Author: Alejandro Vallejo <alejandro.garciavallejo@xxxxxxx> AuthorDate: Tue Jul 22 13:59:43 2025 +0200 Commit: Stefano Stabellini <stefano.stabellini@xxxxxxx> CommitDate: Wed Jul 23 13:35:42 2025 -0700 dom0less: Move asm-generic/dom0less-build.h -> xen/dom0less-build.h It's meant to be usable by anyone with CONFIG_DOM0LESS_BOOT. While moving, replace an inclusion of public/domctl.h by a forward declaration. Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@xxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> --- xen/arch/arm/dom0less-build.c | 2 +- xen/arch/arm/domain_build.c | 2 +- xen/arch/arm/include/asm/Makefile | 1 - xen/arch/arm/setup.c | 2 +- xen/common/device-tree/dom0less-build.c | 2 +- xen/include/asm-generic/dom0less-build.h | 84 -------------------------------- xen/include/xen/dom0less-build.h | 83 +++++++++++++++++++++++++++++++ 7 files changed, 87 insertions(+), 89 deletions(-) diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c index 69b9ea22ce..286557fafd 100644 --- a/xen/arch/arm/dom0less-build.c +++ b/xen/arch/arm/dom0less-build.c @@ -3,6 +3,7 @@ #include <xen/domain_page.h> #include <xen/fdt-domain-build.h> #include <xen/fdt-kernel.h> +#include <xen/dom0less-build.h> #include <xen/err.h> #include <xen/event.h> #include <xen/grant_table.h> @@ -20,7 +21,6 @@ #include <public/io/xs_wire.h> #include <asm/arm64/sve.h> -#include <asm/dom0less-build.h> #include <asm/domain_build.h> #include <asm/grant_table.h> #include <asm/setup.h> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index d91a71acfd..463ae4474d 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -2,6 +2,7 @@ #include <xen/init.h> #include <xen/bootinfo.h> #include <xen/compile.h> +#include <xen/dom0less-build.h> #include <xen/fdt-domain-build.h> #include <xen/fdt-kernel.h> #include <xen/lib.h> @@ -32,7 +33,6 @@ #include <asm/setup.h> #include <asm/arm64/sve.h> #include <asm/cpufeature.h> -#include <asm/dom0less-build.h> #include <asm/domain_build.h> #include <xen/event.h> diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile index 87c8821421..4565baca6a 100644 --- a/xen/arch/arm/include/asm/Makefile +++ b/xen/arch/arm/include/asm/Makefile @@ -1,7 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only generic-y += altp2m.h generic-y += device.h -generic-y += dom0less-build.h generic-y += hardirq.h generic-y += iocap.h generic-y += irq-dt.h diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index 8abc1d641d..27bd3f5a6e 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -11,6 +11,7 @@ #include <xen/bootinfo.h> #include <xen/compile.h> #include <xen/device_tree.h> +#include <xen/dom0less-build.h> #include <xen/domain_page.h> #include <xen/grant_table.h> #include <xen/llc-coloring.h> @@ -39,7 +40,6 @@ #include <xen/warning.h> #include <xen/hypercall.h> #include <asm/alternative.h> -#include <asm/dom0less-build.h> #include <asm/page.h> #include <asm/current.h> #include <asm/setup.h> diff --git a/xen/common/device-tree/dom0less-build.c b/xen/common/device-tree/dom0less-build.c index efa846da2a..e49213e763 100644 --- a/xen/common/device-tree/dom0less-build.c +++ b/xen/common/device-tree/dom0less-build.c @@ -2,6 +2,7 @@ #include <xen/bootinfo.h> #include <xen/device_tree.h> +#include <xen/dom0less-build.h> #include <xen/domain.h> #include <xen/domain_page.h> #include <xen/err.h> @@ -25,7 +26,6 @@ #include <public/event_channel.h> #include <public/io/xs_wire.h> -#include <asm/dom0less-build.h> #include <asm/setup.h> #include <xen/static-memory.h> diff --git a/xen/include/asm-generic/dom0less-build.h b/xen/include/asm-generic/dom0less-build.h deleted file mode 100644 index e0ad0429ec..0000000000 --- a/xen/include/asm-generic/dom0less-build.h +++ /dev/null @@ -1,84 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#ifndef __ASM_GENERIC_DOM0LESS_BUILD_H__ -#define __ASM_GENERIC_DOM0LESS_BUILD_H__ - -#include <xen/stdbool.h> - -struct domain; - -#ifdef CONFIG_DOM0LESS_BOOT - -#include <public/domctl.h> - -struct dt_device_node; -struct kernel_info; - -/* - * List of possible features for dom0less domUs - * - * DOM0LESS_ENHANCED_NO_XS: Notify the OS it is running on top of Xen. All the - * default features (excluding Xenstore) will be - * available. Note that an OS *must* not rely on the - * availability of Xen features if this is not set. - * DOM0LESS_XENSTORE: Xenstore will be enabled for the VM. The - * xenstore page allocation is done by Xen at - * domain creation. This feature can't be - * enabled without the DOM0LESS_ENHANCED_NO_XS. - * DOM0LESS_XS_LEGACY Xenstore will be enabled for the VM, the - * xenstore page allocation will happen in - * init-dom0less. This feature can't be enabled - * without the DOM0LESS_ENHANCED_NO_XS. - * DOM0LESS_ENHANCED: Notify the OS it is running on top of Xen. All the - * default features (including Xenstore) will be - * available. Note that an OS *must* not rely on the - * availability of Xen features if this is not set. - * DOM0LESS_ENHANCED_LEGACY: Same as before, but using DOM0LESS_XS_LEGACY. - - */ -#define DOM0LESS_ENHANCED_NO_XS BIT(0, U) -#define DOM0LESS_XENSTORE BIT(1, U) -#define DOM0LESS_XS_LEGACY BIT(2, U) -#define DOM0LESS_ENHANCED_LEGACY (DOM0LESS_ENHANCED_NO_XS | DOM0LESS_XS_LEGACY) -#define DOM0LESS_ENHANCED (DOM0LESS_ENHANCED_NO_XS | DOM0LESS_XENSTORE) - -void create_domUs(void); -bool is_dom0less_mode(void); -void set_xs_domain(struct domain *d); - -void arch_create_domUs(struct dt_device_node *node, - struct xen_domctl_createdomain *d_cfg, - unsigned int flags); - -int init_vuart(struct domain *d, struct kernel_info *kinfo, - const struct dt_device_node *node); - -int make_intc_domU_node(struct kernel_info *kinfo); -int make_arch_nodes(struct kernel_info *kinfo); - -void set_domain_type(struct domain *d, struct kernel_info *kinfo); - -int init_intc_phandle(struct kernel_info *kinfo, const char *name, - const int node_next, const void *pfdt); - -#else /* !CONFIG_DOM0LESS_BOOT */ - -static inline void create_domUs(void) {} -static inline bool is_dom0less_mode(void) -{ - return false; -} -static inline void set_xs_domain(struct domain *d) {} - -#endif /* CONFIG_DOM0LESS_BOOT */ - -#endif /* __ASM_GENERIC_DOM0LESS_BUILD_H__ */ - -/* - * Local variables: - * mode: C - * c-file-style: "BSD" - * c-basic-offset: 4 - * indent-tabs-mode: nil - * End: - */ diff --git a/xen/include/xen/dom0less-build.h b/xen/include/xen/dom0less-build.h new file mode 100644 index 0000000000..34b9884cc7 --- /dev/null +++ b/xen/include/xen/dom0less-build.h @@ -0,0 +1,83 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef XEN_DOM0LESS_BUILD_H +#define XEN_DOM0LESS_BUILD_H + +#include <xen/stdbool.h> + +struct domain; + +#ifdef CONFIG_DOM0LESS_BOOT + +struct xen_domctl_createdomain; +struct dt_device_node; +struct kernel_info; + +/* + * List of possible features for dom0less domUs + * + * DOM0LESS_ENHANCED_NO_XS: Notify the OS it is running on top of Xen. All the + * default features (excluding Xenstore) will be + * available. Note that an OS *must* not rely on the + * availability of Xen features if this is not set. + * DOM0LESS_XENSTORE: Xenstore will be enabled for the VM. The + * xenstore page allocation is done by Xen at + * domain creation. This feature can't be + * enabled without the DOM0LESS_ENHANCED_NO_XS. + * DOM0LESS_XS_LEGACY Xenstore will be enabled for the VM, the + * xenstore page allocation will happen in + * init-dom0less. This feature can't be enabled + * without the DOM0LESS_ENHANCED_NO_XS. + * DOM0LESS_ENHANCED: Notify the OS it is running on top of Xen. All the + * default features (including Xenstore) will be + * available. Note that an OS *must* not rely on the + * availability of Xen features if this is not set. + * DOM0LESS_ENHANCED_LEGACY: Same as before, but using DOM0LESS_XS_LEGACY. + + */ +#define DOM0LESS_ENHANCED_NO_XS BIT(0, U) +#define DOM0LESS_XENSTORE BIT(1, U) +#define DOM0LESS_XS_LEGACY BIT(2, U) +#define DOM0LESS_ENHANCED_LEGACY (DOM0LESS_ENHANCED_NO_XS | DOM0LESS_XS_LEGACY) +#define DOM0LESS_ENHANCED (DOM0LESS_ENHANCED_NO_XS | DOM0LESS_XENSTORE) + +void create_domUs(void); +bool is_dom0less_mode(void); +void set_xs_domain(struct domain *d); + +void arch_create_domUs(struct dt_device_node *node, + struct xen_domctl_createdomain *d_cfg, + unsigned int flags); + +int init_vuart(struct domain *d, struct kernel_info *kinfo, + const struct dt_device_node *node); + +int make_intc_domU_node(struct kernel_info *kinfo); +int make_arch_nodes(struct kernel_info *kinfo); + +void set_domain_type(struct domain *d, struct kernel_info *kinfo); + +int init_intc_phandle(struct kernel_info *kinfo, const char *name, + const int node_next, const void *pfdt); + +#else /* !CONFIG_DOM0LESS_BOOT */ + +static inline void create_domUs(void) {} +static inline bool is_dom0less_mode(void) +{ + return false; +} +static inline void set_xs_domain(struct domain *d) {} + +#endif /* CONFIG_DOM0LESS_BOOT */ + +#endif /* __ASM_GENERIC_DOM0LESS_BUILD_H__ */ + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */ -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |