Émulation de X86 sur l’émulateur AARCH64 X64 d’Apple

Émulation de X86 sur l’émulateur AARCH64 X64 d’Apple

2023-09-01 17:49:09

Tu pourrais savoir [Evan Martin] en tant que développeur de rétrowin32. Il s’agit d’un émulateur Windows et x86 conçu pour fonctionner sur Mac ou sur le Web. Il a récemment exploré comment exécuter des binaires x86 32 bits sur l’architecture AArch64 (alias ARM64).

[Evan] réalisé que les Mac basés sur ARM d’Apple disposent d’un émulateur x86 de haute qualité, utilisé via le système de traduction binaire Rosetta. Il ne prend en charge que les binaires x86-64 64 bits, également connus sous le nom de x64, et il l’avait donc initialement écarté pour l’exécution d’anciens logiciels x86 32 bits. Cependant, il s’avère que x64 propose un mode de compatibilité spécial pour exécuter du code 32 bits. [Evan] a pu en tirer parti pour exécuter des exécutables Windows 32 bits de manière plutôt ordonnée via l’émulateur Rosetta hautes performances.

Pour exécuter un exécutable 32 bits sur un processeur 64 bits de cette manière, on crée un programme 64 bits chargé de charger l’exécutable 32 bits. C’est un peu compliqué, impliquant quelques astuces pour gérer la gestion de la mémoire entre le code 32 bits et le wrapper 64 bits, et comment s’interfacer avec le système d’exploitation, mais [Evan] explique habilement comment tout cela se fait.

[Evan] note que ce hack pourrait ne pas fonctionner éternellement, surtout si Apple modifie ou abandonne l’émulation x86-64 restante de Rosetta à l’avenir. Quoi qu’il en soit, Apple « Boîte à outils de portage de jeux » s’appuie sur des techniques similaires utilisées par Vin. Si vous vous retrouvez à danser sur plusieurs plateformes, vous apprendrez peut-être quelques astuces astucieuses grâce à [Evan]L’exemple !



#Émulation #X86 #sur #lémulateur #AARCH64 #X64 #dApple
1693582410

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.