On Sat, Dec 12, 2020 at 11:06:33AM +0100, Marco van Hulten wrote: > Hello Peter, > > Je 11 Dec 17:24 skribis Peter: > > Now that POWER9 systems are pretty well supported, I'm setting away some > > time > > next year to backport powerpc64 to the Mac G5. Is there anyone already > > doing > > that? I already tried this once (based on the macppc sources) but failed. > > I'm not doing that. I am simply running OpenBSD/macppc on the iMac G5. > Graphics (X11 rendering) is a bit slow but acceptable to me after a bit > of tweaking [1]. > > What would be specific advantages if OpenBSD/powerpc64 (over macppc) > were backported to PowerPC 970?
For me it's using my G5 (970FX cpu) without 2 GB limitation. My machine has 4 GB of RAM but OpenBSD/macppc only supports max. 2 GB. Another thing is it interests me very much, as a personal achievement, to know how to port an OS to another platform. I've sat in the background with the riscv64 team and learned quite a bit on how they do that. I also attempted this before (alone) purchased some powerpc books, invested a lot of time, trying to do this port, which failed. I miss the exploring part. A lot of things are already done, in the powerpc64 port, I read a little for a bit how OpenBSD did the SLB implementation in pmap.c. I compared it a little with mine that I constructed from FreeBSD's in 2018 and there is a bit of difference but the functions are very similar. Compare: pmap_va2vsid() in pmap.c https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/arch/powerpc64/powerpc64/pmap.c?rev=1.54&content-type=text/plain with FreeBSD's or my port: va_to_vsid() in slb.c https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=powerpc64.git&action=blob&commit=ec46d233f79ed298dde271748a49523aea1522ca&file=slb.c&folder=%2Fpowerpc64 The similarities take me back to a time when I organised putting these functions into my slb.c back when. I forgot right now what SLB stands for exactly but it replaced the BAT functions from 32-bit PowerPC which had to do with memory management and caching. I'll look it up on monday when I am back home. Side Lookup Buffer popped into my head afterwards writing this mail. I noticed there may be room to speed these up on the powerpc64 arch as the virtual to physical mappings (PTE) are a LIST. I took my implementation from FreeBSD original implementation which used a TREE, which could make lookups faster if you pass it a virtual address to get a physical address. But I understand that it's easy to get this wrong so a LIST is likely better than a TREE for robustness. Also FreeBSD I believe put its SPLAY tree implementation into a radix tree or something if I remember correctly (I could be wrong here). In no way do I want to start arguing about this. I'm very much a student to Mark Kettenis's teachings (and BSD's teachings too). Granted having said this I invite corrections above. So having said a lot of "how" and not a lot of "why", another point is I want to make use of my hardware to the fullest, a POWER9 machine is expensive and I won't likely have one for another 2 or 3 years, by which time a POWER10 machine will likely exist, and I have time for one more hobby project outside of my job (within reason), starting in 2021. :-) Best Regards, -peter > Marco > > [1]: http://daemonforums.org/showthread.php?t=9971