mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 12:07:31 +00:00 
			
		
		
		
	 230376d285
			
		
	
	
		230376d285
		
	
	
	
	
		
			
			For testing, it can be useful to simulate an enormous amount of memory (e.g. 2^64 RAM). This adds an MMIO device that acts as sparse memory. When something writes a nonzero value to a sparse-mem address, we allocate a block of memory. For now, since the only user of this device is the fuzzer, we do not track and free zeroed blocks. The device has a very low priority (so it can be mapped beneath actual RAM, and virtual device MMIO regions). Signed-off-by: Alexander Bulekov <alxndr@bu.edu> Reviewed-by: Darren Kenny <darren.kenny@oracle.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
		
			
				
	
	
		
			20 lines
		
	
	
		
			427 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			427 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * A sparse memory device. Useful for fuzzing
 | |
|  *
 | |
|  * Copyright Red Hat Inc., 2021
 | |
|  *
 | |
|  * Authors:
 | |
|  *  Alexander Bulekov   <alxndr@bu.edu>
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU GPL, version 2 or later.
 | |
|  * See the COPYING file in the top-level directory.
 | |
|  */
 | |
| 
 | |
| #ifndef SPARSE_MEM_H
 | |
| #define SPARSE_MEM_H
 | |
| #define TYPE_SPARSE_MEM "sparse-mem"
 | |
| 
 | |
| MemoryRegion *sparse_mem_init(uint64_t addr, uint64_t length);
 | |
| 
 | |
| #endif
 |