Internal interfaces for memory API
get_system_memory() provides the root of the memory hierarchy. This interface is intended to be private between memory.c and exec.c. If this file is included elsewhere, it should be regarded as a bug (or TODO item). However, it will be temporarily needed for the conversion to hierarchical memory routing. Reviewed-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
		
							parent
							
								
									3d8e6bf977
								
							
						
					
					
						commit
						1c0ffa58af
					
				
							
								
								
									
										36
									
								
								exec-memory.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								exec-memory.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| /*
 | ||||
|  * Internal memory managment interfaces | ||||
|  * | ||||
|  * Copyright 2011 Red Hat, Inc. and/or its affiliates | ||||
|  * | ||||
|  * Authors: | ||||
|  *  Avi Kivity <avi@redhat.com> | ||||
|  * | ||||
|  * This work is licensed under the terms of the GNU GPL, version 2.  See | ||||
|  * the COPYING file in the top-level directory. | ||||
|  * | ||||
|  */ | ||||
| 
 | ||||
| #ifndef EXEC_MEMORY_H | ||||
| #define EXEC_MEMORY_H | ||||
| 
 | ||||
| /*
 | ||||
|  * Internal interfaces between memory.c/exec.c/vl.c.  Do not #include unless | ||||
|  * you're one of them. | ||||
|  */ | ||||
| 
 | ||||
| #include "memory.h" | ||||
| 
 | ||||
| #ifndef CONFIG_USER_ONLY | ||||
| 
 | ||||
| /* Get the root memory region.  This interface should only be used temporarily
 | ||||
|  * until a proper bus interface is available. | ||||
|  */ | ||||
| MemoryRegion *get_system_memory(void); | ||||
| 
 | ||||
| /* Set the root memory region.  This region is the system memory map. */ | ||||
| void set_system_memory_map(MemoryRegion *mr); | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| #endif | ||||
							
								
								
									
										7
									
								
								memory.c
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								memory.c
									
									
									
									
									
								
							| @ -12,6 +12,7 @@ | ||||
|  */ | ||||
| 
 | ||||
| #include "memory.h" | ||||
| #include "exec-memory.h" | ||||
| #include <assert.h> | ||||
| 
 | ||||
| typedef struct AddrRange AddrRange; | ||||
| @ -703,3 +704,9 @@ void memory_region_del_subregion(MemoryRegion *mr, | ||||
|     QTAILQ_REMOVE(&mr->subregions, subregion, subregions_link); | ||||
|     memory_region_update_topology(); | ||||
| } | ||||
| 
 | ||||
| void set_system_memory_map(MemoryRegion *mr) | ||||
| { | ||||
|     root_memory_region = mr; | ||||
|     memory_region_update_topology(); | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Avi Kivity
						Avi Kivity