3 ms·
Great document for those with an interest in PowerPC assembly and still generally applicable to modern Power ISA. Some of these code sections appear in the TenF
by classichasclass 6y ago
Great document for those with an interest in PowerPC assembly and still generally applicable to modern Power ISA. Some of these code sections appear in the TenFourFox JIT to this day.
- unixhero 6y agoAmazing, that package is still being maintained!
- kalleboo 6y agoI just wish Classilla got some love... (purely selfish - I have no nostalgia for early OS X but classic MacOS was where all the fun was and that's what my PowerBook G3 boots in to)
- favorited 6y agoI just got a G4 Mac mini and I'm working on getting OS 9 running on it (not officially supported). It's been fun to tinker with so far. I need to set up stunnel or an Nginx proxy to deal with the lack of SSL support. That's up next I think.
- tambourine_man 6y agoHTTPS explosion was great and needed but ended most of the fun for classic machines.
- classichasclass 6y agoYes, I regret it as well, but even getting Classilla to TLS 1.1 would be a big deal, and 1.2 (let alone 1.3) would require a lot of rewriting. $DAYJOB is crazy at the moment, and keeping TenFourFox up with Mozilla's monthly release cadence is taking time away from me doing more Power ISA work on mainline Firefox for the Talos II I'm typing this on (let alone other fun projects I'd like to get to). Classilla just loses out because of the amount of work needed to fix it and the very small amount of cycles I have available.
- ndesaulniers 6y agoI just fixed an inline assembly bug in LLVM for PPC Linux kernel support: https://reviews.llvm.org/D81767 https://reviews.llvm.org/D81767 I tried to see if this doc had anything about calling conventions for 64b parameters on 32b ILP32, but alas...(at least a cursory skim of `A.1 Procedure Interfaces` came up empty). Another fun fact I learned about PPC assembly for that bug is that without `-mregnames`, it can be hard to distinguish between registers and constants in compiler generated PPC assembly. Official docs from IBM (https://developer.ibm.com/technologies/linux/articles/l-ppc/ https://developer.ibm.com/technologies/linux/articles/l-ppc/) say "Get used to it. :)" LOL
- classichasclass 6y agoWhat was your question on the parameters? Is this SysV or PowerOpen ABI?
- ndesaulniers 6y agoI've heard of OpenPower, but PowerOpen? I guess SysV since we're referring to Linux (though I'm not sure that the kernel strictly adheres to SysV).
- classichasclass 6y agoFor 32-bit PowerPC, PowerOpen is the ABI used in PPC Mac OS and OS X (largely, with a couple minor differences) and AIX. The System V ABI is pretty much everything else, but it's really a misnomer since the *BSDs on 32-bit PowerPC use SysV too. PowerOpen is still a thing for 64-bit, see https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-... As memory serves me, on 32-bit you would pass a 64-bit value in adjacent 32-bit registers in big-endian fashion.