func: void cpu_physical_memory_unmap(void *buffer, hwaddr int is_write, hwaddr access_len) return address_space_unmap ( & address_space_memory , buffer , len , is_write , access_len ) ; void address_space_unmap(AddressSpace *as, void *buffer, hwaddr int is_write, hwaddr access_len) if ( buffer != bounce . buffer )  MemoryRegion * mr ; mr = qemu_ram_addr_from_host ( buffer , & addr1 ); MemoryRegion *qemu_ram_addr_from_host(void *ptr, ram_addr_t *ram_addr) RAMBlock * block ; uint8_t * host = ptr ; if ( xen_enabled ( ) )  * ram_addr = xen_ram_addr_from_mapcache ( ptr ); return qemu_get_ram_block ( * ram_addr ) -> mr ; static RAMBlock *qemu_get_ram_block(ram_addr_t addr) RAMBlock * block ; block = ram_list . mru_block; return block ; block = ram_list . mru_block; if ( block && block -> host && host - block -> host < block -> length )  if ( host - block -> host < block -> length )  return NULL ; return block -> mr ; assert ( mr != NULL ); 