Beispiel #1
0
void *MMapBusInit3(MMapBus *bus0,int MemBase8,int MemBase16,int Pages) {
  bus0 = MMapBusInit(bus0,MemBase8,Pages);
  if (Pages <= 0) Pages = 1;
  if (bus0->Mem16 == 0) { // make multiple calls to Init safe
    bus0->Mem16 = MemMap(MemBase16,Pages);
  }
  return bus0;
}
Beispiel #2
0
SPI *ts4800__SPIInit0(SPI *spi,int inst) {
  // write 8 to 0x83fda00c to set up WEIM to use byte selects
  volatile unsigned *reg = MemMap(0x83fda000,1);
  reg[0xC/sizeof(unsigned)] = 8;
  MemUnmap(reg);

  Bus *bus;
  dio0 = ts4800__DIOInit0(0,0); // needed by ts4800SPIChipSelect
  ts4800SPI0.LockNum = 7;
  bus = ts4800__BusInit0(0,0);
  return WBSPIInit(&ts4800SPI0,ts4800__BusInit16(0,16),ts4800__BusInit16(0,16),
		   0,ts4800SPIChipSelect);
}
Beispiel #3
0
void *MMapBusInit(MMapBus *bus,int MemBase,int Pages) {
  if (bus->InitStatus > 0) return bus;

  bus->Init = (void *)MMapBusInit;
  bus->Fini = (void *)MMapBusFini;
  bus->Lock = (void *)MMapBusLock;
  bus->Unlock = (void *)MMapBusUnlock;
  bus->Preempt = (void *)MMapBusPreempt;
  bus->Peek8 = (void *)MMapBusPeek8;
  bus->Poke8 = (void *)MMapBusPoke8;
  bus->Peek16 = (void *)MMapBusPeek16;
  bus->Poke16 = (void *)MMapBusPoke16;
  bus->Peek32 = (void *)MMapBusPeek32;
  bus->Poke32 = (void *)MMapBusPoke32;
  bus->BitGet8 = (void *)MMapBusBitGet8;
  bus->BitAssign8 = (void *)MMapBusBitAssign8;
  bus->BitSet8 = (void *)MMapBusBitSet8;
  bus->BitClear8 = (void *)MMapBusBitClear8;
  bus->BitGet16 = (void *)MMapBusBitGet16;
  bus->BitAssign16 = (void *)MMapBusBitAssign16;
  bus->BitSet16 = (void *)MMapBusBitSet16;
  bus->BitClear16 = (void *)MMapBusBitClear16;
  bus->BitGet32 = (void *)MMapBusBitGet32;
  bus->BitAssign32 = (void *)MMapBusBitAssign32;
  bus->BitSet32 = (void *)MMapBusBitSet32;
  bus->BitClear32 = (void *)MMapBusBitClear32;
  bus->PeekStream = (void *)MMapBusPeekStream;
  bus->PokeStream = (void *)MMapBusPokeStream;
  bus->Refresh = (void *)MMapBusRefresh;
  bus->Commit = (void *)MMapBusCommit;
  bus->BitToggle8 = (void *)MMapBusBitToggle8;
  bus->BitToggle16 = (void *)MMapBusBitToggle16;
  bus->BitToggle32 = (void *)MMapBusBitToggle32;
  bus->Assign8X = (void *)MMapBusAssign8X;
  bus->Assign16X = (void *)MMapBusAssign16X;
  bus->Assign32X = (void *)MMapBusAssign32X;
  bus->BitsGet8 = (void *)MMapBusBitsGet8;
  bus->BitsGet16 = (void *)MMapBusBitsGet16;
  bus->BitsGet32 = (void *)MMapBusBitsGet32;
  
  MMapBusLockInit(bus,1);
  if (Pages <= 0) {
    Pages = 1;
  }
  if (bus->Mem == 0) { // make multiple calls to Init safe
    bus->Mem = bus->Mem16 = MemMap(MemBase,Pages);
  }
  bus->InitStatus = (bus->Mem == 0) ? MapBusErrorMapping : 1;
  return bus;
}
Beispiel #4
0
void Stats::OutputMem(vector<char> memory)
{
	MemMap(memory);         //print memory map
	PercentHoles(memory);   //print percentage of holes in memory map
	return;
}