|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 5/5] xen/memory, tools: Make init-dom0less consume XEN_DOMCTL_get_mem_map
On Fri, Mar 08, 2024 at 09:54:35AM +0800, Henry Wang wrote:
> diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
> index fee93459c4..92c612f6da 100644
> --- a/tools/helpers/init-dom0less.c
> +++ b/tools/helpers/init-dom0less.c
> @@ -23,16 +23,30 @@ static int alloc_xs_page(struct xc_interface_core *xch,
> libxl_dominfo *info,
> uint64_t *xenstore_pfn)
> {
> - int rc;
> - const xen_pfn_t base = GUEST_MAGIC_BASE >> XC_PAGE_SHIFT;
> - xen_pfn_t p2m = (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) +
> XENSTORE_PFN_OFFSET;
> + int rc, i;
> + xen_pfn_t base = ((xen_pfn_t)-1);
> + xen_pfn_t p2m = ((xen_pfn_t)-1);
> + uint32_t nr_regions = XEN_MAX_MEM_REGIONS;
> + struct xen_mem_region mem_regions[XEN_MAX_MEM_REGIONS] = {0};
> +
> + rc = xc_get_domain_mem_map(xch, info->domid, mem_regions, &nr_regions);
Shouldn't you check the value of in `rc`?
> + for ( i = 0; i < nr_regions; i++ )
> + {
> + if ( mem_regions[i].type == GUEST_MEM_REGION_MAGIC )
> + {
> + base = mem_regions[i].start >> XC_PAGE_SHIFT;
> + p2m = (mem_regions[i].start >> XC_PAGE_SHIFT) +
> XENSTORE_PFN_OFFSET;
> + }
> + }
Thanks,
--
Anthony PERARD
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |