LinuxPedia

Wiki libre et indépendant dédié à GNU-Linux et BSD.

Outils pour utilisateurs

Outils du site


materiel:acpi_apic_et_lapic

ACPI, APIC et LAPIC

Auteur : sven
Date : 7 juillet 2005


Pour répondre à une question qui revient souvent :

Les anciens PC géraient seulement 16 IRQ (demandes d'intérruptions) au moyen d'un chipset appelé PIC. Depuis quelque temps les chipsets intègrent aussi, en plus du PIC standard, un APIC (“Advanced Programmable Interrupt Controler”) L'APIC permet de traiter jusqu'à 256 requêtes d'interruption différentes, les 16 premières étant équivalentes aux 16 IRQ du PIC.

Par contre, l'APIC n'est pas forcement utilisable. Pour qu'il le soit, il faut que le BIOS d'un tel PC ait été écrit pour cela, c'est-à-dire qu'il ait configuré cet APIC, en plus du PIC, pour être prêt à travailler. On parle alors de BIOS “I/O APIC” ou même plus directement “IOAPIC” (I/O pour “Input” “Output” - entrée sortie). Depuis Win 2000, Microsoft impose aux fabricants de PC de systématiser l'utilisation de l'APIC. C'est une des conditions à l'obtention du logo Microsoft “Designed for Windows XP” que les constructeurs collent fièrement sur la face avant de chaque machine.

Pour qu’un OS PnP puisse se débrouiller tout seul, il faut pouvoir dire au BIOS de ne pas attribuer les ressources lui-même. A l’inverse, dans le cas d’un OS non-PnP, il faut impérativement dire au BIOS d’attribuer les ressources lui-même sinon elles ne pourront tout simplement pas marcher une fois l’OS chargé.

Pour cela, il y a un champ dans le SETUP des BIOS s’intitulant généralement “PnP OS” où l’on répond par oui ou par non.

On confond souvent l'APIC et l'ACPI ! “ACPI” sont les initiales de “Advanced Configuration and Power Interface”. Il s'agit d'une évolution de l'ancienne spécification “APM” qui sont les initiales de “Advanced Power Management”. Il s'agit en fait de la gestion de la mise en route et de la mise en veille progressive jusqu'à l'arrêt du PC

L'énorme avantage de l'ACPI comparé à l'APM est sa capacité à gérer la mise en route, l'endormissement et l'arrêt des périphériques connectés au PC. Pour cela, il faut bien, d'une manière ou d'une autre, que la couche ACPI dans l'OS gère les ressources des périphériques, en particulier les IRQs. Pourquoi ? Et bien par exemple, la norme ACPI permet à un PC éteint ou en veille profonde de se réveiller lorsque le téléphone sonne pour activer la fonction répondeur ou fax, et ce, grâce à l'IRQ assignée au modem. Voilà pourquoi la gestion des IRQs est différente entre une ancienne machine seulement APM et un PC moderne ACPI.

Le fait de désactiver l'ACPI (NOACPI) libère donc des IRQ et résout parfois des problèmes de conflit sur certaines machines. Le fait de désactiver l'APIC (NOAPIC) règle les problèmes d'un APIC absent ou mal géré.

Windows installe automatiquent un système appelé HAL lorsqu'il rencontre des problèmes avec l'APIC…

Les distributions Linux ont généralement dans le bas de l'écran du premier menu multiboot une zone ou on peut introduire du texte avant de lancer l'option de son choix (Linux-Linux SNMP-Mode sans echec…).

Pour résoudre certains problèmes, on peut mettre dans cette zone les options NOACPI, NOAPIC ou NOLAPIC. (On peut mettre les trois en les séparant par un blanc). Pour certaines distributions c'est ACPI=OFF, APIC=OFF et LAPIC=OFF.

materiel/acpi_apic_et_lapic.txt · Dernière modification : 2018/11/17 12:53 de 127.0.0.1