2) Is the final status (cpsr.F==cpsr.I==cpsr.A==1) expected?1) Are NS==0 and HCE==1 correct when entering switch_to_hyp_mode() ?My questions are,Finally, the process died here.scr == 0x6000001da, in which cpsr.M==0x1a, cpsr.I==1, cpsr.F==1, cpsr.A==1asm volatile ("mcr p15, 0, %0, c1, c1, 0"::"r"(scr));2) Then switch_to_hyp_mode() changes NS to 1, so scr==0x101scr == 0x100, in which NS==0, HCE==1, SCD==0, SIF==0I 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));
==>
3) switch_to_hyp_mode() changes cpsr to Hyp mode
asm volatile ("cps %0\n\t"::"I"(HYPERVISOR_MODE));
"isb\n" 4) The final step, switch_to_hyp_mode() reads cpsr,
asm volatile ("mrs %0, cpsr":"=r"(scr));
==>
3) Any other mistake I might make?
Yao
_______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel