On Wed Jul 2, 2025 at 3:15 PM CEST, Jan Beulich wrote:
> 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

It eventually becomes a holding spot for the domid property of each domain in
the DTB. It exists so we can describe every domain fully ahead of trying to
construct it.

Cheers,
Alejandro

Reply via email to