[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 5/8] asm-generic: move some parts of Arm's domain_build.h to common
Nothing changed. Only some functions declaration are moved to xen/include/ headers as they are expected to be used by common code of domain builing or dom0less. Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx> --- Chnages in v2: - Add missed declaration of construct_hwdom(). - Drop unnessary blank line. - Introduce xen/fdt-domain-build.h and move parts of Arm's domain_build.h to it. - Update the commit message. --- xen/arch/arm/acpi/domain_build.c | 2 +- xen/arch/arm/dom0less-build.c | 2 +- xen/arch/arm/domain_build.c | 2 +- xen/arch/arm/include/asm/domain_build.h | 18 +--------- xen/arch/arm/kernel.c | 2 +- xen/arch/arm/static-shmem.c | 2 +- xen/include/xen/fdt-domain-build.h | 46 +++++++++++++++++++++++++ 7 files changed, 52 insertions(+), 22 deletions(-) create mode 100644 xen/include/xen/fdt-domain-build.h diff --git a/xen/arch/arm/acpi/domain_build.c b/xen/arch/arm/acpi/domain_build.c index f9ca8b47e5..2b0768b7d5 100644 --- a/xen/arch/arm/acpi/domain_build.c +++ b/xen/arch/arm/acpi/domain_build.c @@ -10,6 +10,7 @@ */ #include <xen/compile.h> +#include <xen/fdt-domain-build.h> #include <xen/fdt-kernel.h> #include <xen/mm.h> #include <xen/sched.h> @@ -19,7 +20,6 @@ #include <xen/device_tree.h> #include <xen/libfdt/libfdt.h> #include <acpi/actables.h> -#include <asm/domain_build.h> /* Override macros from asm/page.h to make them work with mfn_t */ #undef virt_to_mfn diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c index 122739061c..ca78cff655 100644 --- a/xen/arch/arm/dom0less-build.c +++ b/xen/arch/arm/dom0less-build.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #include <xen/device_tree.h> #include <xen/domain_page.h> +#include <xen/fdt-domain-build.h> #include <xen/fdt-kernel.h> #include <xen/err.h> #include <xen/event.h> @@ -17,7 +18,6 @@ #include <asm/arm64/sve.h> #include <asm/dom0less-build.h> -#include <asm/domain_build.h> #include <asm/setup.h> #include <asm/static-memory.h> #include <asm/static-shmem.h> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index a19914f836..75f048f58c 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #include <xen/init.h> #include <xen/compile.h> +#include <xen/fdt-domain-build.h> #include <xen/fdt-kernel.h> #include <xen/lib.h> #include <xen/llc-coloring.h> @@ -30,7 +31,6 @@ #include <asm/arm64/sve.h> #include <asm/cpufeature.h> #include <asm/dom0less-build.h> -#include <asm/domain_build.h> #include <asm/static-shmem.h> #include <xen/event.h> diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h index 7136857ce4..5f9b063be1 100644 --- a/xen/arch/arm/include/asm/domain_build.h +++ b/xen/arch/arm/include/asm/domain_build.h @@ -5,27 +5,11 @@ #include <xen/sched.h> typedef __be32 gic_interrupt_t[3]; -typedef bool (*alloc_domheap_mem_cb)(struct domain *d, struct page_info *pg, - unsigned int order, void *extra); -bool allocate_domheap_memory(struct domain *d, paddr_t tot_size, - alloc_domheap_mem_cb cb, void *extra); -bool allocate_bank_memory(struct kernel_info *kinfo, gfn_t sgfn, - paddr_t tot_size); -void allocate_memory(struct domain *d, struct kernel_info *kinfo); -int construct_domain(struct domain *d, struct kernel_info *kinfo); -int construct_hwdom(struct kernel_info *kinfo); int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit); -int make_chosen_node(const struct kernel_info *kinfo); -int make_cpus_node(const struct domain *d, void *fdt); -int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo, - int addrcells, int sizecells); -int make_memory_node(const struct kernel_info *kinfo, int addrcells, - int sizecells, const struct membanks *mem); int make_psci_node(void *fdt); -int make_timer_node(const struct kernel_info *kinfo); void evtchn_allocate(struct domain *d); -unsigned int get_allocation_size(paddr_t size); +int construct_hwdom(struct kernel_info *kinfo); /* * Helper to write an interrupts with the GIC format diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c index 5482cf4239..164f417e75 100644 --- a/xen/arch/arm/kernel.c +++ b/xen/arch/arm/kernel.c @@ -6,6 +6,7 @@ */ #include <xen/domain_page.h> #include <xen/errno.h> +#include <xen/fdt-domain-build.h> #include <xen/fdt-kernel.h> #include <xen/guest_access.h> #include <xen/gunzip.h> @@ -17,7 +18,6 @@ #include <xen/vmap.h> #include <asm/byteorder.h> -#include <asm/domain_build.h> #include <asm/setup.h> #define UIMAGE_MAGIC 0x27051956 diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c index 14ae48fb1e..07ebd8b41f 100644 --- a/xen/arch/arm/static-shmem.c +++ b/xen/arch/arm/static-shmem.c @@ -1,11 +1,11 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #include <xen/device_tree.h> +#include <xen/fdt-domain-build.h> #include <xen/libfdt/libfdt.h> #include <xen/rangeset.h> #include <xen/sched.h> -#include <asm/domain_build.h> #include <asm/setup.h> #include <asm/static-memory.h> #include <asm/static-shmem.h> diff --git a/xen/include/xen/fdt-domain-build.h b/xen/include/xen/fdt-domain-build.h new file mode 100644 index 0000000000..41454e75ca --- /dev/null +++ b/xen/include/xen/fdt-domain-build.h @@ -0,0 +1,46 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +#ifndef __XEN_FDT_DOMAIN_BUILD_H__ +#define __XEN_FDT_DOMAIN_BUILD_H__ + +#include <xen/bootfdt.h> +#include <xen/device_tree.h> +#include <xen/fdt-kernel.h> +#include <xen/types.h> + +#if __has_include(<asm/domain_build.h>) +# include <asm/domain_build.h> +#endif + +struct domain; +struct page_info; +struct membanks; + +typedef bool (*alloc_domheap_mem_cb)(struct domain *d, struct page_info *pg, + unsigned int order, void *extra); +bool allocate_domheap_memory(struct domain *d, paddr_t tot_size, + alloc_domheap_mem_cb cb, void *extra); + +bool allocate_bank_memory(struct kernel_info *kinfo, gfn_t sgfn, + paddr_t tot_size); +void allocate_memory(struct domain *d, struct kernel_info *kinfo); +int construct_domain(struct domain *d, struct kernel_info *kinfo); +int make_chosen_node(const struct kernel_info *kinfo); +int make_cpus_node(const struct domain *d, void *fdt); +int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo, + int addrcells, int sizecells); +int make_memory_node(const struct kernel_info *kinfo, int addrcells, + int sizecells, const struct membanks *mem); +int make_timer_node(const struct kernel_info *kinfo); + +unsigned int get_allocation_size(paddr_t size); + +#endif /* __XEN_FDT_DOMAIN_BUILD_H__ */ + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */ -- 2.49.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |