def _import_concrete_memory(self, from_addr, to_addr):
logger.debug("<STR_LIT>".format(from_addr, to_addr, to_addr - from_addr))<EOL>for m in self.maps:<EOL><INDENT>span = interval_intersection(m.start, m.end, from_addr, to_addr)<EOL>if span is None:<EOL><INDENT>continue<EOL><DEDENT>start, stop = span<EOL>for addr in range(start, stop):<EOL><INDENT>if addr in self.backed_by_symbolic_store:<EOL><INDENT>continue<EOL><DEDENT>self.backing_array[addr] = Memory.read(self, addr, <NUM_LIT:1>)[<NUM_LIT:0>]<EOL>self.backed_by_symbolic_store.add(addr)<EOL><DEDENT><DEDENT>
for each address in this range need to read from concrete and write to symbolic
it's possible that there will be invalid/unmapped addresses in this range. need to skip to next map if so
also need to mark all of these addresses as now in the symbolic store

:param int from_addr:
:param int to_addr:
:return: