[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Query] Unable to probe reserved-memory carveouts in DomU with Xen
- To: "Orzel, Michal" <michal.orzel@xxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: "Padhi, Beleswar" <b-padhi@xxxxxx>
- Date: Fri, 24 Jul 2026 14:02:23 +0530
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.23.195) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0)
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hn4uvu6xUHqmPN17z9JfBf/PvTCha8Eab+twlmEpdeA=; b=vXhIDmkLB/BNB3qMvGcgLaLRRHa3fuQFNcpECfzJKBWVpzha4gGpXHV63D/l9dfVUHHrmfyXE0hpknlkcJJGa5RDJNXzpzgP8gV3bC+VGsG2hiRhwOCeoAOIo7c8wFXrlOTbqzaRU8QU2FKLBl4eQ3piQOcVbBB9RfG6FIEGS8h86e7yShxl4wsqV9vKy+FsFoghrnF+7bDlOVdAl9Y5vZ0ocDOLdbGn8V9m1wJvNHNmfvFIhyL1Vtx1biVq5ASZlRKwAp7XCiWDr7dNE9zLef0IFFTISOg93Zu/8TpHsX60U6ZzPdDhvbDT6NF7JTolIVXY6E4b4df1OdJeD5Ynzg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YalrudPRN2tTA9y7waWzphZgf10hQ7I9s7NRMmVtsJK+uvHOfHneX80bVFS/EeahouKJ1fQ8yffJnnG4LWKTSEuJiJi0c5yWgeXdKFXBZfRB4tHUNBuVAGlXSzEvOkBJ36dw4h0jxTAySyFFGO79CpgOTWffQsAXD4YbTiJXCy5aIZBVs+f+3UV1MHPsUz1FEdOA+iIJXjAmny2sRXEt2PJIibqoUloc1z3be9NAFBZdN7P+c6Ut0LRH/4Q2yXB9jCmiYnq3TdxfntqUEH8X6S9WkZX5SCL383E7lkERmxpBZNmuJ+StJuwLDXT27SohlKoyMK+QH54VCVDUkcrpig==
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=proofpoint-05-2026 header.d=ti.com header.i="@ti.com" header.h="Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector1 header.d=ti.com header.i="@ti.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
- Delivery-date: Fri, 24 Jul 2026 08:32:49 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
Hello,
Thanks for the response! I see, this would solve the cma problem. But
there are usecases
when we want to use the reserved-memory node; one example is the
firmware for
remote processors. In that case, how do we passthrough reserved-memory
nodes to
DomUs?
Example:
60
61 mcu_r52_0_fw_memory_region: memory@a1000000 {
62 compatible = "shared-dma-pool";
63 reg = <0x00 0xa1000000 0x00 0x100000>;
64 no-map;
65 };
Thanks,
Beleswar
On 7/24/2026 1:52 PM, Orzel, Michal wrote:
Hi,
I'm afraid this will not work. The reason is that Xen only copies nodes from the
passthrough DTB to final DTB that are placed under `/passthrough` node and
`/aliases`. /reserved-memory needs to be under root node `/`, therefore it will
not be copied. However, it seems like you are not using CMA node specifying a
fixed memory region (using `reg`) but size. In that case you should be able to
achieve the same using `cma=128M` kernel cmdline parameter.
~Michal
On 24-Jul-26 08:55, Beleswar Prasad Padhi wrote:
Hi all,
I have been trying to use reserved-memory carveouts in DomU, but failing
constantly.
This is the log from Dom1 boot:
[ 0.000000] earlycon: uart8250 at MMIO32 0x0000000053914000 (options '115200n
8')
[ 0.000000] printk: legacy bootconsole [uart8250] enabled
[ 0.000000] Xen 4.21 support found
[ 0.000000] efi: UEFI not found.
*[ 0.000000] OF: reserved mem: Reserved memory: No reserved-memory node in
the DT*
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000040000000-0x0000000051ffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000040000000-0x0000000051ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x0000000051ffffff]
[ 0.000000] On node 0, zone DMA: 24576 pages in unavailable ranges
[ 0.000000] cma: Reserved 32 MiB at 0x000000004f800000
This is my passthrough.dts:
1 /*
2 * This is a partial DT for passthrough node to DomU.
3 */
4 #include <dt-bindings/interrupt-controller/irq.h>
5 #include <dt-bindings/interrupt-controller/arm-gic.h>
6
7 /dts-v1/;
8
9 / {
10 #address-cells = <2>;
11 #size-cells = <1>;
12
~ 13 reserved-memory {
~ 14 #address-cells = <2>;
~ 15 #size-cells = <2>;
+ 16 ranges;
+ 17
+ 18 /* CMA region for framebuffer allocation */
+ 19 linux,cma {
+ 20 compatible = "shared-dma-pool";
+ 21 reusable;
+ 22 size = <0x00 0x08000000>; /* 128MB CMA pool */
+ 23 linux,cma-default;
+ 24 };
25 };
26
27 passthrough {
28 compatible = "simple-bus";
29 ranges;
30 #address-cells = <2>;
31 #size-cells = <1>;
32
33 misc_clk: misc_clk {
34 #clock-cells = <0>;
35 clock-frequency = <100000000>;
36 compatible = "fixed-clock";
37 };
73 uart@53914000 {
74 compatible = "ns16550a";
75 reg = <0x00 0x53914000 0x1000>;
~_ 76 interrupts = <0 302 4>;
77 reg-shift = <2>;
78 reg-io-width = <4>;
79 clocks = <&misc_clk>;
80 oversampling-rate = <16>;
81 programmable-char-timeout = <4>;
82 status = "okay";
83 xen,path =
"/bus@100000/bus@22000000/uart@53914000";
84 xen,reg = <0x0 0x53914000 0x1000 0x0 0x53914000>;
85 xen,force-assign-without-iommu;
86 };
87 };
88 };
And this is my dom1.cfg file:
1 name = "dom1"
2 memory = 256
3 vcpus = 4
4
5 kernel = "/boot/xen-dom1/Image"
6 extra = "console=ttyS0,115200n8 earlycon=uart8250,mmio32,0x53914000,115200n8
loglevel=8 root=/dev/xvda rw"
7
8 # UART1 (0x53914000) passthrough to Dom1 console
9 iomem = ["0x53914,1"]
11 irqs = [ 334 ]
12 dtdev = [ "/bus@100000/bus@22000000/uart@53914000"]
13 vif = ["script=vif-route"]
14 device_tree = "/boot/xen-dom1/passthrough.dtb"
15 #
17 disk = ["phy:/dev/vda2,xvda,rw"]
Am I doing something wrong? Any help or debugging leads would be really
appreciated...
Thank you,
Beleswar
|