memory: MemoryRegion: rename parent to container
Avoid confusion with the QOM parent. Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
		
							parent
							
								
									67891b8a85
								
							
						
					
					
						commit
						feca4ac18b
					
				| 
						 | 
				
			
			@ -135,7 +135,7 @@ struct MemoryRegion {
 | 
			
		|||
    const MemoryRegionIOMMUOps *iommu_ops;
 | 
			
		||||
    void *opaque;
 | 
			
		||||
    struct Object *owner;
 | 
			
		||||
    MemoryRegion *parent;
 | 
			
		||||
    MemoryRegion *container;
 | 
			
		||||
    Int128 size;
 | 
			
		||||
    hwaddr addr;
 | 
			
		||||
    void (*destructor)(MemoryRegion *mr);
 | 
			
		||||
| 
						 | 
				
			
			@ -815,11 +815,11 @@ void memory_region_set_enabled(MemoryRegion *mr, bool enabled);
 | 
			
		|||
/*
 | 
			
		||||
 * memory_region_set_address: dynamically update the address of a region
 | 
			
		||||
 *
 | 
			
		||||
 * Dynamically updates the address of a region, relative to its parent.
 | 
			
		||||
 * Dynamically updates the address of a region, relative to its container.
 | 
			
		||||
 * May be used on regions are currently part of a memory hierarchy.
 | 
			
		||||
 *
 | 
			
		||||
 * @mr: the region to be updated
 | 
			
		||||
 * @addr: new address, relative to parent region
 | 
			
		||||
 * @addr: new address, relative to container region
 | 
			
		||||
 */
 | 
			
		||||
void memory_region_set_address(MemoryRegion *mr, hwaddr addr);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -836,16 +836,16 @@ void memory_region_set_alias_offset(MemoryRegion *mr,
 | 
			
		|||
                                    hwaddr offset);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * memory_region_present: checks if an address relative to a @parent
 | 
			
		||||
 * translates into #MemoryRegion within @parent
 | 
			
		||||
 * memory_region_present: checks if an address relative to a @container
 | 
			
		||||
 * translates into #MemoryRegion within @container
 | 
			
		||||
 *
 | 
			
		||||
 * Answer whether a #MemoryRegion within @parent covers the address
 | 
			
		||||
 * Answer whether a #MemoryRegion within @container covers the address
 | 
			
		||||
 * @addr.
 | 
			
		||||
 *
 | 
			
		||||
 * @parent: a #MemoryRegion within which @addr is a relative address
 | 
			
		||||
 * @addr: the area within @parent to be searched
 | 
			
		||||
 * @container: a #MemoryRegion within which @addr is a relative address
 | 
			
		||||
 * @addr: the area within @container to be searched
 | 
			
		||||
 */
 | 
			
		||||
bool memory_region_present(MemoryRegion *parent, hwaddr addr);
 | 
			
		||||
bool memory_region_present(MemoryRegion *container, hwaddr addr);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * memory_region_find: translate an address/size relative to a
 | 
			
		||||
| 
						 | 
				
			
			@ -866,7 +866,7 @@ bool memory_region_present(MemoryRegion *parent, hwaddr addr);
 | 
			
		|||
 * Similarly, the .@offset_within_address_space is relative to the
 | 
			
		||||
 * address space that contains both regions, the passed and the
 | 
			
		||||
 * returned one.  However, in the special case where the @mr argument
 | 
			
		||||
 * has no parent (and thus is the root of the address space), the
 | 
			
		||||
 * has no container (and thus is the root of the address space), the
 | 
			
		||||
 * following will hold:
 | 
			
		||||
 *    .@offset_within_address_space >= @addr
 | 
			
		||||
 *    .@offset_within_address_space + .@size <= @addr + @size
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										40
									
								
								memory.c
								
								
								
								
							
							
						
						
									
										40
									
								
								memory.c
								
								
								
								
							| 
						 | 
				
			
			@ -485,8 +485,8 @@ static AddressSpace *memory_region_to_address_space(MemoryRegion *mr)
 | 
			
		|||
{
 | 
			
		||||
    AddressSpace *as;
 | 
			
		||||
 | 
			
		||||
    while (mr->parent) {
 | 
			
		||||
        mr = mr->parent;
 | 
			
		||||
    while (mr->container) {
 | 
			
		||||
        mr = mr->container;
 | 
			
		||||
    }
 | 
			
		||||
    QTAILQ_FOREACH(as, &address_spaces, address_spaces_link) {
 | 
			
		||||
        if (mr == as->root) {
 | 
			
		||||
| 
						 | 
				
			
			@ -850,7 +850,7 @@ void memory_region_init(MemoryRegion *mr,
 | 
			
		|||
    mr->opaque = NULL;
 | 
			
		||||
    mr->owner = owner;
 | 
			
		||||
    mr->iommu_ops = NULL;
 | 
			
		||||
    mr->parent = NULL;
 | 
			
		||||
    mr->container = NULL;
 | 
			
		||||
    mr->size = int128_make64(size);
 | 
			
		||||
    if (size == UINT64_MAX) {
 | 
			
		||||
        mr->size = int128_2_64();
 | 
			
		||||
| 
						 | 
				
			
			@ -1423,10 +1423,10 @@ void memory_region_del_eventfd(MemoryRegion *mr,
 | 
			
		|||
    memory_region_transaction_commit();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void memory_region_update_parent_subregions(MemoryRegion *subregion)
 | 
			
		||||
static void memory_region_update_container_subregions(MemoryRegion *subregion)
 | 
			
		||||
{
 | 
			
		||||
    hwaddr offset = subregion->addr;
 | 
			
		||||
    MemoryRegion *mr = subregion->parent;
 | 
			
		||||
    MemoryRegion *mr = subregion->container;
 | 
			
		||||
    MemoryRegion *other;
 | 
			
		||||
 | 
			
		||||
    memory_region_transaction_begin();
 | 
			
		||||
| 
						 | 
				
			
			@ -1469,10 +1469,10 @@ static void memory_region_add_subregion_common(MemoryRegion *mr,
 | 
			
		|||
                                               hwaddr offset,
 | 
			
		||||
                                               MemoryRegion *subregion)
 | 
			
		||||
{
 | 
			
		||||
    assert(!subregion->parent);
 | 
			
		||||
    subregion->parent = mr;
 | 
			
		||||
    assert(!subregion->container);
 | 
			
		||||
    subregion->container = mr;
 | 
			
		||||
    subregion->addr = offset;
 | 
			
		||||
    memory_region_update_parent_subregions(subregion);
 | 
			
		||||
    memory_region_update_container_subregions(subregion);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void memory_region_add_subregion(MemoryRegion *mr,
 | 
			
		||||
| 
						 | 
				
			
			@ -1498,8 +1498,8 @@ void memory_region_del_subregion(MemoryRegion *mr,
 | 
			
		|||
                                 MemoryRegion *subregion)
 | 
			
		||||
{
 | 
			
		||||
    memory_region_transaction_begin();
 | 
			
		||||
    assert(subregion->parent == mr);
 | 
			
		||||
    subregion->parent = NULL;
 | 
			
		||||
    assert(subregion->container == mr);
 | 
			
		||||
    subregion->container = NULL;
 | 
			
		||||
    QTAILQ_REMOVE(&mr->subregions, subregion, subregions_link);
 | 
			
		||||
    memory_region_unref(subregion);
 | 
			
		||||
    memory_region_update_pending |= mr->enabled && subregion->enabled;
 | 
			
		||||
| 
						 | 
				
			
			@ -1519,14 +1519,14 @@ void memory_region_set_enabled(MemoryRegion *mr, bool enabled)
 | 
			
		|||
 | 
			
		||||
static void memory_region_readd_subregion(MemoryRegion *mr)
 | 
			
		||||
{
 | 
			
		||||
    MemoryRegion *parent = mr->parent;
 | 
			
		||||
    MemoryRegion *container = mr->container;
 | 
			
		||||
 | 
			
		||||
    if (parent) {
 | 
			
		||||
    if (container) {
 | 
			
		||||
        memory_region_transaction_begin();
 | 
			
		||||
        memory_region_ref(mr);
 | 
			
		||||
        memory_region_del_subregion(parent, mr);
 | 
			
		||||
        mr->parent = parent;
 | 
			
		||||
        memory_region_update_parent_subregions(mr);
 | 
			
		||||
        memory_region_del_subregion(container, mr);
 | 
			
		||||
        mr->container = container;
 | 
			
		||||
        memory_region_update_container_subregions(mr);
 | 
			
		||||
        memory_region_unref(mr);
 | 
			
		||||
        memory_region_transaction_commit();
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -1578,10 +1578,10 @@ static FlatRange *flatview_lookup(FlatView *view, AddrRange addr)
 | 
			
		|||
                   sizeof(FlatRange), cmp_flatrange_addr);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool memory_region_present(MemoryRegion *parent, hwaddr addr)
 | 
			
		||||
bool memory_region_present(MemoryRegion *container, hwaddr addr)
 | 
			
		||||
{
 | 
			
		||||
    MemoryRegion *mr = memory_region_find(parent, addr, 1).mr;
 | 
			
		||||
    if (!mr || (mr == parent)) {
 | 
			
		||||
    MemoryRegion *mr = memory_region_find(container, addr, 1).mr;
 | 
			
		||||
    if (!mr || (mr == container)) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    memory_region_unref(mr);
 | 
			
		||||
| 
						 | 
				
			
			@ -1599,8 +1599,8 @@ MemoryRegionSection memory_region_find(MemoryRegion *mr,
 | 
			
		|||
    FlatRange *fr;
 | 
			
		||||
 | 
			
		||||
    addr += mr->addr;
 | 
			
		||||
    for (root = mr; root->parent; ) {
 | 
			
		||||
        root = root->parent;
 | 
			
		||||
    for (root = mr; root->container; ) {
 | 
			
		||||
        root = root->container;
 | 
			
		||||
        addr += root->addr;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue