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

A PCI host bridge. More...

Inheritance diagram for PciHostBridge:
DiscoveryHelper< PciHostBridge > StaticReceiver< PciHostBridge > Device

Public Member Functions

bool receive (MessageIOIn &msg)
bool receive (MessageIOOut &msg)
bool receive (MessageMem &msg)
 MMConfig access.
bool receive (MessagePciConfig &msg)
bool receive (MessageLegacy &msg)
bool receive (MessageBios &msg)
 PCI BIOS functions.
void discovery ()
 PciHostBridge (Motherboard &mb, unsigned busnum, unsigned buscount, unsigned short iobase, unsigned long membase)
- Public Member Functions inherited from StaticReceiver< PciHostBridge >
 StaticReceiver ()
- Public Member Functions inherited from Device
void debug_dump ()
 Device (const char *debug_name)

Public Attributes

Motherboard_mb

Private Member Functions

unsigned read_pcicfg (bool &res)
 Read the PCI config space.

Private Attributes

unsigned _busnum
unsigned _buscount
unsigned short _iobase
unsigned long _membase
unsigned _confaddress
unsigned char _cf9

Additional Inherited Members

- Static Public Member Functions inherited from DiscoveryHelper< PciHostBridge >
static bool discover (Device *o, MessageDiscovery &msg)
- Static Public Member Functions inherited from StaticReceiver< PciHostBridge >
static bool receive_static (Device *o, M &msg)
- Protected Member Functions inherited from DiscoveryHelper< PciHostBridge >
bool discovery_write_st (const char *resource, unsigned offset, const void *value, unsigned count)
bool discovery_write_dw (const char *resource, unsigned offset, unsigned value, unsigned count=4)
 Write a dword or less than it.
bool discovery_read_dw (const char *resource, unsigned offset, unsigned &value)
 Read a dword.
unsigned discovery_length (const char *resource, unsigned minlen)
 Return the length of an ACPI table or minlen if it is smaller.

Detailed Description

A PCI host bridge.

State: unstable Features: ConfigSpace, BusReset, MMConfig, PCI BIOS Missing: LogicalPCI bus

Constructor & Destructor Documentation

PciHostBridge::PciHostBridge ( Motherboard mb,
unsigned  busnum,
unsigned  buscount,
unsigned short  iobase,
unsigned long  membase 
)
inline

Member Function Documentation

void PciHostBridge::discovery ( )
inline
unsigned PciHostBridge::read_pcicfg ( bool &  res)
inlineprivate

Read the PCI config space.

bool PciHostBridge::receive ( MessageIOIn msg)
inline
bool PciHostBridge::receive ( MessageIOOut msg)
inline

According to http://www.cs.helsinki.fi/linux/linux-kernel/2003-01/1126.html this is a way to switch between PCI configuration method 2 and

  1. We simply ignore the access.

Reset via 0xcf9 method.

bool PciHostBridge::receive ( MessageMem msg)
inline

MMConfig access.

bool PciHostBridge::receive ( MessagePciConfig msg)
inline
bool PciHostBridge::receive ( MessageLegacy msg)
inline
bool PciHostBridge::receive ( MessageBios msg)
inline

PCI BIOS functions.

Member Data Documentation

unsigned PciHostBridge::_buscount
private
unsigned PciHostBridge::_busnum
private
unsigned char PciHostBridge::_cf9
private
unsigned PciHostBridge::_confaddress
private
unsigned short PciHostBridge::_iobase
private
Motherboard& PciHostBridge::_mb
unsigned long PciHostBridge::_membase
private

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