Hello Stefan
Thanks for your reply. I tried at 80008000 address as well.

abhishek@...514...:~$ file linux
linux: u-boot legacy uImage, Linux-2.6.35.3-01384-g9533414-di, Linux/ARM, OS Kernel Image (Not compressed), 2933872 bytes, Wed May 31 15:52:08 2017, Load Address: 0x80008000, Entry Point: 0x80008000, Header CRC: 0x83CD7B97, Data CRC: 0x914C7C24
 

I tried to print from `start` function in "os/src/server/tz_vmm/include/vm_base.h" file.

                void start()
                {
                        Genode::memset((void*)_state, 0, sizeof(Genode::Vm_state));
                        _load_kernel();
                        _load_kernel_surroundings();
                        _state->cpsr = 0x93; /* SVC mode and IRQs disabled */
                        _state->r0   = 0;
                        _state->r1   = _mach_type;
                        _state->r2   = _ram.base() + _board_info_offset();
                }


_load_kernel() and other statements are working perfectly fine, I tried printing after each line using PINF. I think that means kernel is loading fine, though I'm not sure. What might be going wrong here?

Thanks
Abhishek

On Wed, May 31, 2017 at 2:57 PM, Stefan Kalkowski <stefan.kalkowski@...1...> wrote:
Hello,

On 05/31/2017 02:25 PM, Abhishek Kumar wrote:
> Hello
> I am trying to run linux in normal world on genode trustzone. I have
> changed the run-script of genode to copy the uImage generated from
> skalk/linux's imx-53 branch instead of downloading (default). I am
> making uImage with following command:
>
> make uImage LOADADDR=0x70010000

You are trying to relocate the Linux kernel within the memory portion
that is used by the secure world (Genode). The secure RAM is from
0x70000000 to  0x7fffffff. Please follow these instructions to build the
guest kernel on your own, like referenced within the tz_vmm run-script:

  https://genode.org/files/release-15.11/usb_armory_tz_vmm/README

Regards
Stefan

>
> while executing, genode stops after starting virtual machine with
> following error trace:
>
> ```
> .
> .
> [init] child "tz_vmm"
> [init]   RAM quota:  10203136
> [init]   ELF binary: tz_vmm
> [init]   priority:   0
> [init -> tz_vmm] Start virtual machine ...
> [init -> tz_vmm] Cpu state:
> [init -> tz_vmm]   Register     Virt     Phys
> [init -> tz_vmm] ---------------------------------
> [init -> tz_vmm]   r0         = 07000000 [00000000]
> [init -> tz_vmm]   r1         = f801ff50 [00000000]
> [init -> tz_vmm]   r2         = ffffffe4 [00000000]
> [init -> tz_vmm]   r3         = 40002000 [00000000]
> [init -> tz_vmm]   r4         = 00000000 [00000000]
> [init -> tz_vmm]   r5         = 00000000 [00000000]
> [init -> tz_vmm]   r6         = 000000ee [00000000]
> [init -> tz_vmm]   r7         = 00000000 [00000000]
> [init -> tz_vmm]   r8         = 00000000 [00000000]
> [init -> tz_vmm]   r9         = 00000000 [00000000]
> [init -> tz_vmm]   r10        = 00000000 [00000000]
> [init -> tz_vmm]   r11        = 00000000 [00000000]
> [init -> tz_vmm]   r12        = 00000000 [00000000]
> [init -> tz_vmm]   sp         = 00000000 [00000000]
> [init -> tz_vmm]   lr         = 00000000 [00000000]
> [init -> tz_vmm]   ip         = 0040dfe8 [00000000]
> [init -> tz_vmm]   cpsr       = 60000093
> [init -> tz_vmm]   sp_und     = 00000000 [00000000]
> [init -> tz_vmm]   lr_und     = 8000800c [00000000]
> [init -> tz_vmm]   spsr_und   = 00000093 [00000000]
> [init -> tz_vmm]   sp_svc     = f801ff4c [00000000]
> [init -> tz_vmm]   lr_svc     = 0040bc97 [00000000]
> [init -> tz_vmm]   spsr_svc   = 00000000 [00000000]
> [init -> tz_vmm]   sp_abt     = 00000000 [00000000]
> [init -> tz_vmm]   lr_abt     = 00000000 [00000000]
> [init -> tz_vmm]   spsr_abt   = 00000000 [00000000]
> [init -> tz_vmm]   sp_irq     = 00000000 [00000000]
> [init -> tz_vmm]   lr_irq     = 00000000 [00000000]
> [init -> tz_vmm]   spsr_irq   = 00000000 [00000000]
> [init -> tz_vmm]   sp_fiq     = 00000000 [00000000]
> [init -> tz_vmm]   lr_fiq     = 00000000 [00000000]
> [init -> tz_vmm]   spsr_fiq   = 00000000 [00000000]
> [init -> tz_vmm]   ttbr0      = 00000000
> [init -> tz_vmm]   ttbr1      = 00000000
> [init -> tz_vmm]   ttbrc      = 00000000
> [init -> tz_vmm]   dfar       = 07000000 [00000000]
> [init -> tz_vmm]   exception  = data_abort
> [init -> tz_vmm] Could not handle data-abort will exit!
>
>
> ```
>
> Initially I thought I might be giving wrong load address while making
> uImage, but it seems problem is not that. Can someone help me with what
> might be possibly going wrong?
>
> Thanks
> Abhishek
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>
>
>
> _______________________________________________
> genode-main mailing list
> genode-main@...449...2...net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>

--
Stefan Kalkowski
Genode Labs

https://github.com/skalk · http://genode.org/

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
genode-main mailing list
genode-main@...172...net
https://lists.sourceforge.net/lists/listinfo/genode-main