Festplattendierektzugriff im PM
-
Wie kann man eigentlich im PM einen Dierekt-Zugriff auf die Festplatte zu machen. Ich meine das es verschiedene Controller gibt (SATA, IDE, ...). Muss ich mich jetzt mit allen auseinandersetzen oder gibt es da auch eine Lösung über einen einheitlichen "Zwischen-Controller" wie bei der Floppy. Falls es diesen nicht gibt, mit welchem Controller sollte ich mich dann auseinandersetzen bzw. welcher ist der aktuelle und gibt's da Spezifikationen wie man diesen programmiert und sind Ports u.s.w. standardisiert.
Danke.
-
Im Prinzip schon... Die PATA-Controller funktionieren noch, aehnlich wie der Floppy-Controller, in ihren Standard-Funktionen ziemlich gleich.
Ein guter Punkt zum Einstieg ist vielleicht
http://www.c-plusplus.net/forum/252568
und
http://wiki.osdev.org/Category:ATA
-
OK, ich hab jetzt mal einen Lese-Treiber nach dem Prinzip des PIOs geschrieben. Aber wie funktioniert's mit DMA? Ich bräuchte mal den Ablauf. Und wie kann man im DMA-Mode mehrere Sektoren lesen?
Danke im Voraus!
-
Oh, da fällt mir noch ein: Gibt es eine Möglichkeit die Laufwerks-Größe herauszufinden?
EDIT: Sorry, hab das IDENTIFY-Kommando überlesen!
-
Schau dich mal weiter auf der Seite um. z.B. hier: http://wiki.osdev.org/ATA/ATAPI_using_DMA
-
Wenn du mit Englisch nicht verfeindet bist, würde ich dir diese Seite empfehlen:
http://wiki.osdev.org/ATA/ATAPI_using_DMA
Auf der Wiki gibt es natürlich noch mehr zum Thema.