We switched back from AtomVM to Linux bring-up and double-checked that userspace hello was already captured in the P62/P64/P66 Linux logs. So P79 is not “first userspace”; it is the missing input side of the existing HVC console.
The implementation is narrow:
- top-level host input pins;
- a 16-entry MMIO FIFO at
0x10001008/0x1000100c; SBI_CONSOLE_GETCHARreads that FIFO instead of always returning-1;- a project-local Verilator harness reads bytes from a host FIFO;
- a tiny no-libc
/initloops onread(0, ...).
The first smoke passed. Linux booted to /init, accepted scripted
help, status, hello, and exit commands, then hit the expected
PID 1 exit panic. The harness reported:
[harness] input bytes read=23 delivered=23 queued=0
One boring snag: /tmp/gen_init_cpio was gone. The P79 userspace
Makefile now builds the kernel tree’s usr/gen_init_cpio helper
directly when needed.
BusyBox is the obvious next Linux project, but it should come after this transport proof. Now that fd 0 works, BusyBox becomes rootfs and kernel-config work instead of console debugging.