[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] XEN on R-CAR H3
Hi Julien While I know that Xen does not deal with reserved area yet, we should have been able to write in that region. We don't even reach that state as we can't get theassociated page.It might be possible that the p2m entry is overwritten when going through the DTfor mapping all the regions (see handle_device).Make sense.I have just made an experiment. I returned reserved nodes back in my setup and got an fault, similar to what Amit had faced.(XEN) handle /memory@48000000 (XEN) Skip it (matched) (XEN) handle /reserved-memory (XEN) dt_irq_number: dev=/reserved-memory (XEN) /reserved-memory passthrough = 1 nirq = 0 naddr = 0 (XEN) handle /reserved-memory/linux,lossy_decompress (XEN) dt_irq_number: dev=/reserved-memory/linux,lossy_decompress(XEN) /reserved-memory/linux,lossy_decompress passthrough = 1 nirq = 0 naddr = 1 (XEN) DT: ** translation for device /reserved-memory/linux,lossy_decompress **(XEN) DT: bus is default (na=2, ns=2) on /reserved-memory (XEN) DT: translating address:<3> 00000000<3> 54000000<3> (XEN) DT: parent bus is default (na=2, ns=2) on / (XEN) DT: empty ranges; 1:1 translation (XEN) DT: parent translation for:<3> 00000000<3> 00000000<3> (XEN) DT: with offset: 54000000 (XEN) DT: one level translation:<3> 00000000<3> 54000000<3> (XEN) DT: reached root node (XEN) - MMIO: 0054000000 - 0057000000 P2MType=5 (XEN) handle /reserved-memory/linux,adsp (XEN) dt_irq_number: dev=/reserved-memory/linux,adsp (XEN) /reserved-memory/linux,adsp passthrough = 1 nirq = 0 naddr = 1 (XEN) DT: ** translation for device /reserved-memory/linux,adsp ** (XEN) DT: bus is default (na=2, ns=2) on /reserved-memory (XEN) DT: translating address:<3> 00000000<3> 57000000<3> (XEN) DT: parent bus is default (na=2, ns=2) on / (XEN) DT: empty ranges; 1:1 translation (XEN) DT: parent translation for:<3> 00000000<3> 00000000<3> (XEN) DT: with offset: 57000000 (XEN) DT: one level translation:<3> 00000000<3> 57000000<3> (XEN) DT: reached root node (XEN) - MMIO: 0057000000 - 0058000000 P2MType=5 (XEN) handle /reserved-memory/linux,cma (XEN) dt_irq_number: dev=/reserved-memory/linux,cma (XEN) /reserved-memory/linux,cma passthrough = 1 nirq = 0 naddr = 1 (XEN) DT: ** translation for device /reserved-memory/linux,cma ** (XEN) DT: bus is default (na=2, ns=2) on /reserved-memory (XEN) DT: translating address:<3> 00000000<3> 58000000<3> (XEN) DT: parent bus is default (na=2, ns=2) on / (XEN) DT: empty ranges; 1:1 translation (XEN) DT: parent translation for:<3> 00000000<3> 00000000<3> (XEN) DT: with offset: 58000000 (XEN) DT: one level translation:<3> 00000000<3> 58000000<3> (XEN) DT: reached root node *(XEN) - MMIO: 0058000000 - 0070000000 P2MType=5* (XEN) handle /reserved-memory/linux,multimedia (XEN) dt_irq_number: dev=/reserved-memory/linux,multimedia(XEN) /reserved-memory/linux,multimedia passthrough = 1 nirq = 0 naddr = 1(XEN) DT: ** translation for device /reserved-memory/linux,multimedia ** (XEN) DT: bus is default (na=2, ns=2) on /reserved-memory (XEN) DT: translating address:<3> 00000000<3> 70000000<3> (XEN) DT: parent bus is default (na=2, ns=2) on / (XEN) DT: empty ranges; 1:1 translation (XEN) DT: parent translation for:<3> 00000000<3> 00000000<3> (XEN) DT: with offset: 70000000 (XEN) DT: one level translation:<3> 00000000<3> 70000000<3> (XEN) DT: reached root node (XEN) - MMIO: 0070000000 - 0080000000 P2MType=5 (XEN) handle /mmngr (XEN) dt_irq_number: dev=/mmngr (XEN) /mmngr passthrough = 1 nirq = 0 naddr = 0 (XEN) handle /mmngrbuf (XEN) dt_irq_number: dev=/mmngrbuf (XEN) /mmngrbuf passthrough = 1 nirq = 0 naddr = 0 (XEN) handle /vspm_if (XEN) dt_irq_number: dev=/vspm_if (XEN) /vspm_if passthrough = 1 nirq = 0 naddr = 0 (XEN) Allocating PPI 16 for event channel interrupt (XEN) Create hypervisor node (XEN) Create PSCI node (XEN) Create cpus node (XEN) Create cpu@0 (logical CPUID: 0) node (XEN) Create cpu@1 (logical CPUID: 1) node (XEN) Create cpu@2 (logical CPUID: 2) node (XEN) Create cpu@3 (logical CPUID: 3) node (XEN) Create memory node (reg size 4, nr cells 4) (XEN) Bank 0: 0x60000000->0x70000000*(XEN) Loading zImage from 000000007a000000 to 0000000060080000-0000000062080000*(XEN) (XEN) **************************************** (XEN) Panic on CPU 0: (XEN) Unable to copy the kernel in the hwdom memory (XEN) **************************************** (XEN) (XEN) Reboot in five seconds... There is a question which worries me and likely other people as well. Which is "reserved memory area support in Xen". Some SoCs except application processors have some IPs (co-processors, dsps, codecs, whatever) which rely on a specific predefined memory regions, or even can work with these memory regions only... Without this feature being supported, we won't be able to use IPs, whose firmware requires a predefined memory region to talk to an application processor, I am afraid. One option comes to mind... I presume, the use of "iomem" property in domain config could allow us to assign 1:1 mapped region to that guest domain. Would it be a correct option? What needs to be implementing it Xen, for example, to have a possibility to assign a particular reserved memory region(s) to a particular guest domain? -- Regards, Oleksandr Tyshchenko _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |