Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Wowfunhappy

macrumors 68020
Original poster
Mar 12, 2019
2,031
2,212
This comes from Marcan, who is preparing to begin work on an M1 Linux port in 2021. I'll confess I don't totally understand what it means—and I hope the thread title I chose is accurate—but it sounds like Apple may have included a very small easter egg in their new processors. Or maybe they're just following a naming convention they have experience with from the PPC days, I can't tell!


Modern CPUs always have a pile of registers to enable/disable features or configure things. These are often used to tweak low-level platform parameters or to hold "chicken bits", bits to "chicken out" and turn off a feature if it turns out to be buggy in silicon. It is extremely expensive to spin off a new chip with the feature fixed or disabled, so chip designers will always put in overrides that can be used in software to make stuff run without needing a new silicon revision. These registers are specific to a given CPU design, so they are not standardized, and OSes are not expected to use them except in platform-specific code.

Apple has a bunch of these in their custom CPU cores, and you can see some of them here. Notice the names? ARM64_REG_HID0 and up. HID0 stands for Hardware Implementation-Dependent Register 0, a naming convention that comes straight out of... PowerPC.

People who were around in the GameCube/Wii homebrew era might recognize good old HID0, HID4, and friends. These are fully documented in the datasheet for the Wii's CPU, the PPC 750CL (page 60 onwards). Apple marketed (almost identical) variants of this CPU as the G3. Fun fact, you can enable Nintendo's Paired Singles SIMD extension (developed for the GameCube's "Gekko") on some G3 Macs if you flip the secret HID bits that weren't documented for those models!

Other PowerPC cores also have HID registers, such as the POWER9 (page 89), or the Cell Broadband Engine (page 317, used in the PS3), or the PPC 970FX a.k.a G5 used in other Macs (page 46). Of course, the bit definitions have nothing to do with the Apple Silicon registers, but it's nice to see Apple's silicon design team giving a shout-out to their PowerPC past!
 
yeah its pretty neat to see, although its not an easter egg, those registers are there for a reason etc

in fact if you dig into it, a lot of the low level firmware of an Apple ARM device is quite clearly descendent from Apple's work on PPC and OpenFirmware

look at the device tree of an Apple ARM device for example


and then do a dev / ls in OpenFirmware on a PPC mac :)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.