The Pedigree Project 0.1
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
X86IsaDma Class Reference

#include <X86IsaDma.h>

+ Inheritance diagram for X86IsaDma:
+ Collaboration diagram for X86IsaDma:

Public Types

enum  TransferModes {
  SelfTest = 0 , Write = (1 << 2) , Read = (2 << 2) , Cascade = (3 << 2) ,
  AutoInit = (1 << 4) , Increment = 0 , Decrement = (1 << 5) , OnDemand = 0 ,
  Single = (1 << 6) , Block = (2 << 6)
}
 

Public Member Functions

virtual bool initTransfer (uint8_t channel, uint8_t mode, size_t length, uintptr_t addr)
 Initialises an operation.
 

Static Public Member Functions

static X86IsaDma & instance ()
 
- Static Public Member Functions inherited from IsaDma
static IsaDma & instance ()
 

Private Member Functions

void resetFlipFlop (uint8_t chan)
 
void resetHard (uint8_t chan)
 
void unmaskAll ()
 
bool internalSetup (uint8_t channel, size_t length, uintptr_t addr)
 

Private Attributes

IoPort m_Io
 

Static Private Attributes

static X86IsaDma m_Instance
 

Detailed Description

x86 ISA DMA implementations. It is assumed drivers will be notified by some other means that their data is ready. This class is merely designed to prepare operations on the DMA controller without requiring drivers to do it themselves.

Definition at line 105 of file X86IsaDma.h.

Member Enumeration Documentation

◆ TransferModes

enum X86IsaDma::TransferModes

Definition at line 107 of file X86IsaDma.h.

Constructor & Destructor Documentation

◆ X86IsaDma()

X86IsaDma::X86IsaDma ( )
inline

Definition at line 120 of file X86IsaDma.h.

◆ ~X86IsaDma()

virtual X86IsaDma::~X86IsaDma ( )
inlinevirtual

Definition at line 124 of file X86IsaDma.h.

Member Function Documentation

◆ initTransfer()

bool X86IsaDma::initTransfer ( uint8_t  channel,
uint8_t  mode,
size_t  length,
uintptr_t  addr 
)
virtual

Initialises an operation.

Todo:
Extra flags to control modes and things

Reimplemented from IsaDma.

Definition at line 24 of file X86IsaDma.cc.

References IoPort::write8().

◆ instance()

static X86IsaDma & X86IsaDma::instance ( )
inlinestatic

Definition at line 126 of file X86IsaDma.h.

◆ internalSetup()

bool X86IsaDma::internalSetup ( uint8_t  channel,
size_t  length,
uintptr_t  addr 
)
private

Definition at line 81 of file X86IsaDma.cc.

◆ resetFlipFlop()

void X86IsaDma::resetFlipFlop ( uint8_t  chan)
private

Definition at line 63 of file X86IsaDma.cc.

◆ resetHard()

void X86IsaDma::resetHard ( uint8_t  chan)
private

Definition at line 70 of file X86IsaDma.cc.

◆ unmaskAll()

void X86IsaDma::unmaskAll ( )
private

Definition at line 77 of file X86IsaDma.cc.

Member Data Documentation

◆ m_Instance

X86IsaDma X86IsaDma::m_Instance
staticprivate

Definition at line 144 of file X86IsaDma.h.

◆ m_Io

IoPort X86IsaDma::m_Io
private

Definition at line 142 of file X86IsaDma.h.


The documentation for this class was generated from the following files: