On 13.12.22 20:33, Tommi Parkkila wrote: > Hi all - I am trying to configure and deploy Jailhouse on STM32MP1 w/ > dual Cortex-A7. I get Jailhouse built and installed on target, and > kernel module installed successfully, but when enabling Jailhouse the > whole system hangs and restarts after several seconds by WDT. I have > hunted the last executed line of code to: > > /err = entry(cpu);/ > > on /jailhouse/driver/main.c::enter_hypervisor(). The process tries the > both CPUs and both hangs. Here are some debug prints I added about the > jailhouse header data before the entry call, if they help any: (/number > inside [ ] is cpu-id/) > > /[ 280.734679] - [1] header.core_size = 0x16000 > [ 280.734687] - [1] header.percpu_size = 0x4000 > [ 280.738521] - [0] header.core_size = 0x16000 > [ 280.742961] - [1] header.entry = 0x3720 > [ 280.747400] - [0] header.percpu_size = 0x4000 > [ 280.751840] - [1] entry = 0xF0003720 > [ 280.755775] - [0] header.entry = 0x3720 > [ 280.760215] - [1] header.console_page = 0x10000 > [ 280.764049] - [0] entry = 0xF0003720 > [ 280.767986] - [1] header.gcov_info_head = 0x0 > [ 280.772627] - [0] header.console_page = 0x10000 > [ 280.776462] - [1] header.max_cpus = 2 > [ 280.780902] - [0] header.gcov_info_head = 0x0 > [ 280.785443] - [1] header.online_cpus = 2 > [ 280.789278] - [0] header.max_cpus = 2 > [ 280.793718] - [1] header.debug_console_base = 0xDF96D000 > [ 280.797653] - [0] header.online_cpus = 2 > [ 280.801488] - [1] header.arm_linux_hyp_vectors = 0xC0114BE0 > [ 280.806935] - [0] header.debug_console_base = 0xDF96D000 > [ 280.810871] - [1] header.arm_linux_hyp_abi = 1 > [ 280.816419] - [0] header.arm_linux_hyp_vectors = 0xC0114BE0 > [ 280.826307] - [0] header.arm_linux_hyp_abi = 1/ > > Where and how should I start looking for the issue? All and any help > will be highly appreciated. Below, a snapshot of memory region > allocation in kernel device tree and a snapshot of jailhouse root-cell > configuration that I use as an argument when enabling jailhouse.
Did you enable the debug UART properly already? That will give you fairly early output from Jailhouse and possibly hints on where it fails - or at least where it still passes by. If the hang is actually much earlier, you could instrument the entry code, make entry() return early with a special error to see if this path is taken at least. Jan -- Siemens AG, Technology Competence Center Embedded Linux -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/3071214a-b5a8-4096-8ad4-3a79b6634de5%40siemens.com.
