I was using u-boot 2017-03-rc1. After flashing back to 2015-10-rc5,
camkes-arm-vm works. So the problem is the new u-boot...though I don't know
the real problem.

On Sun, Feb 26, 2017 at 7:12 PM, SHI, Yao <[email protected]> wrote:

> Hi Adrian,
>
> I confirmed that seL4 mode is 'Load the seL4 kernel in hypervisor mode
> (NS))' and 'Install hooks in monitor mode' is set.
>
> The call stack was main()->platform_init()->switch_to_hyp_mode(). The
> process terminated right after that last statement 'printf("Load seL4 in
> nonsecure HYP mode %x", scr);' in switch_to_hyp_mode().
> It didn't get back to platform_init() (I inserted printf right after the
> callsite of switch_to_hyp_mode() in platform_init()). The last output was:
>
> Load seL4 in nonsecure HYP mode 600001da
>
> Yao
>
> On Sun, Feb 26, 2017 at 6:36 PM, <[email protected]> wrote:
>
>> Hi Yao,
>>
>> Can you confirm in the build configuration that 'seL4 mode' is set to
>> 'Load the seL4 kernel in hypervisor mode (NS))' and 'Install hooks in
>> monitor mode' in set? These should be set by the provided defconfigs. Also
>> you can elaborate on what 'died here' means? Is there anything else output
>> over the serial console? If its faulting or losing control of its execution
>> what is the last instruction you know it has executed?
>>
>> Adrian
>>
>>
>> On Mon 27-Feb-2017 12:54 PM, SHI, Yao wrote:
>>
>> I am trying to boot CAmkES-ARM-VM and got problem in elfloader. I tested
>> Jetson-TK1 and TK1-SOM. The results are same. I've set
>> bootm_boot_mode=nonsec in u-boot and tracked registers in function
>> switch_to_hyp_mode().
>>
>> 1) Enter switch_to_hyp_mode(), after
>> asm volatile ("mrc p15, 0, %0, c1, c1, 0":"=r"(scr));
>> ==>
>> scr == 0x100, in which NS==0, HCE==1, SCD==0, SIF==0
>>
>> 2) Then switch_to_hyp_mode() changes NS to 1, so scr==0x101
>> asm volatile ("mcr p15, 0, %0, c1, c1, 0"::"r"(scr));
>>
>> 3) switch_to_hyp_mode() changes cpsr to Hyp mode
>>
>> asm volatile ("cps %0\n\t"
>> "isb\n"
>> ::"I"(HYPERVISOR_MODE));
>>
>> 4) The final step, switch_to_hyp_mode() reads cpsr,
>> asm volatile ("mrs %0, cpsr":"=r"(scr));
>> ==>
>> scr == 0x6000001da, in which cpsr.M==0x1a, cpsr.I==1, cpsr.F==1, cpsr.A==1
>>
>> Finally, the process died here.
>>
>> My questions are,
>> 1) Are NS==0 and HCE==1 correct when entering switch_to_hyp_mode() ?
>> 2) Is the final status (cpsr.F==cpsr.I==cpsr.A==1) expected?
>> 3) Any other mistake I might make?
>>
>>
>> Yao
>>
>>
>> _______________________________________________
>> Devel mailing [email protected]https://sel4.systems/lists/listinfo/devel
>>
>>
>>
>
_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to