Getting Plan 9 to boot on the pi3 (in 32-bit mode) was almost trivial.
Plan 9 from Bell Labs
board rev: 0xa02082 firmware rev: 1456410415
cpu0: 1200MHz ARM Cortex-A53 r0p4
fp: 32 registers, simd
fp: arm arch VFPv3+ with null subarch; rev 4
eMMC external clock 250 Mhz
#u/usb/ep1.0: dwcotg: port 0X0 irq 9
992M memory: 200M kernel data, 792M user, 3762M swap
cpu1: 1200MHz ARM Cortex-A53 r0p4
cpu2: 1200MHz ARM Cortex-A53 r0p4
cpu3: 1200MHz ARM Cortex-A53 r0p4
usb/hub... usb/ether...
etherusb smsc: b827ebXXXXXX
version...time...
init: starting /bin/rc
pi3#
The "almost" is because the latest GPU firmware now initialises the
ARM cores in HYP mode. This change seems to have been made in October,
and affects the pi2 as well. Getting from HYP to SVC mode at boot time
is no longer as simple as a MOVW into CPSR, and requires three new
instructions that 5a doesn't know about ...