Ouvrir le menu principal

MacGeneration

Recherche

Certaines fonctions des Apple M1 et M2 marchent sous Linux… et pas sous macOS

Pierre Dandumont

vendredi 10 février 2023 à 14:30 • 17

Mac

C'est le développeur Hector Martin qui le pointe sur Mastodon : les puces M1 et M2 contiennent des fonctions qu'Asahi Linux peut utiliser… et que macOS ne supporte pas, ce qui peut sembler étonnant.

Des fonctions liées à la virtualisation

Le premier point dans sa liste est le « Virtual GIC Interrupt Controller », présent dès les puces M1 mais inutilisé. GIC signifie Generic Interrupt Controller et c'est une fonction liée à la virtualisation dans les CPU ARM. Très schématiquement, une interruption est un signal émis par le matériel qui va autoriser l'arrêt du programme en cours pour exécuter une tâche importante. Le vGIC permet de transférer les interruptions directement vers la machine virtuelle pour de meilleures performances, mais les API d'Apple n'en profitent pas et passent par un traitement logiciel, plus long. Hector donne probablement une des raisons dans les réponses à son thread : la fonction a des bugs, qui sont pris en compte par GNU/Linux.

Le logo d'Asahi Linux.

Le second point est la Nested Virtualization, virtualisation imbriquée en français. Elle a été ajoutée dans les puces M2 et — comme son nom l'indique — elle autorise l'exécution d'une machine virtuelle dans une machine virtuelle. Elle a peu d'intérêt pour un usage grand public, mais est attractive dans le monde professionnel.

Le troisième point n'est pas lié à la virtualisation, mais à une faille connue : Spectre v2. Les puces M2 contiennent en effet un mécanisme pour éviter les attaques reliées à la Branch Target Injection (BTI). Essayons de faire simple, même si ça ne l'est pas : les processeurs modernes sont dits « OoO », c'est-à-dire Out-of-Order. De façon très basique, ils n'exécutent pas les instructions dans l'ordre d'arrivée, mais tentent de les placer dans le meilleur ordre possible et (surtout) s'efforcent de prédire les instructions suivantes pour améliorer le rendement.

Apple a oublié de mentionner certaines fonctions.

Cette prédiction de branchement est efficace dans une grande partie des cas : le processeur prédit les bonnes instructions et peut les exécuter rapidement. Mais sans entrer dans les détails, certaines des prédictions ratées permettent à un programme malicieux de lire des données qui ne lui sont pas destinées en utilisant des défauts de ce mécanisme et les failles Spectre se basent sur ce point.

Avec les M2, Apple a intégré une correction matérielle qui empêche l'exploitation de ce type de faille, mais le noyau de macOS n'en profite pas encore, contrairement à Fedora Asahi. Hector Martin pointe aussi le fait que le moteur JavaScriptCore d'Apple ne gère pas la fonction, alors même qu'il s'agit d'un type d'application extrêmement sensible à ce type de problèmes. Hector explique d'ailleurs que l'utilisation du BTI avec JavaScriptCore pose des soucis avec Fedora Asahi précisément à cause de l'absence de prise en charge.

Apple garde parfois certaines fonctions pour plus tard

Les exemples donnés sont intéressants, parce qu'ils sont variés. Dans le premier cas, l'absence est vraisemblablement liée aux bugs de la fonction1. Pour le troisième, le développement des puces et ceux des logiciels qui pourraient en profiter ne sont pas nécessairement synchronisés.

Dans la pratique, les développements liés au matériel n'ont pas les mêmes contraintes que ceux attachés aux OS et les calendriers des sorties matérielles ne sont pas les mêmes que ceux des sorties logicielles. Nous pouvons supposer que la virtualisation imbriquée sera peut-être mise en avant avec le futur Mac Pro ARM. Accessoirement, certaines fonctions liées à la virtualisation font probablement partie du jeu d'instruction lui-même, ce qui oblige Apple à les gérer pour des raisons contractuelles.

Enfin, il faut rappeler qu'Apple a parfois tendance à garder des fonctionnalités en réserve pour le futur. L'exemple le plus récent est celui du HomePod mini : le capteur de température et d'humidité existe depuis le lancement (2020) mais n'a été activé que cette année.

Le HomePod mini mesure l

Le HomePod mini mesure l'humidité et la température avec la version 16.3 de son logiciel


  1. Les CPU peuvent avoir des bugs, qui sont soit corrigés logiciellement avec ce qu'on appelle du microcode, soit avec une nouvelle révision de la puce.  ↩︎

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

Un anniversaire très chargé, la bascule à l’OLED et Gemini sous le capot : la semaine Apple

20:30

• 5


Le MacBook Air M1 tombe à moins de 430 € avec le code HALLOWEEN40

12:37

• 0


Elon Musk annonce une démonstration d’ici la fin de l’année du Tesla Roadster... volant ?

11:00

• 137


Les promos Apple s’emballent : iPhone et iPad (Pro) et Apple Watch Ultra 2 à prix cassés

09:03

• 36


Fin de Windows 10 : notre nouvelle série sur le Club iGen pour surmonter cette épreuve

08:05

• 25


Fin de Windows 10 : une transition vers Windows 11 qui vire au fiasco

08:00

• 27


Tests, série, analyses… Les articles du Club iGen publiés en octobre

01/11/2025 à 15:00

• 4


Sortie de veille : comment Apple bat de nouveaux records financiers

01/11/2025 à 08:00

• 19


Sam Altman, frustré, annule sa commande de Tesla Roadster et se prend un mur

31/10/2025 à 21:00

• 140


Votre iPhone 18 Pro, vous le prendrez plutôt café, violet ou bordeaux ?

31/10/2025 à 17:13

• 57


Cette extension pour Chrome reprend une idée populaire d’Arc pour changer d’onglet

31/10/2025 à 15:20

• 7


Le gouvernement américain voudrait bannir TP-Link pour des raisons de sécurité nationale

31/10/2025 à 11:30

• 27


Le Black Friday a déjà commencé chez Boulanger, qui autorise les retours jusqu’au 31 janvier

31/10/2025 à 10:31

• 5


Attention aux tentatives d'arnaques en lien avec les données volées à Bouygues Telecom

31/10/2025 à 10:19

• 38


iOS 26.1, nouveau matériel : que nous réserve le mois de novembre d’Apple ?

31/10/2025 à 10:01

• 33


Bon plan : le MacBook Air M4 avec 24 Go de RAM et SSD 512 Go à 1 347 €

31/10/2025 à 08:44

• 12