[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XEN][PATCH 1/8] xen/arm: split set_domain_type() between arm64/arm32
From: Grygorii Strashko <grygorii_strashko@xxxxxxxx> Split set_domain_type() between Arm64/Arm32 sub-arches as set_domain_type() implementation is going to be extended for Arm64. Signed-off-by: Grygorii Strashko <grygorii_strashko@xxxxxxxx> --- xen/arch/arm/arm32/Makefile | 1 + xen/arch/arm/arm32/domain-build.c | 22 ++++++++++++++++++++++ xen/arch/arm/arm64/Makefile | 1 + xen/arch/arm/arm64/domain-build.c | 24 ++++++++++++++++++++++++ xen/arch/arm/dom0less-build.c | 14 -------------- xen/include/asm-generic/dom0less-build.h | 9 +++++++++ 6 files changed, 57 insertions(+), 14 deletions(-) create mode 100644 xen/arch/arm/arm32/domain-build.c create mode 100644 xen/arch/arm/arm64/domain-build.c diff --git a/xen/arch/arm/arm32/Makefile b/xen/arch/arm/arm32/Makefile index 531168f58a0a..0fd3f5272361 100644 --- a/xen/arch/arm/arm32/Makefile +++ b/xen/arch/arm/arm32/Makefile @@ -6,6 +6,7 @@ obj-y += cache.o obj-$(CONFIG_EARLY_PRINTK) += debug.o obj-y += domctl.o obj-y += domain.o +obj-y += domain-build.o obj-y += entry.o obj-y += head.o obj-y += insn.o diff --git a/xen/arch/arm/arm32/domain-build.c b/xen/arch/arm/arm32/domain-build.c new file mode 100644 index 000000000000..e34261e4a2ad --- /dev/null +++ b/xen/arch/arm/arm32/domain-build.c @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include <xen/fdt-kernel.h> +#include <xen/sched.h> + +#include <asm/domain.h> + +#ifdef CONFIG_DOM0LESS_BOOT +void __init set_domain_type(struct domain *d, struct kernel_info *kinfo) +{ + /* Nothing to do */ +} +#endif + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */ diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile index 6491c5350b2e..3272fe7e4ca2 100644 --- a/xen/arch/arm/arm64/Makefile +++ b/xen/arch/arm/arm64/Makefile @@ -8,6 +8,7 @@ obj-$(CONFIG_HARDEN_BRANCH_PREDICTOR) += bpi.o obj-$(CONFIG_EARLY_PRINTK) += debug.o obj-y += domctl.o obj-y += domain.o +obj-y += domain-build.o obj-y += entry.o obj-y += head.o obj-y += insn.o diff --git a/xen/arch/arm/arm64/domain-build.c b/xen/arch/arm/arm64/domain-build.c new file mode 100644 index 000000000000..3a89ee46b8c6 --- /dev/null +++ b/xen/arch/arm/arm64/domain-build.c @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include <xen/fdt-kernel.h> +#include <xen/sched.h> + +#include <asm/domain.h> + +#ifdef CONFIG_DOM0LESS_BOOT +/* TODO: make arch.type generic ? */ +void __init set_domain_type(struct domain *d, struct kernel_info *kinfo) +{ + /* type must be set before allocate memory */ + d->arch.type = kinfo->arch.type; +} +#endif + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */ diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c index 69b9ea22ce32..c4b1c2915719 100644 --- a/xen/arch/arm/dom0less-build.c +++ b/xen/arch/arm/dom0less-build.c @@ -236,20 +236,6 @@ int __init make_arch_nodes(struct kernel_info *kinfo) return 0; } -/* TODO: make arch.type generic ? */ -#ifdef CONFIG_ARM_64 -void __init set_domain_type(struct domain *d, struct kernel_info *kinfo) -{ - /* type must be set before allocate memory */ - d->arch.type = kinfo->arch.type; -} -#else -void __init set_domain_type(struct domain *d, struct kernel_info *kinfo) -{ - /* Nothing to do */ -} -#endif - int __init init_vuart(struct domain *d, struct kernel_info *kinfo, const struct dt_device_node *node) { diff --git a/xen/include/asm-generic/dom0less-build.h b/xen/include/asm-generic/dom0less-build.h index e0ad0429ec74..6b80ffbd8679 100644 --- a/xen/include/asm-generic/dom0less-build.h +++ b/xen/include/asm-generic/dom0less-build.h @@ -56,6 +56,15 @@ int init_vuart(struct domain *d, struct kernel_info *kinfo, int make_intc_domU_node(struct kernel_info *kinfo); int make_arch_nodes(struct kernel_info *kinfo); +/* + * Set domain type from struct kernel_info which defines guest Execution + * State 32-bit/64-bit (for Arm AArch32/AArch64). + * The domain type must be set before allocate_memory. + * + * @d: pointer to the domain structure. + * @kinfo: pointer to the kinfo structure. + */ + void set_domain_type(struct domain *d, struct kernel_info *kinfo); int init_intc_phandle(struct kernel_info *kinfo, const char *name, -- 2.34.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |