Hi, all. This is a bit of an atypical question; I'm looking for any and all information I can find about the PowerPC (PPC) G4: programming resources, tools, reference materials, etc.: as well as info specific to the Mac Mini: that I'm using; the chip is in a "mac mini", the MM was orignally configured as follows: 1.42 GHz PowerPC G4 processor, 256 MB RAM, and 80 GB hard drive. I've since replaced the 256Mb RAM w 1Gb. The machine has a Sun GEM 10/100/1000 e'net controller; apparently, some models had a 802.11 wlan NIC, this one does not. I "inherited" it from a friend who couldn't figure out how to use it and gave up on it in frustration.
I know the G4 supports Altivec; from what I've been able to ascertain, Altivec support is usually "got" by patching gcc. What I don't know - and I'm not sure how to find out - is whether or not the gcc I'm using has Altivec support. Or how to get it if it doesn't. Or how to employ the Altivec instructions should I manage to resolve the compiler issue. In other words, I'm quite lost. From what I've read, and been told, about the G4, I also believed it was SMP capable; if that's true, I would like to avail myself of the chip's capabilities in that regard as well, but am at an even greater loss than with Altivec support (more on that later).
I'm also looking for hardware reference material on the G4, Altivec, etc.; unfortunately, during Appple's switch-over to Intel hardware, a lot of the links to those materials seem to no longer work. I've found many references to, for example, www.altivec.org;
entering that URL into a browser unfortunately == a long pause and an empty page. A manual with the machine's instruction set, list of registers, hardware overview, etc. would be really, really nice. I thought I had found those items on IBMs site, but no such luck; I'll look again later. If, in the meantime, someone who knows where what I'm looking for, is, I would really appreciate it.
I use RedHat/Fedora almost exclusively; I have used other distros in the past, though, including Debian. And, I've built my own. So, I'm fairly Linux (&& *NIX in general) competent. My rationale for using Debian was that, from what I recalled, it's a solid distribution (read: I wouldn't have to try and debug my own for a new platform while trying to learn that platform) that required a whole lot more manual intervention - and provided a much finer degree of control over what got installed where, and how - than any other I've used to date (again, if, after reading this, you, the reader, feel I have my head up my, uh, nether regions, please let me know). At some point in the future, I'll probably at least try running Fedora on this machine; if anyone knows of any issues in that regard (with respect to Altivec && SMP, particularly), please let me know.
That having been said: currently, I'm running Debian GNU/Linux "etch"; I just installed it && haven't updated the kernel yet (I'm assuming the kernel that's in common use is 2.6.20; if I'm wrong, somebody please correct me):
$ uname --all
Linux g4mandm 2.6.18-4-powerpc #1 Mon Mar 26 09:11:14 CEST 2007 ppc GNU/Linux
I managed to install gcc using apt/aptitude; I installed the most recent version I could find using apt/aptitude's "search" feature. The compiler is reporting the following; from what I've read to date, I realize that simply because Altivec support isn't listed below, it doesn't mean the compiler doesn't have it:
$ gcc -v
Using built-in specs.
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --disable-softfloat --enable-targets=powerpc-linux,powerpc64-linux --with-cpu=default32 --enable-checking=release powerpc-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
I'm also concerned from what I've read that should I somehow manage to enable Altivec support for gcc, I'm gonna be screwed when kernel compile time rolls around. I thought I saw a way to disable Altivec support at compile-time, though I'm not certain of this; am I better off keeping two versions of gcc, as has been the case in the past (one to build the kernel, one for most everything else), or, can I safely build and use one (I'm still not completely clear on why Altivec instructions can't be used in the kernel; if someone could clear that up for me, I'd appreciate that, too).
Lastly, I was also under the impression that the G4 (eg., a single G4) was SMP capable; again, if I'm wrong, please correct me; if I'm not, can anyone steer me towards information on enabling SMP support for apps compiled with gcc (and address the kernel issue mentioned above)?
Thank you, everyone, for your time and efforts, and for even just reading this rather lengthy post; and, thank you in advance for the information, support, etc. I'm certain is forthcoming.