rdma: introduce qemu_ram_foreach_block()
This is used during RDMA initialization in order to transmit a description of all the RAM blocks to the peer for later dynamic chunk registration purposes. Reviewed-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Chegu Vinod <chegu_vinod@hp.com> Tested-by: Chegu Vinod <chegu_vinod@hp.com> Tested-by: Michael R. Hines <mrhines@us.ibm.com> Signed-off-by: Michael R. Hines <mrhines@us.ibm.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
		
							parent
							
								
									be903b2ae7
								
							
						
					
					
						commit
						bd2fa51fcd
					
				
							
								
								
									
										9
									
								
								exec.c
								
								
								
								
							
							
						
						
									
										9
									
								
								exec.c
								
								
								
								
							| 
						 | 
				
			
			@ -2630,3 +2630,12 @@ bool cpu_physical_memory_is_io(hwaddr phys_addr)
 | 
			
		|||
             memory_region_is_romd(mr));
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque)
 | 
			
		||||
{
 | 
			
		||||
    RAMBlock *block;
 | 
			
		||||
 | 
			
		||||
    QTAILQ_FOREACH(block, &ram_list.blocks, next) {
 | 
			
		||||
        func(block->host, block->offset, block->length, opaque);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -113,6 +113,11 @@ void cpu_physical_memory_write_rom(hwaddr addr,
 | 
			
		|||
extern struct MemoryRegion io_mem_rom;
 | 
			
		||||
extern struct MemoryRegion io_mem_notdirty;
 | 
			
		||||
 | 
			
		||||
typedef void (RAMBlockIterFunc)(void *host_addr,
 | 
			
		||||
    ram_addr_t offset, ram_addr_t length, void *opaque);
 | 
			
		||||
 | 
			
		||||
void qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /* !CPU_COMMON_H */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue