Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes |
configurer:processeur [2022/12/23 13:12] – [Resultat] david | configurer:processeur [2024/02/25 10:27] – david |
---|
| |
Ceci s'adresse à ceux qui installent leur FreeBSD à partir des sources et peuvent ainsi donner à [[https://clang.llvm.org/|Clang/llvm]] des billes pour compiler au plus près de l'architecture processeur. | Ceci s'adresse à ceux qui installent leur FreeBSD à partir des sources et peuvent ainsi donner à [[https://clang.llvm.org/|Clang/llvm]] des billes pour compiler au plus près de l'architecture processeur. |
C'est surtout important lorsque vous utilisez des [[ports:poudriere]]s, donc lorsque vous compiler pour une cible différente de l'hôte. | C'est surtout important lorsque vous utilisez des [[ports:poudriere|poudrieres]], donc lorsque vous compiler pour une cible différente de l'hôte. |
| |
</jumbotron> | </jumbotron> |
</code> | </code> |
| |
Installez [[https://github.com/rilysh/cpuc|cpuc]] pour plus de précisions, ou ''llvm-tblgen''. | Installez [[https://codeberg.org/mystical/cpuc|cpuc]] pour plus de précisions, ou ''llvm-tblgen''. |
| |
Ici, c'est un modèle dit ''haswell'' d'après la [[https://www.intel.fr/content/www/fr/fr/products/sku/63697/intel-core-i73930k-processor-12m-cache-up-to-3-80-ghz/specifications.html|documentation]]. | Ici, c'est un modèle dit ''haswell'' d'après la [[https://www.intel.fr/content/www/fr/fr/products/sku/77490/intel-core-i34170-processor-3m-cache-3-70-ghz/specifications.html?wapkw=i3-4170|documentation]]. |
| |
==== Makefile ==== | ==== Makefile ==== |
| |
Consultez ''/usr/share/mk/bsd.cpu.mk'' pour déterminer le code de votre architecture processeur et précisez le ''CPUTYPE'' dans ''make.conf'' de vos poudrières par exemples. | Consultez ''/usr/share/mk/bsd.cpu.mk'' pour déterminer le code de votre architecture processeur et précisez le ''CPUTYPE'' dans ''make.conf'' de vos poudrières par exemples. |
| |
| <callout type="warning" icon="true"> |
| Pensez à conserver la syntaxe ''?='', sinon un ''make buildworld'' peut échouer. |
| </callout> |
| |
<code bash> | <code bash> |
| |
Puisque l'on est sur de l'architecture (''MACHINE_CPUARCH'') ''amd64''. | Puisque l'on est sur de l'architecture (''MACHINE_CPUARCH'') ''amd64''. |
==== Resultat ==== | |
| ==== Résultat ==== |
| |
<code bash> | <code bash> |
| |
''Popeye'' est donné comme ''i7-3930K'', soit un //Intel Core// (à ne pas confondre avec ''core2''). Il suffit de consulter la [[https://www.intel.fr/content/www/fr/fr/products/sku/63697/intel-core-i73930k-processor-12m-cache-up-to-3-80-ghz/specifications.html|datasheet]] pour y voir le modèle ''sandybridge''. | ''Popeye'' est donné comme ''i7-3930K'', soit un //Intel Core// (à ne pas confondre avec ''core2''). Il suffit de consulter la [[https://www.intel.fr/content/www/fr/fr/products/sku/63697/intel-core-i73930k-processor-12m-cache-up-to-3-80-ghz/specifications.html|datasheet]] pour y voir le modèle ''sandybridge''. |
| |
| ===== Micro-codes ===== |
| |
| Les architectures de type //x86// (Intel ou AMD) sont composés de couches successive dont un //micro-code// qui émule les fonctions les plus complexes. |
| Ce micro-code est souvent mis à jour dans le cadre de correctifs, notamment lors de la découverte de failles de sécurités. |
| |
| Installez le port [[https://www.freshports.org/sysutils/cpu-microcode|sysutils/cpu-microcode]] ou [[https://www.freshports.org/sysutils/cpu-microcode-rc|sysutils/cpu-microcode-rc]] pour mettre à jour automatiquement au démarrage ce code, au besoin. Notez qu'il existe des ports séparés selon le constructeur: |
| * [[https://www.freshports.org/sysutils/cpu-microcode-intel|sysutils/cpu-microcode-intel]] |
| * [[https://www.freshports.org/sysutils/cpu-microcode-amd|sysutils/cpu-microcode-amd]] |
| |
| Le port ''-rc'' ne permet une mise à jour qu'à la fin du processus de démarrage. C'est un service qui se règle dans ''/etc/rc.conf'': |
| <file ini /etc/rc.conf> |
| microcode_update_enable="YES" |
| </file> |
| |
| Lancez le: |
| <code bash> |
| service microcode_update onestart |
| </code> |
| |
| Le premier port permet aussi une mise à jour dès le début du processus de démarrage et se règle dans le ''/boot/loader.conf'': |
| |
| <file ini /boot/loader.conf> |
| cpu_microcode_load="YES" |
| cpu_microcode_name="/boot/firmware/intel-ucode.bin" |
| # cpu_microcode_name="/boot/firmware/amd-ucode.bin" |
| </file> |
| |
| Lancez une mise jour sans redémarrer: |
| <code bash> |
| service microcode_update onestart |
| </code> |
| |
| |
| |
| |
| |
| |
| |