I'm trying to bring up OpenBSD/arm on an RK3128 in the Pomera DM250. I was able to update its shipped U-Boot from 2014.10 to 2017.09 so it would have EFI support, and I can boot BOOTARM.EFI.
It hangs when entering the kernel so I instrumented it to see where, and it looks like it's as soon as it enables the MMU. This prints out 1 and 2, but never gets to 3. Any ideas? arm/locore0.S: .globl uart_putc /* send r1 to uart */ uart_putc: ldr r0, =0x20064000 /*mov r1, #'h' */ str r1, [r0] ldr r2, =0x20064000 + 0x7c /* UART_USR */ check_usr: ldr r3, [r2] tst r3, #(1<<1) /* UART_TRANSMIT_FIFO_NOT_FULL */ beq check_usr bx lr .globl start_mmu start_mmu: mov r1, #'1' bl uart_putc /* Set ASID to zero */ mov r1, #0 mcr CP15_CONTEXTIDR(r1) isb mcr CP15_TTBR0(r0) /* Set TTB */ mcr CP15_TLBIALL(r0) /* Flush TLB */ /* Set the Domain Access register. Very important! */ mov r0, #DOMAIN_CLIENT /* We only use domain 0 */ mcr CP15_DACR(r0) isb mov r1, #'2' bl uart_putc /* Enable MMU */ mrc CP15_SCTLR(r0) orr r0, r0, #CPU_CONTROL_MMU_ENABLE mcr CP15_SCTLR(r0) isb mov r1, #'3' bl uart_putc U-Boot and bootloader output: U-Boot 2017.09-gc974502-dirty (Apr 15 2025 - 13:48:57 -0500) Model: KING JIM Pomera DM250 DRAM: 512 MiB Sysmem: init Relocation Offset: 1ddbd000, fdt: 00000000 Using default environment dwmmc@10214000: 1, dwmmc@1021c000: 0 RKPARM: Invalid parameter part table switch to partitions #0, OK mmc1 is current device switch to partitions #0, OK mmc0(part 0) is current device Bootdev: mmc 0 MMC0: High Speed, 52Mhz PartType: RKPARM Found DTB in resource part DTB: rk-kernel.dtb In: serial Out: serial Err: serial rockchip_get_boot_mode: Could not found misc partition boot mode: None CLK: (uboot. arm: enter 600000 KHz, init 600000 KHz, kernel 0N/A) apll 600000 KHz dpll 600000 KHz cpll 400000 KHz gpll 594000 KHz armclk 600000 KHz aclk_cpu 148500 KHz hclk_cpu 74250 KHz pclk_cpu 74250 KHz aclk_peri 148500 KHz hclk_peri 74250 KHz pclk_peri 74250 KHz Hit key to stop autoboot('CTRL+C'): 0 reading efi/boot/bootarm.efi 119296 bytes read in 18 ms (6.3 MiB/s) ## Starting EFI application at 62008000 ... FtlInit fffffffe Scanning disk na...@10500000.blk... rkparm_init_param_from_storage param read fail RKPARM: Invalid parameter part table Scanning disk dw...@10214000.blk... Scanning disk dw...@1021c000.blk... Found 3 disks Adding bank: 0x60000000 - 0x80000000 (size: 0x20000000) disks: sd0* sd1 sd2 sd3 sd4 sd5 sd6 sd7 sd8 sd9 sd10 sd11 sd12 sd13 sd14 sd15 sd16 sd17 sd18 sd19 sd20 sd21 sd22 sd23 sd24 sd25 sd26 sd27 sd28 sd29 sd30 >> OpenBSD/armv7 BOOTARM 1.23 boot> b bsd.arm cannot open sd0a:/etc/random.seed: No such file or directory booting sd0a:bsd.arm: 4917816+1013564+140524+607800 [97+346224+308373]=0x0 12