On 01.07.2025 12:56, Alejandro Vallejo wrote: > --- a/xen/arch/x86/include/asm/bootfdt.h > +++ b/xen/arch/x86/include/asm/bootfdt.h > @@ -3,6 +3,12 @@ > #define X86_BOOTFDT_H > > #include <xen/types.h> > +#include <public/xen.h> > + > +struct arch_boot_domain > +{ > + domid_t domid; > +}; > > struct arch_boot_module > { >[...] > @@ -1048,11 +1050,11 @@ static struct domain *__init create_dom0(struct > boot_info *bi) > dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu; > > /* Create initial domain. Not d0 for pvshim. */ > - bd->domid = get_initial_domain_id(); > - d = domain_create(bd->domid, &dom0_cfg, > + bd->arch.domid = get_initial_domain_id(); > + d = domain_create(bd->arch.domid, &dom0_cfg, > pv_shim ? 0 : CDF_privileged | CDF_hardware); > if ( IS_ERR(d) ) > - panic("Error creating d%u: %ld\n", bd->domid, PTR_ERR(d)); > + panic("Error creating d%u: %ld\n", bd->arch.domid, PTR_ERR(d));
This being the only place where the (now) arch-specific field is used, why does it exist? A local variable would do? And if it's needed for (supposedly arch-agnostic) hyperlaunch, then it probably shouldn't be arch-specific? Daniel, Jason? Jan