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

Re: [Xen-devel] [PATCH 0/6] iomem cacheability



Sorry for the formatting.

On Tue, 5 Mar 2019, 21:24 Stefano Stabellini, <sstabellini@xxxxxxxxxx> wrote:
On Sun, 3 Mar 2019, Amit Tomer wrote:
> Hi,
>
> > This series introduces a cacheability parameter for the iomem option, so
> > that we can map an iomem region into a guest as cacheable memory.
> >
> > Then, this series fixes the way Xen handles reserved memory regions on
> > ARM: they should be mapped as normal memory, instead today they are
> > treated as device memory.
> >
>
> We tried testing this patch series on R-CAR platform but see following crash
> when booting dom0 Linux.

Thanks for testing! You might have found a real bug in the series. Could
you please also attach the full device tree?

Looking at the stack trace, this is very likely due to the issue I pointed out earlier on. I.e reserved-memory region should be described in the memory nodes.

Cheers,



> [    0.577777] bd20: 0000000000000000 ffff000008b27fa0
> ffffffffffffffff ffff000008b27000
> [    0.585639] bd40: ffff00000804bd50 ffff000008959164
> [    0.590565] [<ffff000008959164>] cma_init_reserved_areas+0x98/0x1d0
> [    0.596876] [<ffff000008083a50>] do_one_initcall+0x38/0x120
> [    0.602493] [<ffff000008940d04>] kernel_init_freeable+0x188/0x228
> [    0.608628] [<ffff0000086a6288>] kernel_init+0x10/0x100
> [    0.613898] [<ffff000008084c68>] ret_from_fork+0x10/0x18
> [    0.619250] ---[ end trace c2041e247871a6ff ]---
> [    0.623929] Unable to handle kernel paging request at virtual
> address ffff7dffe55c0000
> [    0.631880] Mem abort info:
> [    0.634715]   Exception class = DABT (current EL), IL = 32 bits
> [    0.640684]   SET = 0, FnV = 0
> [    0.643786]   EA = 0, S1PTW = 0
> [    0.646990] Data abort info:
> [    0.649920]   ISV = 0, ISS = 0x00000006
> [    0.653821]   CM = 0, WnR = 0
> [    0.656834] swapper pgtable: 4k pages, 48-bit VAs, pgd = ffff000008b47000
> [    0.663670] [ffff7dffe55c0000] *pgd=0000000700aef803,
> *pud=0000000700af0803, *pmd=0000000000000000
> [    0.672652] Internal error: Oops: 96000006 [#1] PREEMPT SMP
> [    0.678259] Modules linked in:
> [    0.681371] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W
> 4.14.50-yocto-standard #1
> [    0.689923] Hardware name: Renesas Salvator-X board based on
> r8a7795 ES2.0+ (DT)
> [    0.697355] task: ffff80001e910000 task.stack: ffff000008048000
> [    0.703317] PC is at cma_init_reserved_areas+0xbc/0x1d0
> [    0.708587] LR is at cma_init_reserved_areas+0x94/0x1d0
> [    0.713862] pc : [<ffff000008959188>] lr : [<ffff000008959160>]
> pstate: 60000045
> [    0.721287] sp : ffff00000804bd50
> [    0.724657] x29: ffff00000804bd50 x28: ffff000008a88a28
> [    0.730013] x27: 0000000000057000 x26: ffff000008994040
> [    0.735370] x25: ffff000008b27fa0 x24: ffff000008b27000
> [    0.740727] x23: ffff7e0000000000 x22: ffff0000088ed000
> [    0.746084] x21: 0000000000000000 x20: 0000000000000000
> [    0.751440] x19: 0000000000000004 x18: 0000000000000000
> [    0.756797] x17: 0000000000000001 x16: 00000000deadbeef
> [    0.762154] x15: 0000000000000000 x14: 0000000000000400
> [    0.767511] x13: 0000000000000400 x12: 0000000000000000
> [    0.772872] x11: 0000000000000000 x10: 0000000000000002
> [    0.778224] x9 : 0000000000000000 x8 : ffff80001e945800
> [    0.783586] x7 : 0000000000000000 x6 : ffff000008b24868
> [    0.788938] x5 : ffff000008b24868 x4 : 0000000000000000
> [    0.794295] x3 : 0000000000000780 x2 : 0000000700000000
> [    0.799652] x1 : ffff000008a88a28 x0 : ffffffffe55c0000
> [    0.805010] Process swapper/0 (pid: 1, stack limit = 0xffff000008048000)
> [    0.811747] Call trace:
> [    0.814254] Exception stack(0xffff00000804bc10 to 0xffff00000804bd50)
> [    0.820734] bc00:
> ffffffffe55c0000 ffff000008a88a28
> [    0.828598] bc20: 0000000700000000 0000000000000780
> 0000000000000000 ffff000008b24868
> [    0.836460] bc40: ffff000008b24868 0000000000000000
> ffff80001e945800 0000000000000000
> [    0.844322] bc60: 0000000000000002 0000000000000000
> 0000000000000000 0000000000000400
> [    0.852184] bc80: 0000000000000400 0000000000000000
> 00000000deadbeef 0000000000000001
> [    0.860047] bca0: 0000000000000000 0000000000000004
> 0000000000000000 0000000000000000
> [    0.867910] bcc0: ffff0000088ed000 ffff7e0000000000
> ffff000008b27000 ffff000008b27fa0
> [    0.875772] bce0: ffff000008994040 0000000000057000
> ffff000008a88a28 ffff00000804bd50
> [    0.883639] bd00: ffff000008959160 ffff00000804bd50
> ffff000008959188 0000000060000045
> [    0.891497] bd20: 0000000000000000 ffff000008b27fa0
> ffffffffffffffff ffff000008b27000
> [    0.899359] bd40: ffff00000804bd50 ffff000008959188
> [    0.904285] [<ffff000008959188>] cma_init_reserved_areas+0xbc/0x1d0
> [    0.910592] [<ffff000008083a50>] do_one_initcall+0x38/0x120
> [    0.916209] [<ffff000008940d04>] kernel_init_freeable+0x188/0x228
> [    0.922343] [<ffff0000086a6288>] kernel_init+0x10/0x100
> [    0.927613] [<ffff000008084c68>] ret_from_fork+0x10/0x18
> [    0.932975] Code: f94262c0 aa0103fc cb803360 d37ae400 (f8776800)
> [    0.939104] ---[ end trace c2041e247871a700 ]---
> [    0.943800] Kernel panic - not syncing: Attempted to kill init!
> exitcode=0x0000000b
> [    0.943800]
> [    0.953021] SMP: stopping secondary CPUs
> [    0.957009] ---[ end Kernel panic - not syncing: Attempted to kill
> init! exitcode=0x0000000b
>
> Below is how reserved node looks like:
>
>          reserved-memory {
>                  #address-cells = <2>;
>                  #size-cells = <2>;
>                  ranges;
>
>                  /* device specific region for Lossy Decompression */
>                  lossy_decompress: linux,lossy_decompress@54000000 {
>                          no-map;
>                          reg = <0x00000000 0x54000000 0x0 0x03000000>;
>                  };
>
>                  /* For Audio DSP */
>                  adsp_reserved: linux,adsp@57000000 {
>                          compatible = "shared-dma-pool";
>                          reusable;
>                          reg = <0x00000000 0x57000000 0x0 0x01000000>;
>                  };
>
>                  /* global autoconfigured region for contiguous allocations */
>                  linux,cma@58000000 {
>                          compatible = "shared-dma-pool";
>                          reusable;
>                          reg = <0x00000000 0x58000000 0x0 0x18000000>;
>                          linux,cma-default;
>                  };
>
>                  /* device specific region for contiguous allocations */
>                  mmp_reserved: linux,multimedia@70000000 {
>                          compatible = "shared-dma-pool";
>                          reusable;
>                          reg = <0x00000000 0x70000000 0x0 0x10000000>;
>                  };
>          };
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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