|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Query] Unable to probe reserved-memory carveouts in DomU with Xen
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
>
>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |