Hi Alex,

Thanks for confirmation. As you suggested to use binary file to load at address is 0x0.

Build the binary image using menuconfig option and loaded the image into 0x00, and used the 'go 0x0'.

but still kernel crashed with below dump.

Tegra210 (P2371-2180) # ext4load mmc 1 0x0 sel4test-driver-image-arm-tx1.bin
6858320 bytes read in 451 ms (14.5 MiB/s)
Tegra210 (P2371-2180) # go 0x0
## Starting application at 0x00000000 ...
"Synchronous Abort" handler, esr 0x8600000e
ELR:     0
LR:      ff1328d0
x0 : 0000000000000001 x1 : 00000000fcc2c238
x2 : 00000000fcc2c238 x3 : 0000000000000000
x4 : 0000000000000030 x5 : 0000000000000000
x6 : 00000000ffffffd0 x7 : 0000000000000044
x8 : 0000000000000210 x9 : 0000000000000008
x10: 000000000000000f x11: 00000000ff179c20
x12: 0000000000000000 x13: 0000000000000040
x14: 0000000000000001 x15: 00000000ff12c0e4
x16: 00000000ff12c2f8 x17: 0000000000010000
x18: 00000000fcc28df8 x19: 00000000fcc2c238
x20: 0000000000000002 x21: 0000000000000000
x22: 00000000fcc2c230 x23: 0000000000000002
x24: 00000000ff198b38 x25: 0000000000000000
x26: 0000000000000000 x27: 00000000fcc2bff0
x28: 0000000000000000 x29: 00000000fcc24a10

Also verified the elf image header sections for reference the load memory address is 0x0

:~$ aarch64-linux-gnu-objdump -h sel4test-driver-image-arm-tx1

sel4test-driver-image-arm-tx1:         file format elf64-littleaarch64

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .text         0000700c  0000000000000000  0000000000000000  00010000  2**12
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .rodata       0044ef80  0000000000007010  0000000000007010  00017010  2**3
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          0000a000  0000000000456000  0000000000456000  00465f90  2**12
                  ALLOC
  3 .comment      00000082  0000000000000000  0000000000000000  00465f90  2**0
                  CONTENTS, READONLY

Please suggest if anything is missing.

Regards,
Munees

On Tue, Oct 17, 2017 at 9:11 AM, <Alexander.Kroh@data61.csiro.au> wrote:
Hi Munees,

Apologies for the bum steer. I have now heard that the "bootelf"
command does not work on the tx1, obviously this information comes too
late.

The alternative is to convert the elf format file into a binary file,
load it to the correct location in memory, and use the "go" command
with the appropriate entry point. From the elf file, the load address
and entry point should both be 0x0.

The menuconfig has an option for generating binary files under:
Tools -> Build elfloader -> Boot image type

 - Alex

On Mon, 2017-10-16 at 19:31 +0530, Muneeswaran Rajendran wrote:
> Hi All,
>
> I have been trying to load 64bit seL4 (kernel+user space) ELF image
> on Tx1 board but it's failed to start the application and crashed
> with reason '"Synchronous Abort" handler, esr 0x02000000' always. 
>
> Just walk through the Tx1 u-boot code and found that
> 'load_elf_image_phdr(unsigned long addr)' is using 32bit ELF header
> structure pointer to load the program header.
>
> I would like to understand whether 64bit ELF image load handled using
> 32bit elf header itself or we need to configure u-boot to load 64 bit
> ELF image ?
>
> I have modified the kernel base addr as 0xffffffc000080000 and phyadd
> as 0x80080000 to boot sel4 app image on TX1 board nothing has worked
> out. 
>
> Please share details if someone succeeded to bring sel4 app elf image
> on Tx1 platform.
>
> Regards,
> Munees
> _______________________________________________
> Devel mailing list
> Devel@sel4.systems
> https://sel4.systems/lists/listinfo/devel