|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/3] tools/init-xenstore-domain: support xenstore pvh stubdom
On Wed, Sep 23, 2020 at 08:45:40AM +0200, Juergen Gross wrote:
> Instead of creating the xenstore-stubdom domain first and parsing the
> kernel later do it the other way round. This enables to probe for the
> domain type supported by the xenstore-stubdom and to support both, pv
> and pvh type stubdoms.
>
> Try to parse the stubdom image first for PV support, if this fails use
> HVM. Then create the domain with the appropriate type selected.
>
> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
[...]
> + dom->container_type = XC_DOM_HVM_CONTAINER;
> + rv = xc_dom_parse_image(dom);
> + if ( rv )
> + {
> + dom->container_type = XC_DOM_PV_CONTAINER;
> + rv = xc_dom_parse_image(dom);
> + if ( rv )
> + {
> + fprintf(stderr, "xc_dom_parse_image failed\n");
> + goto err;
> + }
> + }
> + else
> + {
> + config.flags |= XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap;
> + config.arch.emulation_flags = XEN_X86_EMU_LAPIC;
> + dom->target_pages = mem_size >> XC_PAGE_SHIFT;
> + dom->mmio_size = GB(4) - LAPIC_BASE_ADDRESS;
> + dom->lowmem_end = (mem_size > LAPIC_BASE_ADDRESS) ?
> + LAPIC_BASE_ADDRESS : mem_size;
> + dom->highmem_end = (mem_size > LAPIC_BASE_ADDRESS) ?
> + GB(4) + mem_size - LAPIC_BASE_ADDRESS : 0;
> + dom->mmio_start = LAPIC_BASE_ADDRESS;
> + dom->max_vcpus = 1;
> + e820[0].addr = 0;
> + e820[0].size = dom->lowmem_end;
> + e820[0].type = E820_RAM;
> + e820[1].addr = LAPIC_BASE_ADDRESS;
> + e820[1].size = dom->mmio_size;
> + e820[1].type = E820_RESERVED;
> + e820[2].addr = GB(4);
> + e820[2].size = dom->highmem_end - GB(4);
Do you not want to check if highmem_end is larger than GB(4) before
putting in this region?
> + e820[2].type = E820_RAM;
> + }
This hardcoded e820 map doesn't seem very flexible, but we
control the guest kernel anyway so I think this should be fine.
The rest of this patch looks okay to me.
Wei.
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |