Post AQaO2hRkOolIZ5mXCa by jhamby@chaos.social
(DIR) More posts by jhamby@chaos.social
(DIR) Post #AQaO2hRkOolIZ5mXCa by jhamby@chaos.social
2022-11-17T03:21:00Z
0 likes, 0 repeats
After Clang 14.0.6 finishes building on the 1.4 GHz Mac mini G4, I'm going to run the #NetBSD test suite, as I mentioned last night, and figure out the best way to upload and share NetBSD-current install files and the packages I've built so far, all with "-mcpu=7450" for G4+ optimization. They'll run on original G4 as well, although not G3, or any PowerPC that's missing AltiVec.My plan is to use EEMBC CoreMark-PRO (https://github.com/eembc/coremark-pro) as a simple CPU+compiler benchmark. #retrocomputing
(DIR) Post #AQaO2i4k3pxCW21fyy by jhamby@chaos.social
2022-11-17T03:44:51Z
0 likes, 0 repeats
I'm planning to record a streaming video series, once I can acquire a proper ring light, camera, and microphone, and I finish the experiments that I want to show others how to build.My overarching thesis is about the cornucopia of processors that some might consider e-waste, because they're no longer supported by Microsoft, Apple, Alphabet, Samsung, etc., but which may (or may not!) be suited for different tasks, and are definitely fun to learn about computers with.
(DIR) Post #AQaO2idTyfk8FmHQ8G by jhamby@chaos.social
2022-11-17T03:59:25Z
0 likes, 0 repeats
There's a shared dream that many of us who grew up on much simpler computers share, of finding ways to strip down the complexity of modern computers so it's possible to fully understand them in the way the old 8-bit computers are.I find #NetBSD to be a perfect teaching and learning OS because it runs on the most platforms and has the least drama and complexity of the bunch. It has to move slowly because they don't want to drop any architectures unless it's beyond salvaging (e.g. acorn26).
(DIR) Post #AQaO2j5UIY91edNmme by crt0_S@mastodon.social
2022-11-17T07:26:21Z
1 likes, 0 repeats
@jhamby I had a small datacentre in the early 00s consisting of cast-off workstations and servers all running #NetBSD hosting my modest domain... #MIPS, #Alpha, #SPARC, #UltraSPARC, a few #VAX en (which unfortunately didn't work well enough to host anything) and various x86 vendors.x86 pays my bills, but I miss #Alpha a lot based on ex-DEC employees I've had the privilege of working with, and what they were able to pull off given the level of corporate dysfunction which eventually killed it.
(DIR) Post #AQaO2k2KllDSb8umVU by jhamby@chaos.social
2022-11-17T04:10:55Z
0 likes, 0 repeats
I've been interested in OS design since I was a little kid, and I daydreamed about building strange things like a Commodore 64 OS. Many have had that dream, and the most recent C64 OS is quite cool: https://c64os.com/One downside of the C64 is that 6502 assembly language is so low-level that it can be difficult to pay attention to a meaningfully-sized program, unless practically every line is commented.
(DIR) Post #AQaO2lg4fUbBggW25Y by jhamby@chaos.social
2022-11-17T04:13:50Z
0 likes, 0 repeats
Another thing I realized about #retrodev is that some of the most iconic UNIX systems from the 1990s seem like they'd be fun to collect, but unfortunately they lack the horsepower to be truly "self-hosting" in the sense of being able to compile the OS itself, compilers, apps, games, emulators, etc. all on the machine itself, without the use of a more powerful machine (except perhaps as an ssh client).Even the 500 MHz Sun Blade 100 I own is not really up to the task, much less any older SPARCs.
(DIR) Post #AQaO2n9XBRl4GLJ4e8 by jhamby@chaos.social
2022-11-17T04:16:49Z
0 likes, 0 repeats
I own a Raspberry Pi 2+ (the 64-bit version), 3, and 400, so I can install a 64-bit NetBSD on the older two and see how they score on CoreMark-Pro (the 400 is hosting my website so I'll benchmark it with the 64-bit Ubuntu 22.04 that's currently running).I believe the 2005 1.4 GHz Mac mini G4 will score somewhere between the 2 and the 3, although it'll be interesting to see how much having 4 cores speeds up the benchmark, since the SoCs in the Pi series seem to have such slow memory bandwidth.
(DIR) Post #AQaO2oelaoKqvUvWy0 by jhamby@chaos.social
2022-11-17T04:20:56Z
0 likes, 0 repeats
CoreMark-Pro is also a simple way for me to see how much "-O3" is faster than "-O2" and whether Clang has become better than GCC on G4 or not (at least for Clang 14.0.6 vs. GCC 10.4.0, NetBSD's system gcc). I also want to add "-mno-altivec" to verify that both compilers are using the AltiVec registers and instructions, which should be particularly helpful for video codecs, Internet encryption, and the usual things SIMD is good at. https://en.wikipedia.org/wiki/Single_instruction,_multiple_data
(DIR) Post #AQaO2qLLJzzE9pr2y8 by jhamby@chaos.social
2022-11-17T04:24:11Z
0 likes, 0 repeats
On my #Itanium blade server (rx2620), I'm going to try CoreMark-Pro tomorrow from Gentoo Linux (where GCC's "-O3" will probably crash with an internal error like it did almost immediately when I tried to build packages with it) and then boot into #OpenVMS to see just how much better the Intel-supplied code generator is.On Itanium VMS, the C++ compiler tends to generate better code than the C compiler, counterintuitively, because HP decided to use Intel's EDG (https://en.wikipedia.org/wiki/Edison_Design_Group) frontend.
(DIR) Post #AQaO2s8IfSk3hxleuu by jhamby@chaos.social
2022-11-17T04:27:17Z
0 likes, 0 repeats
So when you build a C++ program on OpenVMS/ia64, you get Intel's Itanium frontend and backend, but the C compiler has the DEC/HP frontend and Itanium code generator. The x86-64 port that's just been released (there'll be a hobbyist version as soon as they've finished porting the native compilers) is using Clang as the C/C++ frontend and LLVM as the code generator, with a GEM->IR translator for the DEC/HP compiler frontends that emit GEM intermediate code. Tech talk here: https://youtu.be/AD25V21zsak
(DIR) Post #AQaO2tfewv1KTiNoYK by jhamby@chaos.social
2022-11-17T04:37:44Z
0 likes, 0 repeats
The Itanium is a strange CPU that made sense for OpenVMS to run on 15-20 years ago because it's designed for server applications. Intel didn't really think 64-bit CPUs were going to be mainstream and they were initially dismissive of the AMD64 extension to x86, which first shipped in April 2003. https://en.wikipedia.org/wiki/X86-64Just a few years later, Intel had to admit defeat (as far as making Itanium an "industry-standard" CPU, as they'd originally hoped it'd be) and licensed AMD64 for their own CPUs.
(DIR) Post #AQaO2vGZ1C8PQSeniK by jhamby@chaos.social
2022-11-17T04:41:11Z
0 likes, 0 repeats
The third mid-aughts system I own for testing and self-hosting purposes is a mid-2006 PowerMac G5 Quad 2.5 GHz, one of the last to roll off the assembly line, presumably. It has PCIe, 16GB ECC RAM, and I've tried Gentoo Linux, Void Linux, FreeBSD/ppc64, and I'm going to install NetBSD/macppc on a separate drive for testing purposes, as well as FreeBSD.Sadly, it's next to impossible to get FreeBSD, NetBSD, and/or Linux to coexist on the same drive. The BSDs especially will confuse each other.
(DIR) Post #AQaO2wnZJy86B76fnU by jhamby@chaos.social
2022-11-17T04:46:25Z
0 likes, 0 repeats
I nearly forgot to mention that Linux on #PowerPC has a particularly good implementation of KVM that doesn't require the CPU to have a hypervisor. If you do have a newer POWER CPU, there's "KVM-HV", but if not, there's "KVM-PS" (for "problem state", which is IBM jargon for "user mode"), which runs the guest OS as a regular process and emulates the MMU and hardware from the KVM kernel driver.The last time I tried, though, FreeBSD/ppc64 crashed at boot when I tried to run it in QEMU/KVM.
(DIR) Post #AQaO2yJVghH2sT3hDs by jhamby@chaos.social
2022-11-17T04:52:36Z
0 likes, 0 repeats
The #OpenVMS project that I have in mind with the NetBSD source code will be to port the bare minimum of /bin, /usr/bin, /sbin, and /usr/sbin programs to install into the POSIX root directory in place of the old ports of GNU utilities, as a way to start clean and be able to use the pkgsrc packages.I started by trying to upgrade the GNV (GNU's Not VMS) ports of bash and coreutils, but both packages are quite large, and NetBSD's /bin/sh should be much faster and easier to modify to use vfork.