Ok, that's it. But now, another error related to that memory region appears:
FATAL: instruction abort at 0x4fffe1d0 FATAL: forbidden access (exception class 0x20) Cell state before exception: pc: ffffff80080971d0 lr: ffffff8008768e14 spsr: 600001c5 EL1 sp: ffffff8008e73ea0 esr: 20 1 0000086 x0: ffffffc04d2b7a00 x1: ffffffc04cff6000 x2: 0000000000000000 x3: ffffff8008768de0 x4: 0000000000000015 x5: 00ffffffffffffff x6: 0000000029382596 x7: 0000000000000f94 x8: ffffffc04ff79404 x9: 00000000000007df x10: ffffffc04ff793e4 x11: 0000000000001dd8 x12: 0000000000000000 x13: 00000000000094e5 x14: 071c71c71c71c71c x15: ffffff8008e78000 x16: ffffff800819b1e8 x17: 0000007fa7da3718 x18: ffffffc04ff7a460 x19: ffffffc04cff6000 x20: ffffffc04cff6018 x21: ffffffc04d2b7a00 x22: 0000000000000000 x23: ffffffc04cff6000 x24: 00000009ed76160a x25: ffffffc04cff6000 x26: ffffff8008e82100 x27: 0000000000000400 x28: 0000000000df0018 x29: ffffff8008e73ea0 The error happens in an address within the memory region i want to put the Linux images (3fd00000-5fffffff : System RAM), and that i declared on the config file. segunda-feira, 29 de Julho de 2019 às 21:53:59 UTC+1, Jan Kiszka escreveu: > > On 29.07.19 21:51, João Reis wrote: > > Yeah, i forgot to set the flag and the .dtb file i was using wasn't the > right > > one (now i am using inmate-zynqmp.dts). But even when i set the flag, it > still > > gives me the same error. > > Send here the output of /proc/iomem: > > > > 00000000-3ecfffff : System RAM > > 00080000-00deffff : Kernel code > > 00e70000-01134fff : Kernel data > > 3ed00000-3ed3ffff : 3ed00000.ddr > > 3fd00000-5fffffff : System RAM > > 7c000000-7c3fffff : Jailhouse hypervisor > > fc000000-fc0fffff : PCI ECAM > > fc100000-fc101fff : //pci@0 > > fc100000-fc1000ff : 0000:00:00.0 > > > > And the config as it is now in attachment. > > If you look at tools/jailhouse-cell-linux, you can see the conditions > for considering a region as loadable RAM: > > class ARMCommon: > def setup(self, args, config): > [...] > for region in config.memory_regions: > # Filter out non-RAM regions and small ones at the start of > the > # cell address space that is used for the loader. > if region.is_ram() and \ > (region.virt_start > 0 or region.size > 0x10000): > > > class MemoryRegion: > [...] > def is_ram(self): > return ((self.flags & (MemoryRegion.JAILHOUSE_MEM_READ | > MemoryRegion.JAILHOUSE_MEM_WRITE | > MemoryRegion.JAILHOUSE_MEM_EXECUTE | > MemoryRegion.JAILHOUSE_MEM_DMA | > MemoryRegion.JAILHOUSE_MEM_IO | > MemoryRegion.JAILHOUSE_MEM_COMM_REGION | > MemoryRegion.JAILHOUSE_MEM_ROOTSHARED)) == > (MemoryRegion.JAILHOUSE_MEM_READ | > MemoryRegion.JAILHOUSE_MEM_WRITE | > MemoryRegion.JAILHOUSE_MEM_EXECUTE | > MemoryRegion.JAILHOUSE_MEM_DMA)) > > Means, you are missing "MEM_DMA". > > Jan > > -- > Siemens AG, Corporate Technology, CT RDA IOT SES-DE > Corporate Competence Center Embedded Linux > -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/e5c36ed1-98a5-4a76-aca0-6589cf9c3108%40googlegroups.com.
