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

Clock * clock ()
Hip * hip ()
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< MessageAcpi > bus_acpi
DBus< MessageAhciSetDrive > bus_ahcicontroller
DBus< MessageApic > bus_apic
DBus< MessageBios > bus_bios
DBus< MessageConsole > bus_console
DBus< MessageDiscovery > bus_discovery
DBus< MessageDisk > bus_disk
DBus< MessageDiskCommit > bus_diskcommit
DBus< MessageHostOp > bus_hostop
DBus< MessageHwIOIn > bus_hwioin
 HW I/O space reads.
DBus< MessageIOIn > bus_ioin
 I/O space reads from virtual machines.
DBus< MessageHwIOOut > bus_hwioout
 HW I/O space writes.
DBus< MessageIOOut > bus_ioout
 I/O space writes from virtual machines.
DBus< MessageInput > bus_input
DBus< MessageIrq > bus_hostirq
 Host IRQs.
DBus< MessageIrqLines > bus_irqlines
 Virtual IRQs before they reach (virtual) IRQ controller.
DBus< MessageIrqNotify > bus_irqnotify
DBus< MessageLegacy > bus_legacy
DBus< MessageMem > bus_mem
 Access to memory from virtual devices.
DBus< MessageMemRegion > bus_memregion
 Access to memory pages from virtual devices.
DBus< MessageNetwork > bus_network
DBus< MessagePS2 > bus_ps2
DBus< MessageHwPciConfig > bus_hwpcicfg
 Access to real HW PCI configuration space.
DBus< MessagePciConfig > bus_pcicfg
 Access to PCI configuration space of virtual devices.
DBus< MessagePic > bus_pic
DBus< MessagePit > bus_pit
DBus< MessageSerial > bus_serial
DBus< MessageTime > bus_time
DBus< MessageTimeout > bus_timeout
 Timer expiration notifications.
DBus< MessageTimer > bus_timer
 Request for timers.
DBus< MessageVesa > bus_vesa
VCpu * last_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: