<psydruid>Has anyone ever looked into porting GNU Mach to other architectures such as 64-bit ARM or PPC? ***Server sets mode: +nt
<Zambyte>psydruid: I'm interested in porting it to RISC-V but I have no idea what I'm doing :D <wleslie>wc -l gnumach/i386/**/* -> 33293 total <wleslie>it's not infeasible, but it's not trivial either ***rekado_ is now known as rekado
<psydruid>Zambyte, I learned RISC-V, ARM and POWEr assembly these past 6 months and have had a brief look at the GNU Mach sources, but I feel I lack documentation on its design and implementation <psydruid>I could even port x86_64 assembly to each of these, but then I still wouldn't know how to put everything together :D <Zambyte>psydruid: I got a book on Mach called "Programming under Mach". It isn't specifically about GNU Mach, but I got it with hopes that it would shed some light on the design of Mach <psydruid>Zambyte, that's what I need, because there isn't any proper documentation for it <psydruid>Zambyte, maybe we should just start reading and hacking on the code and hope that others with more knowledge join in <psydruid>I cloned the repository and created a branch for aarch64 a few months ago, but then I realised I didn't even understand what everything meant <jrtc27>you might find it useful to learn about how the BSDs are structured <jrtc27>the history is complicated but the end result is that there's a lot of similarity between GNU Mach and the BSDs in the names and how they're structured <jrtc27>the BSDs use the Mach VM and so the architecture-specific memory management interface (pmap_*) is shared, although likely diverged <psydruid>that's useful information, so I guess I will do that first over the next few months <Zambyte>Would studying the source of BSDs be a bad idea because the differences in licenses? Or should it be fine to study permissive code when writing copyleft code? <psydruid>I don't think there is any problem studying BSD-licensed code and as far as I know Mach itself was originally BSD-licensed <wleslie>it has quite a bit more detail about what and why; conversely using mach from the hurd is mostly a matter of using mig, unless you're writing a device driver