Protected Types | Protected Member Functions | Protected Attributes

PciDriver Class Reference

-*- Mode: C++ -*- Common driver routines. More...

#include <jsdriver.h>

Inheritance diagram for PciDriver:
Host82573 Host82576 Host82576VF

List of all members.

Protected Types

enum  MessageLevel {
  INFO = 1<<0, DEBUG = 1<<1, PCI = 1<<2, IRQ = 1<<3,
  RX = 1<<4, TX = 1<<5, VF = 1<<6, WARN = 1<<7,
  ALL = ~0U
}

Protected Member Functions

void spin (unsigned micros)
 Common driver routines.
bool wait (volatile uint32 &reg, uint32 mask, uint32 value, unsigned timeout_micros=1000000)
 __attribute__ ((format(printf, 3, 4))) void msg(unsigned level
const char mword addr2phys (void *ptr)
 Translate a virtual to a physical address.
bool assign_pci ()
 PciDriver (const char *name, DBus< MessageHostOp > &bus_hostop, Clock *clock, unsigned msg_level, uint16 bdf)

Protected Attributes

const char * _name
DBus< MessageHostOp > & _bus_hostop
bool _dmar
Clock_clock
unsigned _msg_level
 Logging.
uint16 _bdf
const char * msg

Detailed Description

-*- Mode: C++ -*- Common driver routines.

Copyright (C) 2010, Julian Stecklina <jsteckli@os.inf.tu-dresden.de> Economic rights: Technische Universitaet Dresden (Germany)

This file is part of Vancouver.

Vancouver is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

Vancouver is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 2 for more details.


Member Enumeration Documentation

enum PciDriver::MessageLevel [protected]
Enumerator:
INFO 
DEBUG 
PCI 
IRQ 
RX 
TX 
VF 
WARN 
ALL 

Constructor & Destructor Documentation

PciDriver::PciDriver ( const char *  name,
DBus< MessageHostOp > &  bus_hostop,
Clock clock,
unsigned  msg_level,
uint16  bdf 
) [inline, protected]

Member Function Documentation

PciDriver::__attribute__ ( (format(printf, 3, 4))   )  [protected]
mword PciDriver::addr2phys ( void *  ptr  )  [protected]

Translate a virtual to a physical address.

bool PciDriver::assign_pci (  )  [protected]
void PciDriver::spin ( unsigned  micros  )  [protected]

Common driver routines.

Copyright (C) 2010, Julian Stecklina <jsteckli@os.inf.tu-dresden.de> Economic rights: Technische Universitaet Dresden (Germany)

This file is part of Vancouver.

Vancouver is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

Vancouver is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 2 for more details.

bool PciDriver::wait ( volatile uint32 reg,
uint32  mask,
uint32  value,
unsigned  timeout_micros = 1000000 
) [protected]

Member Data Documentation

uint16 PciDriver::_bdf [protected]
Clock* PciDriver::_clock [protected]
bool PciDriver::_dmar [protected]
unsigned PciDriver::_msg_level [protected]
const char* PciDriver::_name [protected]
void PciDriver::msg [protected]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines