C# Class SharpOS.Kernel.DeviceSystem.DiskController.IDEDiskDriver

Inheritance: SharpOS.Kernel.DeviceSystem.HardwareDevice, IDiskControllerDevice
Show file Open project: sharpos/SharpOS

Protected Properties

Property Type Description
CommandPort IWriteOnlyIOPort
DataPort IReadWriteIOPort
DeviceHeadPort IReadWriteIOPort
ErrorPort IReadOnlyIOPort
FeaturePort IReadWriteIOPort
IdeIRQ IRQHandler
LBAHighPort IReadWriteIOPort
LBALowPort IReadWriteIOPort
LBAMidPort IReadWriteIOPort
SectorCountPort IReadWriteIOPort
StatusPort IReadOnlyIOPort
driveInfo DriveInfo[]
ioBase ushort
spinLock SharpOS.Kernel.ADC.SpinLock

Public Methods

Method Description
CanWrite ( uint drive ) : bool
GetSectorSize ( uint driveNbr ) : uint
GetTotalSectors ( uint driveNbr ) : uint
IDEDiskDriver ( ) : System
IDEDiskDriver ( ushort ioBase ) : System
Initialize ( ) : void
Open ( uint driveNbr ) : bool
ReadBlock ( uint driveNbr, uint block, uint count, byte data ) : bool
Release ( uint driveNbr ) : bool
WriteBlock ( uint driveNbr, uint block, uint count, byte data ) : bool

Protected Methods

Method Description
PerformLBA28 ( SectorOperation operation, uint driveNbr, uint lba, byte data, uint offset ) : bool
WaitForReqisterReady ( ) : bool

Method Details

CanWrite() public method

public CanWrite ( uint drive ) : bool
drive uint
return bool

GetSectorSize() public method

public GetSectorSize ( uint driveNbr ) : uint
driveNbr uint
return uint

GetTotalSectors() public method

public GetTotalSectors ( uint driveNbr ) : uint
driveNbr uint
return uint

IDEDiskDriver() public method

public IDEDiskDriver ( ) : System
return System

IDEDiskDriver() public method

public IDEDiskDriver ( ushort ioBase ) : System
ioBase ushort
return System

Initialize() public method

public Initialize ( ) : void
return void

Open() public method

public Open ( uint driveNbr ) : bool
driveNbr uint
return bool

PerformLBA28() protected method

protected PerformLBA28 ( SectorOperation operation, uint driveNbr, uint lba, byte data, uint offset ) : bool
operation SectorOperation
driveNbr uint
lba uint
data byte
offset uint
return bool

ReadBlock() public method

public ReadBlock ( uint driveNbr, uint block, uint count, byte data ) : bool
driveNbr uint
block uint
count uint
data byte
return bool

Release() public method

public Release ( uint driveNbr ) : bool
driveNbr uint
return bool

WaitForReqisterReady() protected method

protected WaitForReqisterReady ( ) : bool
return bool

WriteBlock() public method

public WriteBlock ( uint driveNbr, uint block, uint count, byte data ) : bool
driveNbr uint
block uint
count uint
data byte
return bool

Property Details

CommandPort protected property

protected IWriteOnlyIOPort CommandPort
return IWriteOnlyIOPort

DataPort protected property

protected IReadWriteIOPort DataPort
return IReadWriteIOPort

DeviceHeadPort protected property

protected IReadWriteIOPort DeviceHeadPort
return IReadWriteIOPort

ErrorPort protected property

protected IReadOnlyIOPort ErrorPort
return IReadOnlyIOPort

FeaturePort protected property

protected IReadWriteIOPort FeaturePort
return IReadWriteIOPort

IdeIRQ protected property

protected IRQHandler IdeIRQ
return IRQHandler

LBAHighPort protected property

protected IReadWriteIOPort LBAHighPort
return IReadWriteIOPort

LBALowPort protected property

protected IReadWriteIOPort LBALowPort
return IReadWriteIOPort

LBAMidPort protected property

protected IReadWriteIOPort LBAMidPort
return IReadWriteIOPort

SectorCountPort protected property

protected IReadWriteIOPort SectorCountPort
return IReadWriteIOPort

StatusPort protected property

protected IReadOnlyIOPort StatusPort
return IReadOnlyIOPort

driveInfo protected property

protected DriveInfo[] driveInfo
return DriveInfo[]

ioBase protected property

protected ushort ioBase
return ushort

spinLock protected property

protected SpinLock,SharpOS.Kernel.ADC spinLock
return SharpOS.Kernel.ADC.SpinLock