← Back to team overview

sslug-teknik team mailing list archive

Re: Hvordan ignoreres harddisk fuldstændig

 

Niels Sandmann wrote:

> On Fri, 04 Mar 2005 17:27:21 +0100, Christian Iversen wrote:
> 
>> Jeg er ikke helt sikker på hvad du ønsker at gøre. Du er ved at udvikle
>> en kontroller selv? Du er ved at udvikle noget styrelogik til en disk
>> selv? Du er ved at udvikle en IDE-driver selv? All of the above? :)
> Jep, det hele. Jeg er ved at lave en harddisk-controller til et embedded
> system. Dertil skal udvikles en ide-driver, som jeg havde tænkt mig i
> første gang at udvikle under linux.
> 
> Dvs. jeg vil gerne kunne læse og skrive til IO-portene 0x1f0-0x1f8 og
> 0x320-0x32f uden at det intefererer med linux' ide-driver.
> 
>> Kernen prøver jo bl.a. at læse partitionstabellen for at kunne tilbyde
>> de korrekte device nodes når harddisken kobles til. Når vi taler om
>> IDE sker tilkoblingen under opstart, men ved fx USB og FireWire kan det
>> ske når som helst.
> 
> Det ville være bedst om den overhovedet ikke undersøgte disken, da jeg
> helst vil have at min egen driver skal indeholder opstart og reset kode
> til harddisken, men jeg kan acceptere det hvis det ikke kan undgås.
> 
>> Du kan (helt) sikkert patche kernen til at gøre præcis som du har
>> lyst, men forklar først hvad du vil, og hvad du har prøvet.
> 
> Det tror jeg gerne, men jeg her ingen ide om hvordan. Jeg har kigget på
> ide-driveren i kernen, men det er ikke lykkeds mig at finde ud af hvordan
> ændringen skal laves.
> 
> Jeg har prøvet at lave et program som blot læser
> og skriver til IO-portene og det virker i den forstand at jeg som regel
> kan kommunikere fornuftigt med harddisken, men efter et stykke tid med
> aktivitet på den anden harddisk går det galt, og kernen melder diverse
> IDE-fejl, lige fra, "din harddisk er død"  til "læsning mislykket,
> prøver igen". Indtil videre har jeg været heldig og har ikke mistet
> data, men det er helt oplagt det vil ske, hvis jeg ikke får løst
> problemet, så ethvert hint vil blive modtaget med glæde :)

Hvis jeg har forstået dit problem rigtigt, vil jeg tro du kan kompilere din
egen kerne uden de sædvanlige IDE-drivere, men med en ny IDE-driver du selv
skriver. Så går al kontakt til disken gennem din kode, og du har så
mulighed for at ignorere alle forespørgsler du ikke vil bruge tid på. 

Lyder det ikke som en fornuftig løsning?

-- 
Mvh
Christian Iversen


Follow ups

References