On 14.04.2025 17:56, Oleksii Kurochko wrote: > --- /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
Why is this conditional include needed? There's ... > +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__ */ ... nothing here showing any dependency thereon. Jan