AddrRange ModificationMap::getAddrRange() {
  if(isEmpty()) {
    return AddrRange();
  } else {
    const Set<__int64> set = keySet();
    return AddrRange(set.getMin(), set.getMax());
  }
}
AddrRangeList BridgeClassicToAMBATLM2<BUSWIDTH>::BridgeSlavePort::getAddrRanges() const
{
	//FIXME: Ugly hack: whole address range minus small portion
	AddrRangeList resp;
	resp.push_back(AddrRange(0x0,0xFFFFFFF));
	resp.push_back(AddrRange(0x20000000,0xFFFFFFFF));
	return resp;
}
//UGLY FIX ME ASAP, SimpleMemory uses mmap on the range size, 0 triggers an error
SimpleMemoryParams* BridgeClassicToAMBATLM2_init(SimpleMemoryParams* pm)
{
	pm->in_addr_map=true;
	pm->zero=true;
	pm->conf_table_reported=true;
    pm->latency=0;
    pm->latency_var=0;
	pm->null=true;
	pm->port_port_connection_count=1;
	pm->range = AddrRange(0x0,0xFFFFFFFF);
	pm->clock=1;
	return pm;
}
AddrRange CHexViewView::getSelection() const {
  return hasAnchor() ? AddrRange(m_anchor, getCurrentAddr()) : AddrRange();
}
Esempio n. 5
0
BasicBlock *Program::getBasicBlockCovering(ByteAddr address) const {
    return nc::find(range2basicBlock_, AddrRange(address, address + 1));
}
Esempio n. 6
0
void Program::removeRange(BasicBlock *basicBlock) {
    assert(basicBlock != NULL);
    assert(basicBlock->address() && basicBlock->successorAddress() && "Basic block must be memory-bound.");
    range2basicBlock_.erase(AddrRange(*basicBlock->address(), *basicBlock->successorAddress()));
}
Esempio n. 7
0
void Program::addRange(BasicBlock *basicBlock) {
    assert(basicBlock != NULL);
    assert(basicBlock->address() && basicBlock->successorAddress() && "Basic block must be memory-bound.");
    range2basicBlock_[AddrRange(*basicBlock->address(), *basicBlock->successorAddress())] = basicBlock;
}