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

Virtual Bios reset routines. More...

Inheritance diagram for VirtualBiosReset:
StaticReceiver< VirtualBiosReset > BiosCommon Device DiscoveryHelper< BiosCommon >

Classes

struct  Resource

Public Member Functions

bool receive (MessageBios &msg)
bool receive (MessageDiscovery &msg)
 React on device discovery.
 VirtualBiosReset (Motherboard &mb)
- Public Member Functions inherited from StaticReceiver< VirtualBiosReset >
 StaticReceiver ()
- Public Member Functions inherited from Device
void debug_dump ()
 Device (const char *debug_name)

Private Types

enum  { MAX_RESOURCES = 32, SIZE_EBDA_KB = 5 }

Private Member Functions

bool reset_helper (MessageBios &msg)
 called on reset.
unsigned alloc (unsigned size, unsigned alignment)
Resourceget_resource (const char *name)
unsigned acpi_tablesize (Resource *r)
void fix_acpi_checksum (Resource *r, unsigned length, unsigned chksum_offset=9)
void init_acpi_table (const char *name)
bool create_resource (unsigned index, const char *name)

Private Attributes

char * _mem_ptr
unsigned _mem_size
struct VirtualBiosReset::Resource _resources [MAX_RESOURCES]

Additional Inherited Members

- Public Types inherited from BiosCommon
enum  { RESET_VECTOR = 0x100, MAX_VECTOR }
- Static Public Member Functions inherited from StaticReceiver< VirtualBiosReset >
static bool receive_static (Device *o, M &msg)
- Static Public Member Functions inherited from DiscoveryHelper< BiosCommon >
static bool discover (Device *o, MessageDiscovery &msg)
- Public Attributes inherited from BiosCommon
Motherboard_mb
- Protected Member Functions inherited from BiosCommon
void write_bda (unsigned short offset, unsigned value, unsigned len)
 Write bios data helper.
unsigned read_bda (unsigned offset)
 Read bios data helper.
bool jmp_int (MessageBios &msg, unsigned char number)
 Jump to another realmode INT handler.
bool jmp_hlt (MessageBios &msg)
void error (MessageBios &msg, unsigned char errorcode)
 Set the usual error indication.
void outb (unsigned short port, unsigned value)
 Out to IO-port.
 BiosCommon (Motherboard &mb)

Detailed Description

Virtual Bios reset routines.

Features: init of PIC, PIT, bda+ebda, ACPI tables Missing: flexible ACPI table size

Member Enumeration Documentation

anonymous enum
private
Enumerator:
MAX_RESOURCES 
SIZE_EBDA_KB 

Constructor & Destructor Documentation

VirtualBiosReset::VirtualBiosReset ( Motherboard mb)
inline

Member Function Documentation

unsigned VirtualBiosReset::acpi_tablesize ( Resource r)
inlineprivate
unsigned VirtualBiosReset::alloc ( unsigned  size,
unsigned  alignment 
)
inlineprivate
bool VirtualBiosReset::create_resource ( unsigned  index,
const char *  name 
)
inlineprivate
void VirtualBiosReset::fix_acpi_checksum ( Resource r,
unsigned  length,
unsigned  chksum_offset = 9 
)
inlineprivate
Resource* VirtualBiosReset::get_resource ( const char *  name)
inlineprivate
void VirtualBiosReset::init_acpi_table ( const char *  name)
inlineprivate
bool VirtualBiosReset::receive ( MessageBios msg)
inline
bool VirtualBiosReset::receive ( MessageDiscovery msg)
inline

React on device discovery.

bool VirtualBiosReset::reset_helper ( MessageBios msg)
inlineprivate

called on reset.

Member Data Documentation

char* VirtualBiosReset::_mem_ptr
private
unsigned VirtualBiosReset::_mem_size
private
struct VirtualBiosReset::Resource VirtualBiosReset::_resources[MAX_RESOURCES]
private

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