• [^] # Re: Relativisons

    Posté par . En réponse à la dépêche Portrait de Ken Thompson. Évalué à 0.

    En même temps... c'était le prix Turing. Donc pas vraiment le lieu pour la pratique!

    Pour le reste, quelque soit le domaine quasiment l'intégralité de ce qui est fait en bas niveau l'est désormais chez les fondeurs. Tout simplement car ils en ont besoin pour tester eux-mêmes (et des composants de plus en plus complexes) et que le logiciel libre (à travers de projets comme u-boot ou l'horreur EDKII, qui si Intel ne s'y était pas collé n'aurait jamais pu déployer un UEFI si inutilement complexe que de plus en plus de monde cherche à le remplacer...) offrait un cadre à mutualisation qui est aussi devenu un élément concurrentiel.

    Ajoutons que chez certains (Intel pour ne pas le nommer), cela permet aussi de bâcler les docs: On fournit le code, prenez le donc et foutez nous la paix. De toutes manières notre support est nul!

    Bref, vous achetez le dernier SoC de chez Cavium ou Freescale et le u-boot de la carte de référence sera donné, certes à adapter à votre matériel mais ça tourne et a un niveau ou le debug se fait à la bite et au couteau, mine de rien par rapport à il y a 20 ans ca compte. Surtout avec la complexité croissante des chips.

    Côté Intel, on refusera tout support bas niveau, ne fournissant même pas les firmwares non signés (sauf à se faire vraiment botter le cul) et vous enverra vers un fournisseur de BIOS qui, en fait, n'est plus qu'un intégrateur du EDK2 fourni par Intel, des reference code (RC) de la plateforme (en particulier le gros morceau du MRC chargé de l'init DDR, faite toute en soft chez Intel contrairement à d'autres ou c'est un paramétrage et un enable suite auquel le hardware se démerde pendant quelques dizaines de ms et roule) également fournis par Intel (c'est la version source du FSP, qui permet à coreboot d'exister, mais avec qq API manquantes pour un projet industriel, c'est conçu pour!)... auquel on ajoute quelques libs (crypto etc) sous licence MIT et les petits ajouts cosmétiques d'un AMI/Insyde/Poenix ainsi que l'IDE qui va avec. Tout ceci bien entendu traînant sa chaîne de compilation: Intel pour le pur Intel (RC), Microsoft pour EDK2 (même si GCC semble utilisable ici) et le code de l'éditeur, GNU pour les libs libres.

    Sur ce dernier point, proprement ahurissant de complexité inutile, on est sur EDK2 en implémentation de référence sur un nb de lignes de code comparable au kernel Linux. Pour un boot loader qui est loin derrière niveau fonctionnalités. Il faut dire qu'avec ses 3 phases (SEC/PEI/DXE) relativement étanches, pas mal de choses utiles aux trois doivent en réalité être codées en autant d'exemplaires.

    => La majorité du boulot en UEFI... c'est l'infra UEFI elle-même. Pas vraiment du bas niveau dont Intel se charge entièrement et fait tout pour que ça dure.

    Niveau GPU, je ne connais pas personnellement mais je ne pense pas que grand chose sorte de chez NVIDIA ou AMD.

    Il n'y a pas des dizaines de milliers de personnes, principalement chez un nombre de fondeurs principaux se comptant sur les doigts d'une main, sur ce qui tape vraiment bas.