Bochs
Bochs est un émulateur IA-32 (x86) open source écrit en C++, conçu pour reproduire fidèlement un PC compatible IBM (de l’i386 aux architectures récentes comme l’x86-64). Il prend en charge l’émulation complète du processeur, des périphériques courants (IDE, réseau, VGA, etc.) et d’un BIOS personnalisé, permettant d’exécuter des systèmes d’exploitation comme DOS, Windows (jusqu’à XP) ou Linux dans une fenêtre graphique.
Sur macOS, son utilisation est possible via une compilation native ou via des outils comme QEMU (pour Apple Silicon), mais nécessite une configuration avancée (fichiers de configuration .cfg, gestion des périphériques). Bien que puissant et modulaire, Bochs demande plus de compétences techniques qu’un émulateur comme QEMU ou VirtualBox, notamment pour optimiser les performances ou résoudre des incompatibilités matérielles. Sa documentation technique, bien que détaillée, reste moins accessible aux débutants.
Dernière mise à jour :
Plateformes
Architecture
Mac OS X - macOS
Apple Silicon
64 bits
SDL Library
Téléchargement et liens
- Site officiel
- Code source
-
brew install bochs
Historique des versions
v3.1
-
Nouveautés majeures :
- Ajout de l'émulation des extensions d'instructions FRED, USER_MSR, MOVRS et AMX-FP8, ainsi que du mode MS-DOS Compatibility pour gérer les exceptions FPU x87 (avec gestion des broches
FERR#etIGNNE#via le pluginextfpuirq, désormais chargé par défaut si une FPU est présente). - Intégration de la définition du processeur Wildcat Lake (CPUDB) incluant les fonctionnalités FRED, WRMSRNS et MSRLIST.
- Augmentation de la mémoire hôte supportée (passant de 2048 MB à 8192 MB).
- Support UEFI/OVMF via le périphérique
fw_cfgcompatible QEMU, permettant le boot de systèmes d'exploitation modernes (Windows Server 2025, distributions Linux récentes) avec firmware UEFI.
- Ajout de l'émulation des extensions d'instructions FRED, USER_MSR, MOVRS et AMX-FP8, ainsi que du mode MS-DOS Compatibility pour gérer les exceptions FPU x87 (avec gestion des broches
-
Corrections critiques :
- Correction de bugs majeurs dans l'émulation CPU (notamment pour XSAVEC/XSAVES, PKeys, AVX BMI1/BMI2, AVX512, AMX, UINTR, CET et SVM).
- Fixes étendus dans le code des périphériques (PCI, VGA, Voodoo, disques durs, disquettes, USB) et amélioration de l'initialisation AGP dans le chipset i440BX.
- Correction des BIOS pour l'initialisation PCI/AGP et les tables ACPI.
- Ajout du support des images de disque VHDX.
- Mise à jour de SeaBIOS (version 1.16.0) et de VGABIOS (version 0.9d, sous licence LGPL).
Changelog complet
v3.0
-
Intégration systématique du débogueur interne : le débogueur interne et le débogueur GUI sont désormais compilés par défaut dans toutes les versions binaires de sortie, sans besoin de versions spéciales dédiées.
-
Corrections critiques d'émulation CPU :
- Bugs corrigés pour VMX, WAITPKG, LASS, XSAVEC/XSAVES, CPUID et implémentation SHA1.
- Prise en charge des instructions manquantes AMD 3DNow! et des extensions AVX512_FP16 (activées pour Xeon Sapphire Rapids), ainsi que des extensions AVX10_1/AVX10_2 et AMX-TF32/AMX-AVX512.
-
Nouveaux modèles CPU et gestion avancée de CPUID :
- Ajout des définitions pour i386, i486DX4, AMD Athlon XP et Intel Core i5 Arrow Lake.
- Possibilité d'activer/désactiver des fonctionnalités CPUID via
add_features/exclude_features(documentation mise à jour). - Dépassement du modèle
bx_generic: obsolète, remplacé par des modèles préconfigurés.
-
Améliorations matérielles et périphériques :
- Corrections et optimisations pour l'émulation Cirrus/Voodoo et USB (débogueur USB pour xHCI/UHCI, option de boot USB avec le BIOS
i440fx.bin). - Mise à jour de VGABIOS (licencié sous LGPL, version 0.9c) et ajout du BIOS i440fx.bin (contribution externe).
- Corrections et optimisations pour l'émulation Cirrus/Voodoo et USB (débogueur USB pour xHCI/UHCI, option de boot USB avec le BIOS
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v2.8
-
Améliorations majeures pour la virtualisation CPU et prise en charge des instructions modernes :
- Correction critique de bugs dans l'émulation CPU (instructions SHA/GFNI, ADOX, XRSTOR/XRSTORS) bloquant le démarrage de Windows 10.
- Implémentation complète des extensions VMX/SVM pour Windows 11 (MBE, Shadow Stack, MSR IA32_SPEC_CTRL, Posted-Interrupt Processing, LASS, 57-bit Linear Address, 5 niveaux de pagination, UINTR).
- Support des extensions Intel AMX (AMX, AMX_INT8, AMX_BF16, AMX_FP16, AMX_COMPLEX) et de nouvelles instructions (MOVDIRI/MOVDIR64B, AVX512 BF16, VNNI-INT8/INT16, SM3/SM4, SHA512, etc.).
- Ajout du profil Xeon Sapphire Rapids dans CPUID.
-
Corrections matérielles et périphériques :
- USB : conformité 2.0 généralisée (sauf pour le hub) et support expérimental de UASP (USB Attached SCSI Protocol).
- Expansion de la résolution maximale pour les cartes graphiques Banshee/Voodoo 3 (jusqu’à 1920×1440).
- Améliorations des émulations disque dur (VHD) et disquette, ainsi que corrections dans l’émulation VGA.
-
Debugger et outils internes :
- Renforcement du support 64-bit dans le debugger interne et ajout de commandes avancées (
setpmem,loadmem,deref, etc.). - Mises à jour des exemples d’instrumentation pour le nouveau désassembleur (version 2.7).
- Renforcement du support 64-bit dans le debugger interne et ajout de commandes avancées (
Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.