Hardware Abstraction Layer — Änderungen 6753 → 6754

Zeile 13: Zeile 13:
  
 
=== Interruptverwaltung ===
 
=== Interruptverwaltung ===
−
Damit die angeschlossene Hardware einem Treiber irgendwelche Ereignisse signalisieren kann, stellt die Architektur meist [[Interrupt]]s bzw. genauer [[IRQ]]s zur Verfügung. Um Interrupts zu verwenden ist zum einen meist eine Tabelle mit den Adressen von [[ISR | Interruptserviceroutinen]] (bei [[x86]]/[[x86-64]] die [[IDT]] im [[Protected Mode | Protected-]] und [[Long Mode | Long-Mode]]) notwendig. Zum anderen werden die Interruptserviceroutinenstubs von der HAL bereitgestellt, da diese meist in Assembler geschrieben und damit sehr architekturspezifisch sind. IRQs werden meist über eine spezielle Hardwarekomponente - bei [[x86]] bzw. [[x86-64]] ist das die [[PIC]] oder in neueren Systemen auch die [[I/O APIC]] (im Zusammenspiel mit der [[Local APIC]] dann) - auf Interrupts abgebildet. Daher ist ein Treiber für diese Hardwarekomponente auch Teil der HAL.
+
Damit die angeschlossene Hardware einem Treiber irgendwelche Ereignisse signalisieren kann, stellt die Architektur meist [[Interrupt]]s bzw. genauer [[IRQ]]s zur Verfügung. Um Interrupts zu verwenden ist zum einen meist eine Tabelle mit den Adressen von [[ISR | ISRs]] (''Interrupt Service Routines''; bei [[x86]]/[[x86-64]] ist diese Tabelle die [[IDT]] im [[Protected Mode | Protected-]] und [[Long Mode | Long-Mode]]) notwendig. Zum anderen werden die ISR-Stubs von der HAL bereitgestellt, da diese meist in Assembler geschrieben und damit sehr architekturspezifisch sind. IRQs werden meist über eine spezielle Hardwarekomponente - bei [[x86]] bzw. [[x86-64]] ist das die [[PIC]] oder in neueren Systemen auch die [[I/O APIC]] (im Zusammenspiel mit der [[Local APIC]] dann) - auf Interrupts abgebildet. Daher ist ein Treiber für diese Hardwarekomponente auch Teil der HAL.
  
−
Nach außen werden dann Funktionen zum registrieren von Handlern für Interrupts bzw. IRQs bereitgestellt. Beim Auftreten des entsprechenden Interrupts werden diese Handler dann von den Interruptserviceroutinenstubs der HAL aufgerufen.
+
Nach außen werden dann Funktionen zum Registrieren von Handlern für Interrupts bzw. IRQs bereitgestellt. Beim Auftreten des entsprechenden Interrupts werden diese Handler dann von den ISR-Stubs der HAL aufgerufen.
  
 
=== Syscallverwaltung ===
 
=== Syscallverwaltung ===