IBMPC::Device Class Reference

#include <ibmpc.h>

Inheritance diagram for IBMPC::Device:

Inheritance graph
[legend]
Collaboration diagram for IBMPC::Device:

Collaboration graph
[legend]
List of all members.

Detailed Description

Base class for all Device drivers.

Definition at line 414 of file ibmpc.h.

Public Member Functions

 Device ()
 Create virtual device.
virtual ~Device ()
 Destroy virtual device.
Coreget_core ()
 Return reference to core.
void set_name (std::string name)
 Sets name for this virtual driver.
std::string Device::get_name ()
 Returns name of this virtual driver.
virtual void init ()=0
 Called when driver is inserted into the system.
virtual void done ()=0
 Called when driver is detached from the system.
virtual uint8 mem_read8 (unsigned int addr)=0
 read 8-bit int at given 32-bit flat address
virtual void mem_write8 (unsigned int addr, uint8 value)=0
 write 8-bit int at given 32-bit flat address
virtual uint8 port_read8 (unsigned int port_index)=0
 read 8-bit value from port
virtual void port_write8 (unsigned int port_index, uint8 value)=0
 write 8-bit value from port
virtual void irq_ack ()=0
 Called by IRQ manager when IRQ requested by this driver is accepted.

Friends

class VirtualMachine


Constructor & Destructor Documentation

IBMPC::Device::Device (  ) 

Create virtual device.

Definition at line 261 of file ibmpc.cpp.

IBMPC::Device::~Device (  )  [virtual]

Destroy virtual device.

Definition at line 265 of file ibmpc.cpp.


Member Function Documentation

Core* IBMPC::Device::get_core (  )  [inline]

Return reference to core.

Definition at line 433 of file ibmpc.h.

Referenced by IBMPC::VDD_Video_CGA_6845::done(), IBMPC::VDD_SYS_PPI_8255A::done(), IBMPC::VDD_Floppy::done(), IBMPC::VDD_DMA::done(), IBMPC::VDD_Video_CGA_6845::init(), IBMPC::VDD_SYS_PPI_8255A::init(), IBMPC::VDD_Floppy::init(), IBMPC::VDD_DMA::init(), IBMPC::VDD_Floppy::port_write8(), IBMPC::VDD_DMA::read_next_word(), and IBMPC::VDD_DMA::write_next_word().

void IBMPC::Device::set_name ( std::string  name  ) 

Sets name for this virtual driver.

Definition at line 270 of file ibmpc.cpp.

Referenced by IBMPC::VDD_DMA::VDD_DMA(), IBMPC::VDD_Floppy::VDD_Floppy(), IBMPC::VDD_SYS_PPI_8255A::VDD_SYS_PPI_8255A(), and IBMPC::VDD_Video_CGA_6845::VDD_Video_CGA_6845().

std::string IBMPC::Device::Device::get_name (  ) 

Returns name of this virtual driver.

virtual void IBMPC::Device::init (  )  [pure virtual]

Called when driver is inserted into the system.

Implemented in IBMPC::VDD_DMA, IBMPC::VDD_Floppy, IBMPC::VDD_SYS_PPI_8255A, and IBMPC::VDD_Video_CGA_6845.

Referenced by IBMPC::VirtualMachine::register_driver().

virtual void IBMPC::Device::done (  )  [pure virtual]

Called when driver is detached from the system.

Implemented in IBMPC::VDD_DMA, IBMPC::VDD_Floppy, IBMPC::VDD_SYS_PPI_8255A, and IBMPC::VDD_Video_CGA_6845.

Referenced by IBMPC::VirtualMachine::unregister_driver().

virtual uint8 IBMPC::Device::mem_read8 ( unsigned int  addr  )  [pure virtual]

read 8-bit int at given 32-bit flat address

Implemented in IBMPC::VDD_DMA, IBMPC::VDD_Floppy, IBMPC::VDD_SYS_PPI_8255A, and IBMPC::VDD_Video_CGA_6845.

virtual void IBMPC::Device::mem_write8 ( unsigned int  addr,
uint8  value 
) [pure virtual]

write 8-bit int at given 32-bit flat address

Implemented in IBMPC::VDD_DMA, IBMPC::VDD_Floppy, IBMPC::VDD_SYS_PPI_8255A, and IBMPC::VDD_Video_CGA_6845.

virtual uint8 IBMPC::Device::port_read8 ( unsigned int  port_index  )  [pure virtual]

read 8-bit value from port

Implemented in IBMPC::VDD_DMA, IBMPC::VDD_Floppy, IBMPC::VDD_SYS_PPI_8255A, and IBMPC::VDD_Video_CGA_6845.

virtual void IBMPC::Device::port_write8 ( unsigned int  port_index,
uint8  value 
) [pure virtual]

write 8-bit value from port

Implemented in IBMPC::VDD_DMA, IBMPC::VDD_Floppy, IBMPC::VDD_SYS_PPI_8255A, and IBMPC::VDD_Video_CGA_6845.

virtual void IBMPC::Device::irq_ack (  )  [pure virtual]

Called by IRQ manager when IRQ requested by this driver is accepted.

Implemented in IBMPC::VDD_DMA, IBMPC::VDD_Floppy, IBMPC::VDD_SYS_PPI_8255A, and IBMPC::VDD_Video_CGA_6845.


The documentation for this class was generated from the following files:
Generated on Sat Sep 9 03:50:55 2006 for Openem APIs by  doxygen 1.4.7