Sur les forums de MacRumors, un membre essaye de modifier le microcode intégré dans l’EFI des Mac pour gérer plus de processeurs, avec une surprise à la clé.
Le microcode, en simplifiant, est le code nécessaire pour que l’EFI puisse reconnaître et faire démarrer un processeur. Le microcode va permettre d’afficher correctement le nom du processeur, mais aussi de gérer proprement ses fréquences. Si vous n’avez pas le microcode pour un processeur précis mais que l’EFI contient un microcode pour un processeur de la même gamme, ça devrait démarrer mais sans afficher le nom exact. De plus, dans certains cas, la fréquence ne sera pas la bonne. Si l’EFI ne contient pas de microcode adapté, ça ne démarre pas.
L’idée du hack consiste donc à ajouter manuellement le microcode d’une famille de processeur pour permettre d’installer un CPU non pris en charge au départ. Par exemple, l’iMac7,1
(mi 2007) utilise un processeur Core 2 Duo en 65 nm (Merom) et ne contient pas le microcode du Core 2 Duo en 45 nm (Penryn). Mais comme la carte mère (et le chipset) le supportent, il est possible de démarrer avec un Penryn, mais pas tous les modèles. En ajoutant le microcode nécessaire, il deviendrait possible de prendre en charge certains modèles avec quatre coeurs (et la bonne fréquence). De même, flasher un MacPro1,1
en MacPro2,1
ajoute le microcode pour les processeurs à quatre coeurs, qui ne fonctionnent pas par défaut.
En dehors dub côté bidouille, le côté intéressant est de lister les microcodes présents dans les EFI des Mac. On trouve du coup quelques surprises, comme le microcode d’un CPU Atom (première génération) dans l’EFI du MacBook Pro 13 pouces de 2009, ce qui implique que d’une façon ou d’une autre, Apple a tenté l’aventure des Netbook.
J’ai vérifié les microcodes de pas mal de machines, et je n’ai rien trouvé d’autres d’intéressant. Reste que la présence du microcode dans l’EFI montre qu’Apple a testé un Mac à base d’Atom d’une façon ou d’une autre. On trouvera peut-être un jour un prototype dans la nature.
Merci Pierre, personnellement je préfère des articles tels que celui-ci sur le Mac ou celui d’hier sur les périphériques Apple, plutôt que celui du dimanche portant sur un jeu de Pipin… mais je sais il en faut pour tous les goûts !
Les jeux Pippin, c’est ma marotte et le fait de m’imposer à le faire le dimanche, ça me permet de mettre des vidéos des jeux sur YouTube pour ça :D
Tu peux nous détailler la manip’ pour lire le contenu de l’EFI ?
Merci ;)
J’ai juste cherché les mises à jour de firmware d’Apple, les anciennes proposent un fichier .fd qui est visiblement juste une copie basique de la ROM. J’ai extrait avec Pacifist.
Sur les trucs plus récents, avec un .scap, c’est compressé/packagé et je ne sais pas dans quel fichier se trouve le microcode.
Une fois qu’on a une image de la ROM (soit le FD, soit un dump direct, genre avec un Bus Pirate), y a le programme intelmicrocodelist.exe (ça se trouve en deux clics) qui permet de donner la liste de ce que contient la ROM comme microcode.
Ensuite, faut chercher à quoi correspond un CPUID précis.
OK merci
c’est l’étape WinDaube « intelmicrocodelist.exe » qui me manquait (comme sur la capture écran en fait)