Thomas Schachtner
2006-02-14 10:47:44 UTC
Hallo Leute,
wahrscheinlich stelle ich hier eine ganz doofe Frage, aber ich weiss
leider nicht, wem/wo ich sie sonst stellen soll... Ich moechte ein
Programm schreiben, dass unter DOS Daten auf einen S-ATA-Controller
schreibt bzw. von diesem liest. Es handelt sich dabei (ich glaub, sogar
notwendigerweise...) um ein PCI-Geraet.
Ich habe eine BIOS-Funktion gefunden (INT 1Ah), mit der ich feststellen
kann, ob ein PCI-BIOS vorhanden ist und womit ich auch bestimmte Geraete
auswaehlen kann...
Wie kann ich aber, nachdem ich ein PCI-Geraet ausgewaehlt habe, diesem
Befehle uebermitteln? Muss ich dazu Zugriff auf 32-bit-Adressen haben,
oder kann ich da auch im Real-Mode vernuenftig arbeiten? (Mit Protected
Mode kenn ich mich naemlich nicht aus, wenn man da irgendwelche
Deskriptor-Tabellen festlegen muss usw... Und: Warum soll ich mir zwei
Probleme aufhalsen? Mir reicht schon das mit S-ATA ;-)
(Bei den "alten" IDE-Controllern war es ganz einfach: ein Satz an INs
und OUTs, die man an die IO-Adresse des Controllers geschrieben hat,
aber seit S-ATA ist das wohl nicht mehr so einfach, oder?) Ich hab auch
festgestellt, dass es wohl Karten gibt, die noch einen IO-Port
"emulieren"(?) und da kann man weiterhin mit INs und OUTs arbeiten.
Aber das funktioniert irgendwie nicht bei allen Karten. (Ich hab
gehoert, das seien Karten, die nur "AHCI" unterstuetzen...)
Kann mir da wer helfen?
Thomas
wahrscheinlich stelle ich hier eine ganz doofe Frage, aber ich weiss
leider nicht, wem/wo ich sie sonst stellen soll... Ich moechte ein
Programm schreiben, dass unter DOS Daten auf einen S-ATA-Controller
schreibt bzw. von diesem liest. Es handelt sich dabei (ich glaub, sogar
notwendigerweise...) um ein PCI-Geraet.
Ich habe eine BIOS-Funktion gefunden (INT 1Ah), mit der ich feststellen
kann, ob ein PCI-BIOS vorhanden ist und womit ich auch bestimmte Geraete
auswaehlen kann...
Wie kann ich aber, nachdem ich ein PCI-Geraet ausgewaehlt habe, diesem
Befehle uebermitteln? Muss ich dazu Zugriff auf 32-bit-Adressen haben,
oder kann ich da auch im Real-Mode vernuenftig arbeiten? (Mit Protected
Mode kenn ich mich naemlich nicht aus, wenn man da irgendwelche
Deskriptor-Tabellen festlegen muss usw... Und: Warum soll ich mir zwei
Probleme aufhalsen? Mir reicht schon das mit S-ATA ;-)
(Bei den "alten" IDE-Controllern war es ganz einfach: ein Satz an INs
und OUTs, die man an die IO-Adresse des Controllers geschrieben hat,
aber seit S-ATA ist das wohl nicht mehr so einfach, oder?) Ich hab auch
festgestellt, dass es wohl Karten gibt, die noch einen IO-Port
"emulieren"(?) und da kann man weiterhin mit INs und OUTs arbeiten.
Aber das funktioniert irgendwie nicht bei allen Karten. (Ich hab
gehoert, das seien Karten, die nur "AHCI" unterstuetzen...)
Kann mir da wer helfen?
Thomas