[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH V2] xen/dom0less: Calculate guest DTB size based on MAX_VIRT_CPUS



On 04/12/2025 13:37, Oleksandr Tyshchenko wrote:
Thank you very much for offering to test this on Arm32 platforms.

The primary goal of the test is to confirm that the new, calculated DTB
buffer size of 3072 bytes is sufficient for a worst-case Arm32 dom0less
guest. The expected result is that Xen boots successfully, and the
regular dom0less guest is created without any panics.

The ideal test configuration would be a dom0less guest with the
following configuration:
- The vCPU count set to the maximum for Arm32, which is 8, the vCPU
nodes should ideally contain "clock-frequency" property.
- Any other features that add nodes to the guest device tree enabled
(e.g., hypervisor, reserved-memory, pl011 nodes are present, etc), to
create the largest possible "base" FDT size.

The test would involve applying the current patch, and the diff below:

diff --git a/xen/common/device-tree/dom0less-build.c
b/xen/common/device-tree/dom0less-build.c
index 38a5830813..e95f42d1e1 100644
--- a/xen/common/device-tree/dom0less-build.c
+++ b/xen/common/device-tree/dom0less-build.c
@@ -577,6 +577,9 @@ static int __init prepare_dtb_domU(struct domain *d,
struct kernel_info *kinfo)
       if ( ret < 0 )
           goto err;

+    printk("Final compacted FDT size is: %d bytes\n",
fdt_totalsize(kinfo->fdt));
+    printk("Predefined FDT size is: %d bytes\n", DOMU_DTB_SIZE);
+
       return 0;

     err:


Please let me know what you get. Thanks again.

I have tested this and can confirm it boots into Linux with an 8-core setup. Here are the values I got:
(XEN) Final compacted FDT size is: 1127 bytes
(XEN) Predefined FDT size is: 3072 bytes

Tested-by: Harry Ramsey <harry.ramsey@xxxxxxx>

Thanks,
Harry Ramsey



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.