So Hallo nochmal,
Ich fürchte ich muss euch weiter nerven
Ich habe es inzwischen soweit geschafft, dass nach dem Umprogrammieren des PIC eine Timermessage empfangen wird. Danach ist allerdings Funkstille ... für alle IRQs.
Den Code habe ich aus einem Tutorial übernommen (Das IDT-Tutorial von mr.Xsism) und auch weitesgehend verstanden. Aber da hier wahrscheinlich keine Hellseher sitzen muss ich wohl mit etwas mehr Informationen kommen, nehme ich an
Das Umprogrammieren des PIC erledige ich folgendermassen:
1. ICW1 an Master und Slave senden (00010001)
2. Die Neue Adresse von IRQ0-7 an den Master (Data) schicken
3. Die neue Adresse von IRQ8-15 an den Slave (Data) schicken
4. ICW3 an den Master schicken (00000100)
5. ICW3 an den Slave schicken (00000010)
6. ICW4 an Master und Slave schicken (00000001)
Dann maskiere ich die IRQs indem ich in Master- und Slavedata ein 0xFF schreibe
(Demaskieren entsprechend mit einer 0x00)
Dann schreibe ich für jeden Interrupt (Auch für die Exceptions, die wunderbar funktionieren) folgende Werte:
offset: Das Offset der Funktion halt in zwei Teile aufgeteilt
selector: 0x08
settings: 0x8E00 (present, ring0, int gate)
Dann gebe ich mit LIDT die IDT bekannt
demaskiere die IRQs und lasse die Interrupts wieder zu...
Ich hab jetzt schon einige Zeit mit Google gesucht und mir jede Menge Beispiele und Tutorials angesehen, kann aber einfach keinen Fehler entdecken. Ich hoffe euch springt er nur so ins Auge