i10_pci.c File Reference

#include <fcntl.h>
#include <unistd.h>
#include <malloc.h>
#include <stdio.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include "AsmMacros.h"
#include "pci.h"

Defines

#define RESORT   1
#define FIX_ROM   0
#define PCI_EN   0x80000000

Functions

static void readConfigSpaceCfg1 (CARD32 bus, CARD32 dev, CARD32 func, CARD32 *reg)
static int checkSlotCfg1 (CARD32 bus, CARD32 dev, CARD32 func)
static int checkSlotCfg2 (CARD32 bus, int dev)
static void readConfigSpaceCfg2 (CARD32 bus, int dev, CARD32 *reg)
static CARD8 interpretConfigSpace (CARD32 *reg, int busidx, CARD8 dev, CARD8 func)
static CARD32 findBIOSMap (PciStructPtr pciP, CARD32 *biosSize)
static void restoreMem (PciStructPtr pciP)
static CARD32 readPciCfg1 (CARD32 reg)
static void writePciCfg1 (CARD32 reg, CARD32 val)
static CARD32 readPciCfg2 (CARD32 reg)
static void writePciCfg2 (CARD32 reg, CARD32 val)
void scan_pci (int pci_cfg_method)
void pciVideoDisable (void)
void pciVideoRestore (void)
void EnableCurrent ()
CARD8 PciRead8 (int offset, CARD32 Slot)
CARD16 PciRead16 (int offset, CARD32 Slot)
CARD32 PciRead32 (int offset, CARD32 Slot)
void PciWrite8 (int offset, CARD8 byte, CARD32 Slot)
void PciWrite16 (int offset, CARD16 word, CARD32 Slot)
void PciWrite32 (int offset, CARD32 lg, CARD32 Slot)
int mapPciRom (PciStructPtr pciP)
CARD32 findPci (CARD16 slotBX)
CARD16 pciSlotBX (PciStructPtr pPci)
PciStructPtr findPciDevice (CARD16 vendorID, CARD16 deviceID, char n)
PciStructPtr findPciClass (CARD8 intf, CARD8 subClass, CARD16 class, char n)
static int remapMem (PciStructPtr pciP, int num, CARD32 size)
int cfg1out (CARD16 addr, CARD32 val)
int cfg1in (CARD16 addr, CARD32 *val)
PciStructPtr findPciByIDs (int bus, int dev, int func)

Variables

PciStructPtr PciStruct = NULL
PciBusPtr PciBuses = NULL
PciStructPtr CurrentPci = NULL
PciStructPtr PciList = NULL
int pciMaxBus = 0
static CARD32 PciCfg1Addr
static CARD32(*) readPci (CARD32 reg) = readPciCfg1
static void(*) writePci (CARD32 reg, CARD32 val) = writePciCfg1
static int numbus
static int hostbridges = 1
static unsigned long pciMinMemReg = ~0
static CARD32 remapMEM_val
static int remapMEM_num

Define Documentation

#define FIX_ROM   0

#define PCI_EN   0x80000000

#define RESORT   1


Function Documentation

int cfg1in ( CARD16  addr,
CARD32 val 
)

int cfg1out ( CARD16  addr,
CARD32  val 
)

static int checkSlotCfg1 ( CARD32  bus,
CARD32  dev,
CARD32  func 
) [static]

static int checkSlotCfg2 ( CARD32  bus,
int  dev 
) [static]

void EnableCurrent ( void   ) 

static CARD32 findBIOSMap ( PciStructPtr  pciP,
CARD32 biosSize 
) [static]

CARD32 findPci ( CARD16  slotBX  ) 

PciStructPtr findPciByIDs ( int  bus,
int  dev,
int  func 
)

PciStructPtr findPciClass ( CARD8  intf,
CARD8  subClass,
CARD16  class,
char  n 
)

PciStructPtr findPciDevice ( CARD16  vendorID,
CARD16  deviceID,
char  n 
)

static CARD8 interpretConfigSpace ( CARD32 reg,
int  busidx,
CARD8  dev,
CARD8  func 
) [static]

int mapPciRom ( PciStructPtr  pciP  ) 

CARD16 PciRead16 ( int  offset,
CARD32  Slot 
)

CARD32 PciRead32 ( int  offset,
CARD32  Slot 
)

CARD8 PciRead8 ( int  offset,
CARD32  Slot 
)

CARD16 pciSlotBX ( PciStructPtr  pPci  ) 

void pciVideoDisable ( void   ) 

void pciVideoRestore ( void   ) 

void PciWrite16 ( int  offset,
CARD16  word,
CARD32  Slot 
)

void PciWrite32 ( int  offset,
CARD32  lg,
CARD32  Slot 
)

void PciWrite8 ( int  offset,
CARD8  byte,
CARD32  Slot 
)

static void readConfigSpaceCfg1 ( CARD32  bus,
CARD32  dev,
CARD32  func,
CARD32 reg 
) [static]

static void readConfigSpaceCfg2 ( CARD32  bus,
int  dev,
CARD32 reg 
) [static]

static CARD32 readPciCfg1 ( CARD32  reg  )  [static]

static CARD32 readPciCfg2 ( CARD32  reg  )  [static]

static int remapMem ( PciStructPtr  pciP,
int  num,
CARD32  size 
) [static]

static void restoreMem ( PciStructPtr  pciP  )  [static]

void scan_pci ( int  pci_cfg_method  ) 

static void writePciCfg1 ( CARD32  reg,
CARD32  val 
) [static]

static void writePciCfg2 ( CARD32  reg,
CARD32  val 
) [static]


Variable Documentation

PciStructPtr CurrentPci = NULL

int hostbridges = 1 [static]

int numbus [static]

PciBusPtr PciBuses = NULL

CARD32 PciCfg1Addr [static]

PciStructPtr PciList = NULL

int pciMaxBus = 0

unsigned long pciMinMemReg = ~0 [static]

PciStructPtr PciStruct = NULL

CARD32(*) readPci(CARD32 reg) = readPciCfg1 [static]

int remapMEM_num [static]

CARD32 remapMEM_val [static]

void(*) writePci(CARD32 reg, CARD32 val) = writePciCfg1 [static]