Unhandled data read at 0x542000dc(4)This is reasonable, as 0x542000dc belongs to host1x and the program counter points to some drm-related kernel function.
FATAL: unhandled trap (exception class 0x24)
pc=0xc0365bec cpsr=0x600f0193 esr=0x93860006
r0=0x00000019 r1=0xdd235c10 r2=0x00000000 r3=0xdf900000
r4=0xdd235c10 r5=0xdd9dd824 r6=0x00000019 r7=0x00000001
r8=0xc0a62000 r9=0x00000000 r10=0x00000000 r11=0xc0afaa3c
r12=0x1d5b3000 r13=0x1d5b3000 r14=0x1d5b3000
Parking CPU 0 (Cell: "Jetson-TK1")
# cat /proc/iomem|grep -i host1xLinux freezes right after invoking the jailhouse enable command. The debug UART states:
50000000-50033fff : /host1x@0,50000000
54200000-5423ffff : /host1x@0,50000000/dc@0,54200000
54240000-5427ffff : /host1x@0,50000000/dc@0,54240000
54280000-542bffff : /host1x@0,50000000/hdmi@0,54280000
Initializing Jailhouse hypervisor v0.5 (145-g83180c1-dirty) on CPU 2And that's it, no more output. I guess the hypervisor is stuck somewhere during early bootup. As jailhouse works fine without CONFIG_DRM_TEGRA and my additional mapping, I assume that there's something wrong with my mapping.
Code location: 0xf0000020
-- Ralf Ramsauer GPG: 0x8F10049B
We changed the .size field to 4000 but now we have a different unhandled trap exception that I copy and paste here:
root@debian:~# jailhouse enable /home/jailhouse/configs/jetson-tk1.cell
Initializing Jailhouse hypervisor v0.5 (238-g33fbbbd-dirty) on CPU 2
Code location: 0xf0000020
Page pool usage after early setup: mem 22/16112, remap 64/32768
Initializing processors:
CPU 2... OK
CPU 1... OK
CPU 0... OK
CPU 3... OK
Page pool usage after late setup: mem 35/16112, remap 64/32768
Activating hypervisor
root@debian:~# Unhandled data read at 0x6000d514(4)
FATAL: unhandled trap (exception class 0x24)
pc=0xc025dd94 cpsr=0xa0000013 esr=0x93820007
r0=0xfe20d000 r1=0x000000aa r2=0xfe20d514 r3=0x00000504
r4=0xdd1b2800 r5=0xdd1b2c58 r6=0xdd1b6834 r7=0xdd1b2b40
r8=0xdd1b6940 r9=0x00000000 r10=0xdd1f9ed4 r11=0xdd1b6834
r12=0x00000001 r13=0x00000001 r14=0x00000001
Parking CPU 1 (Cell: "Jetson-TK1")
by taking a look at /proc/iomem it looks like that address is used by GPIO
[...]
6000d000-6000dfff : /gpio@0,6000d000
[...]
Therefore we had to map these as well. So in the pastebin link you can find a working jetson-tk1.c file: