Je pense que la majorité des gens ne recontrent plus trop ce genre de problèmes (en tout cas, moi, jamais).
Juste pour te montrer pourquoi le systeme d'IRQ est foireux :
A la base il y a 7 IRQs de libre sur ton PC + 1 pour le controlleur d'IRQ principal.
pour un nombre de raisons assez evidentes il faut que certains peripheriques possedent leur propre IRQ (l'horloge par exemple).
Au final sur un systeme standard (horloge+carte video+gestionnaire de disque dur+ports) il ne te reste plus grand chose comme place libre.
Alors les gars ils ont eu une idee geniale, ils ont pris une IRQ (la 2) et ils ont mis un deuxieme controlleur d'IRQ dessus (pas crade du tout). Voila maintenant vous avez 15 IRQ libres ce qui en laisse 4 ou 5 exploitables ca devrait suffire.
Ah flute toutes les cartes on tendance a essaye de prendre certaines IRQ (5,9,10 au hasard) et ca fait des conflits dans tous les sens. Bon ben c'est pas grave on va inventer un systeme dans le bios qui va distribuer les IRQs (PnP) avec possibilite pour l'os de redistribuer derriere si ca lui convient pas (c'est la fonction qui est desactivee quand vous faites PnP=no etonnant non ?).
Re flute les cartes videos, certaines cartes SCSI(adaptec power) et certaines cartes reseaux (wake up on LAN) ont besoins d'IRQs avant que le bios ne ce soit initialise. C'est pas grave on va integre au bus PCI des fonction qui vont permettre a ces cartes de s'initialiser correctemen avant d'etre reinitialisee a nouveau par bios (et une troisieme par l'os si ca se trouve: youpi!).
Oui mais pour les vieilles cartes ISA on fait comment ? Ben on va inventer un autre systeme de distribution des IRQS avec des irqs fixes bloquable et donc pas distribuables de base stoquer dans le bios et reportes au bus PCI et au bridge ISA avant l'initialisation complete du bus PCI
Super flute 15 IRQs ca suffit pas, il faut que les IRQs se partagent les places. Bon ben on va inventer un systeme virtuel d'IRQ avec des priorites et des redistributions a la volee vers des zones memoires en fonction de l'etat de certains registres du bus au moment de l'appel de l'IRQ(l'embryon d'ACPI qui ne s'est pas arrete la).
Voila on a rajoutee 5 couches de tests, de protocoles et de redirections, mais maintenant ca marche presque tout le temps.
Comment ca c'est pas propre ?
Kha
debug : sleeping function called from illegal context
[^] # Re: Introduction à l'Opteron et son architecture
Posté par Jerome Herman . En réponse à la dépêche Introduction à l'Opteron et son architecture. Évalué à 10.
Juste pour te montrer pourquoi le systeme d'IRQ est foireux :
A la base il y a 7 IRQs de libre sur ton PC + 1 pour le controlleur d'IRQ principal.
pour un nombre de raisons assez evidentes il faut que certains peripheriques possedent leur propre IRQ (l'horloge par exemple).
Au final sur un systeme standard (horloge+carte video+gestionnaire de disque dur+ports) il ne te reste plus grand chose comme place libre.
Alors les gars ils ont eu une idee geniale, ils ont pris une IRQ (la 2) et ils ont mis un deuxieme controlleur d'IRQ dessus (pas crade du tout). Voila maintenant vous avez 15 IRQ libres ce qui en laisse 4 ou 5 exploitables ca devrait suffire.
Ah flute toutes les cartes on tendance a essaye de prendre certaines IRQ (5,9,10 au hasard) et ca fait des conflits dans tous les sens. Bon ben c'est pas grave on va inventer un systeme dans le bios qui va distribuer les IRQs (PnP) avec possibilite pour l'os de redistribuer derriere si ca lui convient pas (c'est la fonction qui est desactivee quand vous faites PnP=no etonnant non ?).
Re flute les cartes videos, certaines cartes SCSI(adaptec power) et certaines cartes reseaux (wake up on LAN) ont besoins d'IRQs avant que le bios ne ce soit initialise. C'est pas grave on va integre au bus PCI des fonction qui vont permettre a ces cartes de s'initialiser correctemen avant d'etre reinitialisee a nouveau par bios (et une troisieme par l'os si ca se trouve: youpi!).
Oui mais pour les vieilles cartes ISA on fait comment ? Ben on va inventer un autre systeme de distribution des IRQS avec des irqs fixes bloquable et donc pas distribuables de base stoquer dans le bios et reportes au bus PCI et au bridge ISA avant l'initialisation complete du bus PCI
Super flute 15 IRQs ca suffit pas, il faut que les IRQs se partagent les places. Bon ben on va inventer un systeme virtuel d'IRQ avec des priorites et des redistributions a la volee vers des zones memoires en fonction de l'etat de certains registres du bus au moment de l'appel de l'IRQ(l'embryon d'ACPI qui ne s'est pas arrete la).
Voila on a rajoutee 5 couches de tests, de protocoles et de redirections, mais maintenant ca marche presque tout le temps.
Comment ca c'est pas propre ?
Kha
debug : sleeping function called from illegal context