On 13.02.2026 05:02, Marek Marczykowski-Górecki wrote: > Hi, > > After fixing the xhci crash, I hit another issue - booting with 236MB > initrd doesn't work, I get: > > (XEN) [ 3.151856] *** Building a PVH Dom0 *** > ... > (XEN) [ 3.593940] Unable to allocate memory with order 0! > (XEN) [ 3.597110] Failed to setup Dom0 physical memory map > (XEN) [ 3.599884] > (XEN) [ 3.602482] **************************************** > (XEN) [ 3.605272] Panic on CPU 0: > (XEN) [ 3.607928] Could not construct d0 > (XEN) [ 3.610692] **************************************** > (XEN) [ 3.613463] > (XEN) [ 3.616035] Reboot in five seconds... > (XEN) [ 8.626565] Resetting with ACPI MEMORY or I/O RESET_REG. > > Full console log: > https://gist.github.com/marmarek/c9dbc87bf07b76f2899781755762f565 > > If I skip initrd, then it boots just fine (but dom0 is not happy about > that). 164MB initrd failed too, but 13MB started ok. > Just in case, I tried skipping XHCI console, but it didn't change > anything. > > Host has 16GB of memory, and there is no dom0_mem= parameter. Xen is > started from GRUB, using MB2+EFI.
Hmm, yes, there's an ordering issue: Of course we free initrd space (as used for passing from the boot loader to Xen) only after copying to the designated guest area. Yet dom0_compute_nr_pages(), intentionally, includes the space in its calculation (adding initial_images_nrpages()'s return value). PV Dom0 isn't affected because to load huge initrd there, the kernel has to request the initrd to not be mapped into the initial allocation. Jan
