[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2] xen/arm: Fully initialise struct membanks_hdr fields
Hi Michal, > On 9 Jan 2025, at 10:00, Michal Orzel <michal.orzel@xxxxxxx> wrote: > > Hi Luca, > > Is this patch for 4.20? I would say so, therefore it should have "for-4.20" > tag and Oleksii as release manager > should be CCed. Doing it now. Thanks, I forgot the procedure > >> --- >> --- >> xen/arch/arm/domain_build.c | 13 ++++--------- >> xen/arch/arm/include/asm/kernel.h | 5 ++++- >> xen/arch/arm/static-shmem.c | 3 ++- >> xen/include/xen/bootfdt.h | 16 ++++++++++++++++ >> 4 files changed, 26 insertions(+), 11 deletions(-) >> >> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c >> index b072a16249fe..9e3132fb21d8 100644 >> --- a/xen/arch/arm/domain_build.c >> +++ b/xen/arch/arm/domain_build.c >> @@ -1039,7 +1039,7 @@ void __init allocate_memory(struct domain *d, struct >> kernel_info *kinfo) >> */ >> if ( is_hardware_domain(d) ) >> { >> - struct membanks *gnttab = xzalloc_flex_struct(struct membanks, >> bank, 1); >> + struct membanks *gnttab = membanks_xzalloc(1, RESERVED_MEMORY); >> /* >> * Exclude the following regions: >> * 1) Remove reserved memory >> @@ -1057,13 +1057,10 @@ void __init allocate_memory(struct domain *d, struct >> kernel_info *kinfo) >> gnttab->bank[0].start = kinfo->gnttab_start; >> gnttab->bank[0].size = kinfo->gnttab_size; >> >> - hwdom_free_mem = xzalloc_flex_struct(struct membanks, bank, >> - NR_MEM_BANKS); >> + hwdom_free_mem = membanks_xzalloc(NR_MEM_BANKS, MEMORY); >> if ( !hwdom_free_mem ) >> goto fail; >> >> - hwdom_free_mem->max_banks = NR_MEM_BANKS; >> - >> if ( find_unallocated_memory(kinfo, mem_banks, ARRAY_SIZE(mem_banks), >> hwdom_free_mem, add_hwdom_free_regions) >> ) >> goto fail; >> @@ -1293,7 +1290,7 @@ static int __init find_host_extended_regions(const >> struct kernel_info *kinfo, >> struct membanks *ext_regions) >> { >> int res; >> - struct membanks *gnttab = xzalloc_flex_struct(struct membanks, bank, 1); >> + struct membanks *gnttab = membanks_xzalloc(1, RESERVED_MEMORY); >> >> /* >> * Exclude the following regions: >> @@ -1374,12 +1371,10 @@ int __init make_hypervisor_node(struct domain *d, >> } >> else >> { >> - ext_regions = xzalloc_flex_struct(struct membanks, bank, >> NR_MEM_BANKS); >> + ext_regions = membanks_xzalloc(NR_MEM_BANKS, RESERVED_MEMORY); > I'm a bit confused what is the expectations behind using different types of > enum region_type, mostly because it can point to > different address spaces depending on the context. Above, you marked gnttab > as RESERVED_MEMORY (I guess because this > region has already been found - but in fact it is still unused) and > hwdom_free_mem as MEMORY. So I would at least expect > ext_regions to be of MEMORY type as well. After all both hwdom_free_mem and > ext_regions contain > banks of unused/free memory (although former lists host memory while latter > can also contain guest physical > memory). Could you please clarify the intended use? You are right, that should be MEMORY, my bad! Could it be something addressable on commit or should I send another one? Cheers, Luca
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |