Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: Osbios am 17. June 2006, 09:45

Titel: HLT funktioniert nicht
Beitrag von: Osbios am 17. June 2006, 09:45
Habe hier ein Problem mit dem HLT Befehl.

Soviel Ich weiß sollte der Prozessor bei einem HLT anhalten und nur für einen IRQ seinen Wartezustand verlassen bzw. wieder in den Wartezustand gehen, wenn der IRQ mit einem normalen IRET beendet wird.

Bei mir überspringt er das HLT aber einfach.

Ich habe das bis jetzt nur unter bochs(2.2.1) getestet. Ich hoffe das es nicht daran liegt.
Titel: HLT funktioniert nicht
Beitrag von: Legend am 17. June 2006, 09:48
?

HLT wartet einfach nur bis zum nächsten IRQ. Da ist nix mit danach weiterwarten wenn der IRQ vorbei ist.
Titel: HLT funktioniert nicht
Beitrag von: Osbios am 17. June 2006, 10:26
l: hlt
jmp l


Funktioniert auch nicht! --> 100% CPU
Titel: HLT funktioniert nicht
Beitrag von: Jidder am 17. June 2006, 12:28
Auslastung der Host CPU oder der Bochs CPU? Ersteres würde mich nicht wundern. Kann sein, dass Bochs einfach nicht dafür programmiert ist, bei einem hlt CPU-Zeit zu sparen. Letzteres bedeutet vielleicht, dass der Timer-IRQ die ganze Zeit feuert. Überprüfe mal deine Werte für ips, die Einstellungen der Bochs-Uhr, und wie du deinen PIC eingestellt hast.
Titel: HLT funktioniert nicht
Beitrag von: Osbios am 17. June 2006, 13:00
Zitat von: PorkChicken
Auslastung der Host CPU oder der Bochs CPU? Ersteres würde mich nicht wundern. Kann sein, dass Bochs einfach nicht dafür programmiert ist, bei einem hlt CPU-Zeit zu sparen.


Thx, Bochs war der Grund. :D