C# Class Mosa.DeviceDriver.PCI.MassStorage.PCIIDEController

Inheritance: HardwareDevice, IDiskControllerDevice
Exibir arquivo Open project: tgiphil/MOSA-Project

Protected Properties

Property Type Description
CommandPort IWriteOnlyIOPort
DataPort IReadWriteIOPort
DeviceHeadPort IReadWriteIOPort
ErrorPort IReadOnlyIOPort
FeaturePort IReadWriteIOPort
LBAHighPort IReadWriteIOPort
LBALowPort IReadWriteIOPort
LBAMidPort IReadWriteIOPort
SectorCountPort IReadWriteIOPort
StatusPort IReadOnlyIOPort
driveInfo DriveInfo[]
spinLock SpinLock

Public Methods

Method Description
CanWrite ( uint drive ) : bool

Determines whether this instance can write to the specified drive.

GetSectorSize ( uint drive ) : uint

Gets the size of the sector.

GetTotalSectors ( uint drive ) : uint

Gets the total sectors.

OnInterrupt ( ) : bool

Called when an interrupt is received.

Open ( uint drive ) : bool

Opens the specified drive NBR.

PCIIDEController ( ) : Mosa.ClassLib

Initializes a new instance of the PCIIDEController class.

PreSetup ( IPCIDeviceResource pciDeviceResource ) : bool
Probe ( ) : bool

Probes this instance.

ReadBlock ( uint drive, uint block, uint count, byte data ) : bool

Reads the block.

Release ( uint drive ) : bool

Releases the specified drive NBR.

Setup ( HardwareResources hardwareResources ) : bool

Setups this hardware device driver

Start ( ) : DeviceDriverStartStatus

Starts this hardware device.

WriteBlock ( uint drive, uint block, uint count, byte data ) : bool

Writes the block.

Protected Methods

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

Performs the LBA28.

ReadLBA48 ( SectorOperation operation, uint drive, uint lba, byte data, uint offset ) : bool

Reads the LBA48.

WaitForRegisterReady ( ) : bool

Waits for register ready.

Method Details

CanWrite() public method

Determines whether this instance can write to the specified drive.
public CanWrite ( uint drive ) : bool
drive uint The drive NBR.
return bool

GetSectorSize() public method

Gets the size of the sector.
public GetSectorSize ( uint drive ) : uint
drive uint The drive NBR.
return uint

GetTotalSectors() public method

Gets the total sectors.
public GetTotalSectors ( uint drive ) : uint
drive uint The drive NBR.
return uint

OnInterrupt() public method

Called when an interrupt is received.
public OnInterrupt ( ) : bool
return bool

Open() public method

Opens the specified drive NBR.
public Open ( uint drive ) : bool
drive uint The drive NBR.
return bool

PCIIDEController() public method

Initializes a new instance of the PCIIDEController class.
public PCIIDEController ( ) : Mosa.ClassLib
return Mosa.ClassLib

PerformLBA28() protected method

Performs the LBA28.
protected PerformLBA28 ( SectorOperation operation, uint drive, uint lba, byte data, uint offset ) : bool
operation SectorOperation The operation.
drive uint The drive NBR.
lba uint The lba.
data byte The data.
offset uint The offset.
return bool

PreSetup() public method

public PreSetup ( IPCIDeviceResource pciDeviceResource ) : bool
pciDeviceResource IPCIDeviceResource
return bool

Probe() public method

Probes this instance.
public Probe ( ) : bool
return bool

ReadBlock() public method

Reads the block.
public ReadBlock ( uint drive, uint block, uint count, byte data ) : bool
drive uint The drive NBR.
block uint The block.
count uint The count.
data byte The data.
return bool

ReadLBA48() protected method

Reads the LBA48.
protected ReadLBA48 ( SectorOperation operation, uint drive, uint lba, byte data, uint offset ) : bool
operation SectorOperation The operation.
drive uint The drive.
lba uint The lba.
data byte The data.
offset uint The offset.
return bool

Release() public method

Releases the specified drive NBR.
public Release ( uint drive ) : bool
drive uint The drive NBR.
return bool

Setup() public method

Setups this hardware device driver
public Setup ( HardwareResources hardwareResources ) : bool
hardwareResources HardwareResources
return bool

Start() public method

Starts this hardware device.
public Start ( ) : DeviceDriverStartStatus
return DeviceDriverStartStatus

WaitForRegisterReady() protected method

Waits for register ready.
protected WaitForRegisterReady ( ) : bool
return bool

WriteBlock() public method

Writes the block.
public WriteBlock ( uint drive, uint block, uint count, byte data ) : bool
drive uint The drive NBR.
block uint The block.
count uint The count.
data byte The data.
return bool

Property Details

CommandPort protected_oe property

protected IWriteOnlyIOPort CommandPort
return IWriteOnlyIOPort

DataPort protected_oe property

protected IReadWriteIOPort DataPort
return IReadWriteIOPort

DeviceHeadPort protected_oe property

protected IReadWriteIOPort DeviceHeadPort
return IReadWriteIOPort

ErrorPort protected_oe property

protected IReadOnlyIOPort ErrorPort
return IReadOnlyIOPort

FeaturePort protected_oe property

protected IReadWriteIOPort FeaturePort
return IReadWriteIOPort

LBAHighPort protected_oe property

protected IReadWriteIOPort LBAHighPort
return IReadWriteIOPort

LBALowPort protected_oe property

protected IReadWriteIOPort LBALowPort
return IReadWriteIOPort

LBAMidPort protected_oe property

protected IReadWriteIOPort LBAMidPort
return IReadWriteIOPort

SectorCountPort protected_oe property

protected IReadWriteIOPort SectorCountPort
return IReadWriteIOPort

StatusPort protected_oe property

protected IReadOnlyIOPort StatusPort
return IReadOnlyIOPort

driveInfo protected_oe property

protected DriveInfo[] driveInfo
return DriveInfo[]

spinLock protected_oe property

protected SpinLock spinLock
return SpinLock