Hello,

I am running into an issue with booting up an sel4test image on the Odroid-C4. 
When the calculated memory bound for the sel4test-driver's ELF is around 100MB 
or larger, I get an asychronous data abort like so:

ELF-loader started on CPU: ARM Ltd. Cortex-A55 r1p0
  paddr=[c3d2000..e068117]
No DTB passed in from boot loader.
Looking for DTB in CPIO archive...found at c502760.
Loaded DTB from c502760.
   paddr=[256000..261fff]
ELF-loading image 'kernel' to 0
  paddr=[0..255fff]
  vaddr=[8000000000..8000255fff]
  virt_entry=8000000000
ELF-loading image 'sel4test-driver' to 262000
  paddr=[262000..6cd7fff]
  vaddr=[400000..6e75fff]
  virt_entry=443090
"Error" handler, esr 0xbe000011
elr: ffffffff1a4996e4 lr : ffffffff1a497654 (reloc)
elr: 000000000c3d96e4 lr : 000000000c3d7654
x0 : 0000000001ad7340 x1 : 0000000000000000
x2 : 0000000006a75348 x3 : 000000000c3dfdc0
x4 : 0000000001b494c8 x5 : 000000000c3dca50
x6 : 0000000000262000 x7 : 0000000000000001
x8 : 0000000000000008 x9 : ffffffffffffffff
x10: 0000000000000000 x11: 0000000000000002
x12: 00000000f4fef9e0 x13: 0000000000000001
x14: 00000000f4fef9e0 x15: 0000000000000000
x16: 0000000020000000 x17: 0000000000c0c0c0
x18: 00000000f0f3dda0 x19: 000000000c3dfff0
x20: 0000000020000000 x21: 0000000000000002
x22: 00000000f0f769c0 x23: 0000000000000002
x24: 00000000f2ff556c x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 00000000f0f6d380 x29: 000000000c3dfda0

Code: f94017e0 91002000 f90017e0 f94007e0 (f1001c1f)
Resetting CPU ...

Our sel4test image is large because we're using a static heap. Note that the 
relevant region from the log output is [262000..6cd7fff], the exception occurs 
when trying to write into memory in this range. After some investigation, 
writing to physical address 0x5100000 is what causes the problem. I haven't 
been able to find any documentation on why this physical address range can't be 
written to. Is this some sort of device memory region? I was able to eventually 
boot by changing the ELF loader to load into a much higher memory address (e.g. 
somewhere around 0x80000000), but I would like to have a clearer idea of the 
Odroid's memory layout so that I could choose an address range that is 
definitely safe to load the image into. 

Thank you,
Linh
_______________________________________________
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems

Reply via email to