Also bei mir steht nach dem Booten CR0=80000013. Also sind bei mir die Bits für Cache disable und No Write-Through gelöscht.
Das heisst bei mir wird der Cache aktiviert.
Mit dem BTC als Instruktion? Dann wäre das sehr seltsam, weil das ja hieße, dass vorher der Cache tatsächlich deaktiviert war. <rhetorisch>Warum sollte das jemand tun?</rhetorisch>
Wieso muss ich den Cache flushen, wenn die Instruktionen sowieso erst später ausgeführt werden (also nachdem ich den Cache deaktiviert habe)?
Ich muss zugeben, dass ich das auch erst gelesen habe, als ich mich über die Funktionsweise von CD informiert habe. Ich vermute, dass durch das setzen von CD die CPU angewiesen wird, nichts mehr in den Cache zu laden. Aber der restliche Mechanismus, der den Cache nutzt bleibt aktiv. Das heißt, die CPU versucht weiterhin den Cache zu benutzen, und wenn sie etwas drin findet, dann nutzt sie es auch. Also würden Daten, die früher einmal in den Cache geladen wurden, auch nach dem deaktivieren weiterhin darin benutzt werden.
Eine Theorie, die ich (ohne entsprechende Belege) hätte, ist, dass dieses Flag eher dafür gedacht ist, bei Multiprozessorsystemen das Verhalten der CPUs untereinander zu steuern, und nicht wirklich für den Ein-Prozessor-System-Fall gedacht ist. Das Flushen hätte dann den Sinn, dass alle Prozessoren nach dem Deaktivieren des Caches dieselbe Sicht hätten (nämlich eine, die nicht durch die eigenen Caches beeinflusst wird).
Danke fürs Ausprobieren . Gab es irgendwelche Fehler?
Mit welchen Spezifikationen hast du mein OS getestet? Danke auch für deinen "Fehlerreport" (das mit dem btc).
Ich hab da nicht viel getestet. Das war ein Qemu 1.1.2 unter Debian, dem ich einfach deine ISO mitgegeben habe.