frage zu interrupts im pmode
-
hallo.. da bin ich wieder !
1. EOI:
ich möcht wissen ob man innerhalb eines ISR (int handler) am ende manuell ein EOI signal an den PIC geben muss ? d.h. über den port ..
oder ob ein iret am ende ausreicht ..
weil ich hab zwei tuts gelesen, in einem steht drin man soll ein EOI manuell senden im anderen wird nix davon erwähnt, nichteinmal im codebeispiel..2. int nummer pointer
das zweite is, kann ich nachdem ich ins pmode geschaltet hab die vectoren des PIC auf die interrupt tabelle so lassen wie sie ist ? also der 8 bit wert der der PIC an den prozessor sendet..also das z.b. der PIT (Timer) bei unterrupt nummer 8 weiterhin bleibt ? d.h. das ich auch in diesem beispiel meinen descriptor mit der addr des Timer ISR an 8ter stelle in der idt definiere... ?im codebeispiel von nem tut aus den os devs macht er nen exception handler tabelle von 0 - 17, aber int nummer 8 ist doch der PIT ? deshalb eigenltich hauptsächlich meine frage ..
bei nem 3ten codebeispiel wurde der PIC komplett neu programmiert, d.h. die pointer bei 32 starten lassen usw...3. masking:
ist es sinnvoll gewisse hardware ints zu deaktivieren, z.b. maus, wenn die gar nicht angesteurt werden soll ?was soll ich jetz machen ?
mfg haMMer
-
Hi.
Zu 1:
Ein EOI gehoert nur in IRQ-Handler. Mit normalen Software-Interrupts hat der PIC schliesslich nichts zu tun, da muss man ihn auch nicht unnoetig verwirren.Zu 2:
Interrupts 0 bis 1F sind fuer Exceptions reserviert. Folglich musst du den PIC neu programmieren, bevor du Interrupts im PM wieder zulaesst. Sonst wuerde bei jedem IRQ0 eine Double Fault Exception ausgeloest.Zu 3:
Jo, wenn nicht klar definiert ist, wie oft die Hardware einen IRQ ausloesen wuerde, wenn sie nicht bestimmte Daten beim IRQ zurueckbekommt, ist es besser den entsprechenden IRQ im PIC gleich ganz zu deaktivieren.
-
1. achsooo haja stimmt ja..
2. alles klar..!
3. ich probiers mal.. wenns probs gibt dann mask ich ev. paar irqsthx