|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] libs/guest: Move the guest ABI check earlier into xc_dom_parse_image()
Andrew Cooper writes ("Re: [PATCH] libs/guest: Move the guest ABI check earlier
into xc_dom_parse_image()"):
> On 17/08/2021 16:19, Jane Malalane wrote:
> > Xen may not support 32-bit PV guest for a number of reasons (lack of
> > CONFIG_PV32, explicit pv=no-32 command line argument, or implicitly
> > due to CET being enabled) and advertises this to the toolstack via the
> > absence of xen-3.0-x86_32p ABI.
> >
> > Currently, when trying to boot a 32-bit PV guest, the ABI check is too
> > late and the build explodes in the following manner yielding an
> > unhelpful error message:
> >
> > xc: error: panic: xg_dom_boot.c:121: xc_dom_boot_mem_init: can't allocate
> > low memory for domain: Out of memory
> > libxl: error: libxl_dom.c:586:libxl__build_dom: xc_dom_boot_mem_init
> > failed: Operation not supported
> > libxl: error: libxl_create.c:1573:domcreate_rebuild_done: Domain 1:cannot
> > (re-)build domain: -3
> > libxl: error: libxl_domain.c:1182:libxl__destroy_domid: Domain
> > 1:Non-existant domain
> > libxl: error: libxl_domain.c:1136:domain_destroy_callback: Domain
> > 1:Unable to destroy guest
> > libxl: error: libxl_domain.c:1063:domain_destroy_cb: Domain 1:Destruction
> > of domain failed
> >
> > Move the ABI check earlier into xc_dom_parse_image() along with other
> > ELF-note feature checks. With this adjustment, it now looks like
> > this:
> >
> > xc: error: panic: xg_dom_boot.c:88: xc_dom_compat_check: guest type
> > xen-3.0-x86_32p not supported by xen kernel, sorry: Invalid kernel
> > libxl: error: libxl_dom.c:571:libxl__build_dom: xc_dom_parse_image failed
> > domainbuilder: detail: xc_dom_release: called
> > libxl: error: libxl_create.c:1573:domcreate_rebuild_done: Domain
> > 11:cannot (re-)build domain: -3
> > libxl: error: libxl_domain.c:1182:libxl__destroy_domid: Domain
> > 11:Non-existant domain
> > libxl: error: libxl_domain.c:1136:domain_destroy_callback: Domain
> > 11:Unable to destroy guest
> > libxl: error: libxl_domain.c:1063:domain_destroy_cb: Domain
> > 11:Destruction of domain failed
> >
> > Suggested-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> > Signed-off-by: Jane Malalane <jane.malalane@xxxxxxxxxx>
>
> FWIW, Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
>
> The net behaviour of `xl create` is still not great (the -3 in
> particular is ESRCH looking for qemu which isn't remotely relevant), but
> at least with this change, you get "guest type xen-3.0-x86_32p not
> supported by xen" out of libxc which is the root cause of the failure.
Acked-by: Ian Jackson <iwj@xxxxxxxxxxxxxx>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |