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
					
				| 
						 | 
				
			
			@ -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…
	
		Reference in New Issue