Je 12 Dec 11:59 skribis Peter: > 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. > > > > [...] > > 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.
This is good to know, especially as I had been looking for extra memory for up to 4 GiB which I thought was the limit for 32-bit systems. I did not know until now that this is different for PowerPC or the specific macppc port. Please, correct me if I misinterpret. I suppose a true 64-bit OpenBSD version for the G5 could also perform better in general? > 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. From me you won't get technical feedback on this. I was only curious (from a user's perspective) and don't have the technical background to argue about these efforts. If I'd be saying anything, I'd encourage this effort! :-) > 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. :-) This makes sense to me. Marco