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.

Reply via email to