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

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



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.

[    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

 


Rackspace

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