NOVA User-Level Environment  Version testbox/changed-memory-timing-317-g320d8b5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Motherboard Class Reference

A virtual motherboard is a collection of busses. More...

#include <motherboard.h>

Inheritance diagram for Motherboard:
StaticReceiver< Motherboard > Device

Public Member Functions

Clockclock ()
Hiphip ()
void parse_args (const char *args, size_t length)
void parse_args (const char *args)
 Parse the cmdline and create devices.
void dump_counters (bool full=false)
 Dump the profiling counters.
 Motherboard (Clock *__clock, Hip *__hip)
- Public Member Functions inherited from StaticReceiver< Motherboard >
 StaticReceiver ()
- Public Member Functions inherited from Device
void debug_dump ()
 Device (const char *debug_name)

Static Public Member Functions

static const char * word_separator ()
static const char * param_separator ()
static const char * wordparam_separator ()
static const char * next_arg (const char *&args, size_t &len)
 Return a pointer to the next token in args and advance args.
- Static Public Member Functions inherited from StaticReceiver< Motherboard >
static bool receive_static (Device *o, M &msg)

Public Attributes

DBus< MessageAcpibus_acpi
DBus< MessageAhciSetDrivebus_ahcicontroller
DBus< MessageApicbus_apic
DBus< MessageBiosbus_bios
DBus< MessageConsolebus_console
DBus< MessageDiscoverybus_discovery
DBus< MessageDiskbus_disk
DBus< MessageDiskCommitbus_diskcommit
DBus< MessageHostOpbus_hostop
DBus< MessageHwIOInbus_hwioin
 HW I/O space reads.
DBus< MessageIOInbus_ioin
 I/O space reads from virtual machines.
DBus< MessageHwIOOutbus_hwioout
 HW I/O space writes.
DBus< MessageIOOutbus_ioout
 I/O space writes from virtual machines.
DBus< MessageInputbus_input
DBus< MessageIrqbus_hostirq
 Host IRQs.
DBus< MessageIrqLinesbus_irqlines
 Virtual IRQs before they reach (virtual) IRQ controller.
DBus< MessageIrqNotifybus_irqnotify
DBus< MessageLegacybus_legacy
DBus< MessageMembus_mem
 Access to memory from virtual devices.
DBus< MessageMemRegionbus_memregion
 Access to memory pages from virtual devices.
DBus< MessageNetworkbus_network
DBus< MessagePS2bus_ps2
DBus< MessageHwPciConfigbus_hwpcicfg
 Access to real HW PCI configuration space.
DBus< MessagePciConfigbus_pcicfg
 Access to PCI configuration space of virtual devices.
DBus< MessagePicbus_pic
DBus< MessagePitbus_pit
DBus< MessageSerialbus_serial
DBus< MessageTimebus_time
DBus< MessageTimeoutbus_timeout
 Timer expiration notifications.
DBus< MessageTimerbus_timer
 Request for timers.
DBus< MessageVesabus_vesa
VCpulast_vcpu

Private Member Functions

 Motherboard (const Motherboard &bus)
 To avoid bugs we disallow the copy constructor.

Private Attributes

Clock_clock
class Hip_hip

Detailed Description

A virtual motherboard is a collection of busses.

The devices are later attached to the busses. To find out what the individual busses are good for, check the documentation of the message classes.

This also knows the backend devices.

Constructor & Destructor Documentation

Motherboard::Motherboard ( const Motherboard bus)
inlineprivate

To avoid bugs we disallow the copy constructor.

Motherboard::Motherboard ( Clock __clock,
Hip __hip 
)
inline

Member Function Documentation

Clock* Motherboard::clock ( )
inline
void Motherboard::dump_counters ( bool  full = false)
inline

Dump the profiling counters.

Hip* Motherboard::hip ( )
inline
static const char* Motherboard::next_arg ( const char *&  args,
size_t &  len 
)
inlinestatic

Return a pointer to the next token in args and advance args.

Returns the length of the token in len.

static const char* Motherboard::param_separator ( )
inlinestatic
void Motherboard::parse_args ( const char *  args,
size_t  length 
)
inline
void Motherboard::parse_args ( const char *  args)
inline

Parse the cmdline and create devices.

static const char* Motherboard::word_separator ( )
inlinestatic
static const char* Motherboard::wordparam_separator ( )
inlinestatic

Member Data Documentation

Clock* Motherboard::_clock
private
class Hip* Motherboard::_hip
private
DBus<MessageAcpi> Motherboard::bus_acpi
DBus<MessageAhciSetDrive> Motherboard::bus_ahcicontroller
DBus<MessageApic> Motherboard::bus_apic
DBus<MessageBios> Motherboard::bus_bios
DBus<MessageConsole> Motherboard::bus_console
DBus<MessageDiscovery> Motherboard::bus_discovery
DBus<MessageDisk> Motherboard::bus_disk
DBus<MessageDiskCommit> Motherboard::bus_diskcommit
DBus<MessageIrq> Motherboard::bus_hostirq

Host IRQs.

DBus<MessageHostOp> Motherboard::bus_hostop
DBus<MessageHwIOIn> Motherboard::bus_hwioin

HW I/O space reads.

DBus<MessageHwIOOut> Motherboard::bus_hwioout

HW I/O space writes.

DBus<MessageHwPciConfig> Motherboard::bus_hwpcicfg

Access to real HW PCI configuration space.

DBus<MessageInput> Motherboard::bus_input
DBus<MessageIOIn> Motherboard::bus_ioin

I/O space reads from virtual machines.

DBus<MessageIOOut> Motherboard::bus_ioout

I/O space writes from virtual machines.

DBus<MessageIrqLines> Motherboard::bus_irqlines

Virtual IRQs before they reach (virtual) IRQ controller.

DBus<MessageIrqNotify> Motherboard::bus_irqnotify
DBus<MessageLegacy> Motherboard::bus_legacy
DBus<MessageMem> Motherboard::bus_mem

Access to memory from virtual devices.

DBus<MessageMemRegion> Motherboard::bus_memregion

Access to memory pages from virtual devices.

DBus<MessageNetwork> Motherboard::bus_network
DBus<MessagePciConfig> Motherboard::bus_pcicfg

Access to PCI configuration space of virtual devices.

DBus<MessagePic> Motherboard::bus_pic
DBus<MessagePit> Motherboard::bus_pit
DBus<MessagePS2> Motherboard::bus_ps2
DBus<MessageSerial> Motherboard::bus_serial
DBus<MessageTime> Motherboard::bus_time
DBus<MessageTimeout> Motherboard::bus_timeout

Timer expiration notifications.

DBus<MessageTimer> Motherboard::bus_timer

Request for timers.

DBus<MessageVesa> Motherboard::bus_vesa
VCpu* Motherboard::last_vcpu

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