NetBSD and RISC OS running paralell

(at the same time).

I have been experimenting with running two systems at the same time on the RK3399 SoC.

It all begun when I figured out how to switch to the A72 cpu for RISC OS. When the switch was done, the A53 cpu just continued to execute code.

OK I thought why not give it something to do!

My first step was to run some small programs.

It worked!

The second thing was switching that cpu to aarch32 and launch RISC OS on that cpu.

It worked quite well, but I can't really see the meaning on running two RISC OSes.

I decided that NetBSD would be the ideal system to run.

Technical details:

As mentioned the system boots up at the same time.

Some units in the SoC needs to be shared, most important the GIC. With GIC I do config it in RISC OS and give affinity to NetBSD for some devices.

The console is based on simplefb, and stores its framebuffer at a fixed physical address. My RISC OS client polls that area and create a sprite (RISC OS native bitmap format) with that area as buffer.

The keyboard works with another shared area. When a key is pressed in RISC OS I look up the scancode and write that to the keyboard RAM area.

Things on todo list:

Mouse driver

Network driver.. access network from RISC OS .

. Boot NetBSD from within RISC OS

from within Copy / paste between the systems.

Some screenshots:

First out shows some great creative programs in RISC OS. Ovation Pro , a fantastic DTP program (comercial , available on !Store (Plingstor)) . The other program is Draw, a vector drawing app present in RISC OS ROM , and therefor can be run without disk.

The second one is a busy NetBSD session, from where modkeys first worked: