Hallo,
ich möchte Performancemessungen unter Linux im User Mode machen. Optimal wäre es, wenn während dieser Messungen die Interrupts ausgeschaltet wären. Dafür habe ich einen Trap Gate eingefügt.
Um in den Code zu springen verwende ich im User Mode den Befehl
Die Interrupts sind aber immer noch aktiviert. Wird das Interrupt Flag beim Rücksprung automatisch gesetzt oder legt der Fehler in meinem Code?
Ich habe schon versucht die Interrupts mit dem VIF Flag zu deaktivieren. Dies hat aber auch nicht funktioniert. Wenn ich das Intel Manual richtig verstanden habe, ist der Interrupt Handler dafür zuständig das VIF Flag zu überprüfen und ich vermute Linux überprüft dieses Flag nicht.
Gibt es eine Möglichkeit im User Mode mit deaktivierten Interrupts zu arbeiten?
Grüße
SuperPlus
ich möchte Performancemessungen unter Linux im User Mode machen. Optimal wäre es, wenn während dieser Messungen die Interrupts ausgeschaltet wären. Dafür habe ich einen Trap Gate eingefügt.
Code: [Auswählen]
ENTRY(cli_call)
cli
iret
END(cli_call)
Um in den Code zu springen verwende ich im User Mode den Befehl
Code: [Auswählen]
int 0xe7
Die Interrupts sind aber immer noch aktiviert. Wird das Interrupt Flag beim Rücksprung automatisch gesetzt oder legt der Fehler in meinem Code?
Ich habe schon versucht die Interrupts mit dem VIF Flag zu deaktivieren. Dies hat aber auch nicht funktioniert. Wenn ich das Intel Manual richtig verstanden habe, ist der Interrupt Handler dafür zuständig das VIF Flag zu überprüfen und ich vermute Linux überprüft dieses Flag nicht.
Gibt es eine Möglichkeit im User Mode mit deaktivierten Interrupts zu arbeiten?
Grüße
SuperPlus

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert



