Am Samstag, 27. April 2002 09:40 schrieb Jens Guessregen:
ACPI steht für Advanced Configuration and Power Interface. APIC ist ein Advanced Programmable Interrupt Controller.
Was im BIOS zugewiesen wird, hat meist nur wenig damit zu tun, was das PnP-fähige Betriebssystem hinterher daraus macht. Die PnP Tabelle kann ja von einem entsprechendem Betriebssystem beliebig überschrieben werden.
Interessanterweise macht aber Kernel 2.4.18 mit neuestem ACPI-Patch die gleiche Interruptzuweisung wie XP-Pro.
Hintergrund: Die Hardwarehersteller mussten sich was einfallen lassen um all die vilen Geräte mit Interrupts zu versorgen. So hat man sich ein System erdacht die 16 Stücker so oft wie möglich zu teilen, per Software !
Das ist nicht ganz richtig. IRQ-Sharing ist seit Erfindung des PCI-Busses ein wesentlicher Bestandteil von PCI-Systemen, und seit PCI 2.1 mandatory für PCI-Systeme. Trotzdem gibt es immer noch Device-Hersteller, die sich nicht dran halten. Gutes Beispiel hierfür sind Framegrabber-Karten mit älteren Brooktree-Chips drauf. Das erklärt das interesse eines Entwicklers des PhoenixBIOS mit dem ich ebenfalls in Verbindung stehe. ACPI hat's mir angetan :-)
Vergleicht man Geräte nun mit und ohne ACPI, dann wird man feststellen, dass Geräte ohne ACPI versuchen über den PnP Mechanismus alle PCI-Devices möglichst über den gesammten verfügbaren Bereich zu verteilen. ACPI Konfigurationen dagegen fassen alle Devices unter einem Interrupt zusammen. Laut ACPI-Specification ist das übrigens IRQ 9. Auf IRQ 9 sitzt der ACPI-Controller. Die anderen Geräte erhalten bei allen Rechnern die ich mir bis jetzt ansehen konnte, es werden täglich mehr, den Interrupt 10 und 5. Werde mir Intels Spezifikation genauer ansehen, mal sehen was die dazu schreiben.
ACPI ist Teil des LINUX Kernels, funktioniert aber leider bei mir nicht.
Was nicht unbedingt am Linux-Kernel liegen muss. Neuester Kernel 2.4.18 mit neustem Patch und schon hab ich Netz und Sound.
Nicht jede ACPI-Implementierung im BIOS ist vollständig oder überhaupt lauffähig. Die einschlägigen Tests in den verschiedenen Zeitschriften zeigen ja regelmässig ein entsprechendes Bild. Das erklärt das Interesse eines BIOS-entwicklers der sich mit mir das ganze mal sehr genau anschauen möchte.
(Übrigens der neue ALDI-Rechner basiert auch auf ACPI)
Jedes aktuelle Board behauptet derzeit von sich, ACPI zu unterstützen, die wenigsten allerdings bieten eine vollständige Implemantation aller Sx-Modes ;-) Mich hätte interessiert ob schon jemand Linux aufgespielt hat und vieleicht ähnliche Problem mit einem Desktop System hat. Bei der Komplexität der ganzen Thematik ist es eigentlich auch fast gar nicht möglich, in einem modularen System wie einem PC mit Einsteckkarten einen vollständigen Support zu realisieren. Das geht eigentlich mit vertretbarem Aufwand nur in geschlossenen Systemen. Notebooks ?
Für alle die es interessiert, hier ein Ausschnitt mit lspci -v meines Notebooks gericom M6-T mit PhoenixBIOS 4.0 Release 6.0: Kernel 2.4.18 Original mit Patch 20020404.diff.gz 00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x] (rev c4) Flags: bus master, medium devsel, latency 0 Memory at e8000000 (32-bit, prefetchable) [size=128M] Capabilities: [a0] AGP version 2.0 Capabilities: [c0] Power Management version 2 00:06.0 Communication controller: Lucent Microelectronics LT WinModem Subsystem: Askey Computer Corp.: Unknown device 4005 Flags: medium devsel, IRQ 10 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 1a) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Flags: bus master, medium devsel, latency 64, IRQ 5 00:07.4 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40) Subsystem: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] Flags: medium devsel, IRQ 9 Capabilities: [68] Power Management version 2 00:07.5 Multimedia audio controller: VIA Technologies, Inc. AC97 Audio Controller (rev 50) Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 1840 Flags: medium devsel, IRQ 5 00:09.0 Ethernet controller: Accton Technology Corporation EN-1216 Ethernet Adapter (rev 11) Subsystem: Accton Technology Corporation: Unknown device 2242 Flags: bus master, medium devsel, latency 64, IRQ 10 00:0c.0 CardBus bridge: O2 Micro, Inc. OZ6933 Cardbus Controller (rev 01) Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 1860 Flags: bus master, slow devsel, latency 168, IRQ 10 00:0c.1 CardBus bridge: O2 Micro, Inc. OZ6933 Cardbus Controller (rev 01) Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 1860 Flags: bus master, slow devsel, latency 168, IRQ 10 00:0d.0 FireWire (IEEE 1394): Lucent Microelectronics FW323 (rev 04) (prog-if 10 [OHCI]) Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 1881 Flags: medium devsel, IRQ 10 01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M6 LY (prog-if 00 [VGA]) Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 1930 Flags: stepping, fast Back2Back, 66Mhz, medium devsel, IRQ 5 Sieht nach meinen Begrifen sauber aus. Kommentare erwünscht. Bis denn Andreas