IRC channel logs

2021-01-19.log

back to list of logs

<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
<Zambyte>psydruid: I got the first book on this page: https://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/books.html
<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
<Zambyte>True :D
<wleslie>you've seen this? https://www.gnu.org/software/hurd/gnumach-doc/index.html#Top
<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