Closed bSchnepp closed 3 years ago
c10911c6ef059ba16ab178b51b0029d0de58009c gets things working, but now we have some serious locking issues with SERIAL_LOG on multiple cores. We need a mutex here to ensure consistent output
Cores appear to be set up and working right with 96ce19e6a613c60596f0a58e528dc739968a453c
One of the primary tasks that needs to be done is to get the other cores to boot. Naturally, it's rather unlikely to find an application-class aarch64 SoC/SoM out that that's still a uniprocessor in 2021, so at least SMP support is nice, and we can worry about asymmetric multiprocessing later with all the combined power saving performance core things that exist out there.
Something to do right this time, unlike in Feral, is to bulldoze straight to running a process, and worry about architectural correctness later (memory mapping and process isolation and all that stuff.) later. We can even go so far as to share kernel and userspace page tables for now. This was a mistake in the way Feral was built, focusing way too much on correctness the first time, and led to some incoherent architectural nonsense that still hasn't been entirely resolved 3 years later. Let's do that right this time.