Linuxové jádro škrtá podporu CHRP
Když v říjnu 1991 Apple, IBM a Motorola založily PowerPC alianci, známou spíše dle iniciál společností jako AIM aliance, jejich společným cílem bylo nejen vytvořit procesor, který by mohly používat ve svých produktech, ale také dohodnout se na standardizaci celé platformy, aby bylo možné na počítačích různých výrobců provozovat stejné operační systémy. Tedy přesně to, co bylo v té době už takřka deset let známo ve světě IBM PC a kompatibilních strojů, nicméně neznámé kdekoliv jinde, kde si každý výrobce hrál na svém písečku.
Prvním naplněním této snahy byla specifikace PowerPC Reference Platform (PReP), vydaná v roce 1994. Ta předpokládala, že platforma bude otevřená, tedy že počítače na ní založené bude moct vyrábět kdokoliv, systémy pro ni psát také kdokoliv, půjdou v ní používat komponenty a periferie určené pro PC. Z počátku dokonce ani nevynucovala stejný firmware, povinnost bootovat prostřednictvím OpenFirmware měla přijít až takřka rok po publikaci PReP, aby ti výrobci, kteří už v mezičase nějaký hardware na trh dodali, měli čas na přechod a taktéž dostupné systémy - AIX, Solaris a Windows NT - se měly postupně přizpůsobit.
Apple hned po vydání specifikace taktně vycouval, jeho první PowerPC stroje vůbec OpenFirmware neměly a s podporou komponent z PC, natožpak s osazováním rozhraní z PC světa se obtěžovat nechtěl.
Rok po PReP proto přišla specifikace nová - Common Hardware Reference Platform (CHRP). Do té již Apple od počátku hovořil o něco více a minimálně v jisté době to vypadalo, že ji hodlá i implementovat. OpenFirmware se stal základním požadavkem a společně s ním přibyly na úrovni firmware Run-Time Abstraction Services (RTAS) a hardware abstraction layers (HAL). Tyto tři vrstvy měly zajistit, že operační systém běžící na CHRP-kompatibilním počítači nebude muset vůbec řešit hardware, firmware mu poskytne standardizované rozhraní, které sice bude pomalejší než nativní přístup, ale všude stejné.
Apple, který na tom na začátku druhé poloviny 90. let nebyl úplně dobře začal CHRP postupně implementovat ve snaze vyrobit poněkud standardnější počítač a umožnit vyrábět klony PowerMacintoshe i dalším výrobcům. Na začátku to šlo poměrně ztuha - OpenFirmware měly zabugovaný a přístupný jen po sériovém portu, systém ve verzi 7.x byl stále plně závislý na Macintosh Toolboxu v ROM počítače, přesto se klonování rozjelo a některé klony byly dokonce lepší než originál.
Zdroj: Shutterstock
Paradoxem doby tak zůstane, že ve chvíli, kdy Apple vyrobil opravdu takřka plnohodnotný CHRP stroj a jeho systém se naučil podporovat CHRP hardware, jednalo se o iMac G3 / PowerMac G3 a Mac OS 8 pod taktovkou Steva Jobse, jehož stěžejním krokem po návratu do vedení cupertinské společnosti byl okamžitý zákaz výroby klonů a stažení všeho zpět do Apple. I CHRP standard tak nakonec skončil bez většího tržního úspěchu a IBM samo ho pro své budoucí počítače vyměnilo za PAPR - Power Architecture Platform Reference a následně za LoPAPR - Linux on PAPR.
A pokud byste se snad divili, proč podpora takto relativně neúspěšného hardwarového standardu v linuxovém jádře přežila až do dnešních dnů, tak jedním z důvodů jsou microATX desky Pegasos a Pegasos 2, vytvořené ve spolupráci americké Genesi USA Inc. a německého bplan GmbH na počátku nového milénia. Tyto desky byly postupně osazeny procesory PowerPC G3 a G4 a kromě dvou operačních systémů kompatibilních s Amigou - tedy MorphOS a Amiga OS 4.x - na nich bylo možné provozovat i Linux, NetBSD, OpenBSD, OpenSolaris, QNX a Symobi. V době, kdy na tom už nikomu moc nezáleželo, se tak ukázalo, že původní myšlenka nebyla špatná - bylo možné vyvinout platformu, která se od běžného PC bude lišit vlastně jen procesorem a firmwarem, a bude podporovat širokou paletu systémů.
Počínaje příští verzí Linuxu tedy z této palety jeden ubude a dost možná si toho nikdo nevšimne - jak moderní 64bitové stroje s Power9 či Power10, tak staré PowerPC Macy s procesory G3, G4 a G5 touto změnou dotčené nejsou, protože se v Linuxu v CHRP režimu nepoužívají.