Thanks Kent for looking at this. I downloaded the image you sent and it gets stuck after I issue the bootefi command. I let it sit for a few minutes and it never goes anywhere (console output is pasted below) You mentioned that "A reason why ELF works for seL4test and not for camkes-arm-vm is potentially because the Elfloader doesn't get started in monitor mode and is unable to start the kernel in Hyp mode. " What I don't understand about that is that I have a couple of images that I built back in August 2018 that still work just fine on this device when I use bootelf to boot them. seL4 starts up and drops to the VM and I can log into the VM. U-Boot SPL 2020.01-00442-gc00bd81ae0 (Jan 10 2020 - 11:10:18 -0500) Trying to boot from RAM U-Boot 2020.01-00442-gc00bd81ae0 (Jan 10 2020 - 11:10:18 -0500) SoC: tegra124 Reset cause: POR Model: NVIDIA Jetson TK1 Board: NVIDIA Jetson TK1 DRAM: 2 GiB MMC: sdhci@700b0400: 1, sdhci@700b0600: 0 Loading Environment from MMC... OK In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 0 Tegra124 (Jetson TK1) # fatload mmc 1 ${loadaddr} capdl-loader-image-arm-tk1 20762864 bytes read in 974 ms (20.3 MiB/s) Tegra124 (Jetson TK1) # bootefi ${loadaddr} On Tue, Jan 28, 2020 at 8:05 PM Mcleod, Kent (Data61, Kensington NSW) < Kent.Mcleod@data61.csiro.au> wrote:
Hi Mike, Here is a copy of an EFI binary for the camkes-arm-vm tk1 project that runs on our tk1 development board internally: https://cloudstor.aarnet.edu.au/plus/s/FHVMZi0ei1Q6IYA. A reason why ELF works for seL4test and not for camkes-arm-vm is potentially because the Elfloader doesn't get started in monitor mode and is unable to start the kernel in Hyp mode. Here is some output from our build logs: U-Boot 2019.04-00592-g6c5f8dd540 (Apr 24 2019 - 12:42:58 +1000)
TEGRA124 Model: NVIDIA Jetson TK1 Board: NVIDIA Jetson TK1 DRAM: 2 GiB MMC: sdhci@700b0400: 1, sdhci@700b0600: 0 Loading Environment from MMC... OK In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 2 0 Tegra124 (Jetson TK1) # pci enum && setenv autoload no && dhcp && tftpboot 0x81000000 jetson1/sel4-image pci enum && setenv autoload no && dhcp && tftpboot 0x81000000 jetson1/sel4-image
Warning: eth_rtl8169 using MAC address from ROM BOOTP broadcast 1 BOOTP broadcast 2 BOOTP broadcast 3 DHCP client bound to address 10.13.1.186 (1262 ms) Using eth_rtl8169 device TFTP from server 10.13.0.28; our IP address is 10.13.1.186 Filename 'jetson1/sel4-image'. Load address: 0x81000000 Loading: * ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################## 4 MiB/s done Bytes transferred = 20762864 (13cd0f0 hex) Tegra124 (Jetson TK1) # bootelf 0x81000000 || bootefi 0x81000000 bootelf 0x81000000 || bootefi 0x81000000 ## No elf image at address 0x81000000 7 8MMC: no card present Scanning disk sdhci@700b0400.blk... Disk sdhci@700b0400.blk not ready Scanning disk sdhci@700b0600.blk... Found 3 disks WARNING: booting without device tree ## Starting EFI application at 81000000 ... ELF loader: monitor mode init done Copy monitor mode vector from fb6785bc to a7f00000 size 50 Number of IRQs: 192 Load seL4 in nonsecure HYP mode 600001da ELF-loader started on CPU: ARM Ltd. Cortex-A15 r3p3 paddr=[fb671000..fca3efff] No DTB passed in from boot loader. Looking for DTB in CPIO archive...found at fb7423a4. Loaded DTB from fb7423a4. paddr=[80059000..80069fff] ELF-loading image 'kernel' paddr=[80000000..80058fff] vaddr=[e0000000..e0058fff] virt_entry=e0000000 ELF-loading image 'capdl-loader' paddr=[8006a000..81442fff] vaddr=[10000..13e8fff] virt_entry=17b1c relocating from fb671000-fca3f000 to dec30000-dfffe000... size=0x13ce000 (padded size = 0x13d0000) ELF loader relocated, continuing boot... Enabling hypervisor MMU and paging Jumping to kernel-image entry point...
Bootstrapping kernel Total 28 IOASID set up Region [c to 28) for SMMU caps Booting all finished, dropped to user space