Lines Matching refs:mr

220     MemoryRegion *mr;  member
237 .mr = fr->mr, in section_from_flat_range()
250 return a->mr == b->mr in flatrange_equal()
285 memory_region_ref(range->mr); in flatview_insert()
298 memory_region_unref(view->ranges[i].mr); in flatview_destroy()
322 && r1->mr == r2->mr in can_merge()
348 memory_region_unref(view->ranges[k].mr); in flatview_simplify()
356 static bool memory_region_big_endian(MemoryRegion *mr) in memory_region_big_endian() argument
359 return mr->ops->endianness != DEVICE_LITTLE_ENDIAN; in memory_region_big_endian()
361 return mr->ops->endianness == DEVICE_BIG_ENDIAN; in memory_region_big_endian()
365 static void adjust_endianness(MemoryRegion *mr, uint64_t *data, MemOp op) in adjust_endianness() argument
367 if ((op & MO_BSWAP) != devend_memop(mr->ops->endianness)) { in adjust_endianness()
413 static hwaddr memory_region_to_absolute_addr(MemoryRegion *mr, hwaddr offset) in memory_region_to_absolute_addr() argument
418 abs_addr += mr->addr; in memory_region_to_absolute_addr()
419 for (root = mr; root->container; ) { in memory_region_to_absolute_addr()
435 static MemTxResult memory_region_read_accessor(MemoryRegion *mr, in memory_region_read_accessor() argument
445 tmp = mr->ops->read(mr->opaque, addr, size); in memory_region_read_accessor()
446 if (mr->subpage) { in memory_region_read_accessor()
447 trace_memory_region_subpage_read(get_cpu_index(), mr, addr, tmp, size); in memory_region_read_accessor()
449 hwaddr abs_addr = memory_region_to_absolute_addr(mr, addr); in memory_region_read_accessor()
450 trace_memory_region_ops_read(get_cpu_index(), mr, abs_addr, tmp, size, in memory_region_read_accessor()
451 memory_region_name(mr)); in memory_region_read_accessor()
457 static MemTxResult memory_region_read_with_attrs_accessor(MemoryRegion *mr, in memory_region_read_with_attrs_accessor() argument
468 r = mr->ops->read_with_attrs(mr->opaque, addr, &tmp, size, attrs); in memory_region_read_with_attrs_accessor()
469 if (mr->subpage) { in memory_region_read_with_attrs_accessor()
470 trace_memory_region_subpage_read(get_cpu_index(), mr, addr, tmp, size); in memory_region_read_with_attrs_accessor()
472 hwaddr abs_addr = memory_region_to_absolute_addr(mr, addr); in memory_region_read_with_attrs_accessor()
473 trace_memory_region_ops_read(get_cpu_index(), mr, abs_addr, tmp, size, in memory_region_read_with_attrs_accessor()
474 memory_region_name(mr)); in memory_region_read_with_attrs_accessor()
480 static MemTxResult memory_region_write_accessor(MemoryRegion *mr, in memory_region_write_accessor() argument
490 if (mr->subpage) { in memory_region_write_accessor()
491 trace_memory_region_subpage_write(get_cpu_index(), mr, addr, tmp, size); in memory_region_write_accessor()
493 hwaddr abs_addr = memory_region_to_absolute_addr(mr, addr); in memory_region_write_accessor()
494 trace_memory_region_ops_write(get_cpu_index(), mr, abs_addr, tmp, size, in memory_region_write_accessor()
495 memory_region_name(mr)); in memory_region_write_accessor()
497 mr->ops->write(mr->opaque, addr, tmp, size); in memory_region_write_accessor()
501 static MemTxResult memory_region_write_with_attrs_accessor(MemoryRegion *mr, in memory_region_write_with_attrs_accessor() argument
511 if (mr->subpage) { in memory_region_write_with_attrs_accessor()
512 trace_memory_region_subpage_write(get_cpu_index(), mr, addr, tmp, size); in memory_region_write_with_attrs_accessor()
514 hwaddr abs_addr = memory_region_to_absolute_addr(mr, addr); in memory_region_write_with_attrs_accessor()
515 trace_memory_region_ops_write(get_cpu_index(), mr, abs_addr, tmp, size, in memory_region_write_with_attrs_accessor()
516 memory_region_name(mr)); in memory_region_write_with_attrs_accessor()
518 return mr->ops->write_with_attrs(mr->opaque, addr, tmp, size, attrs); in memory_region_write_with_attrs_accessor()
527 (MemoryRegion *mr, in access_with_adjusted_size_aligned() argument
534 MemoryRegion *mr, in access_with_adjusted_size_aligned()
551 if (mr->dev && !mr->disable_reentrancy_guard && in access_with_adjusted_size_aligned()
552 !mr->ram_device && !mr->ram && !mr->rom_device && !mr->readonly) { in access_with_adjusted_size_aligned()
553 if (mr->dev->mem_reentrancy_guard.engaged_in_io) { in access_with_adjusted_size_aligned()
556 memory_region_name(mr), addr); in access_with_adjusted_size_aligned()
559 mr->dev->mem_reentrancy_guard.engaged_in_io = true; in access_with_adjusted_size_aligned()
565 if (memory_region_big_endian(mr)) { in access_with_adjusted_size_aligned()
567 r |= access_fn(mr, addr + i, value, access_size, in access_with_adjusted_size_aligned()
572 r |= access_fn(mr, addr + i, value, access_size, i * 8, in access_with_adjusted_size_aligned()
576 if (mr->dev && reentrancy_guard_applied) { in access_with_adjusted_size_aligned()
577 mr->dev->mem_reentrancy_guard.engaged_in_io = false; in access_with_adjusted_size_aligned()
594 MemTxResult (*access)(MemoryRegion *mr, in access_with_adjusted_size_unaligned() argument
601 MemoryRegion *mr, in access_with_adjusted_size_unaligned()
621 if (memory_region_big_endian(mr)) { in access_with_adjusted_size_unaligned()
636 r |= access(mr, cur, &access_value, access_size, in access_with_adjusted_size_unaligned()
656 r |= access(mr, cur, &access_value, access_size, in access_with_adjusted_size_unaligned()
675 MemTxResult (*access)(MemoryRegion *mr, in access_with_adjusted_size() argument
682 MemoryRegion *mr, in access_with_adjusted_size()
699 access_size_min, access_size_max, unaligned, access, mr, attrs); in access_with_adjusted_size()
707 access_size_min, access_size_max, access, mr, attrs); in access_with_adjusted_size()
710 static AddressSpace *memory_region_to_address_space(MemoryRegion *mr) in memory_region_to_address_space() argument
714 while (mr->container) { in memory_region_to_address_space()
715 mr = mr->container; in memory_region_to_address_space()
718 if (mr == as->root) { in memory_region_to_address_space()
729 MemoryRegion *mr, in render_memory_region() argument
744 if (!mr->enabled) { in render_memory_region()
748 int128_addto(&base, int128_make64(mr->addr)); in render_memory_region()
749 readonly |= mr->readonly; in render_memory_region()
750 nonvolatile |= mr->nonvolatile; in render_memory_region()
751 unmergeable |= mr->unmergeable; in render_memory_region()
753 tmp = addrrange_make(base, mr->size); in render_memory_region()
761 if (mr->alias) { in render_memory_region()
762 int128_subfrom(&base, int128_make64(mr->alias->addr)); in render_memory_region()
763 int128_subfrom(&base, int128_make64(mr->alias_offset)); in render_memory_region()
764 render_memory_region(view, mr->alias, base, clip, in render_memory_region()
770 QTAILQ_FOREACH(subregion, &mr->subregions, subregions_link) { in render_memory_region()
775 if (!mr->terminates) { in render_memory_region()
783 fr.mr = mr; in render_memory_region()
784 fr.dirty_log_mask = memory_region_get_dirty_log_mask(mr); in render_memory_region()
785 fr.romd_mode = mr->romd_mode; in render_memory_region()
828 if (cb(fr->addr.start, fr->addr.size, fr->mr, in flatview_for_each_range()
835 static MemoryRegion *memory_region_get_flatview_root(MemoryRegion *mr) in memory_region_get_flatview_root() argument
837 while (mr->enabled) { in memory_region_get_flatview_root()
838 if (mr->alias) { in memory_region_get_flatview_root()
839 if (!mr->alias_offset && int128_ge(mr->size, mr->alias->size)) { in memory_region_get_flatview_root()
843 mr = mr->alias; in memory_region_get_flatview_root()
846 } else if (!mr->terminates) { in memory_region_get_flatview_root()
849 QTAILQ_FOREACH(child, &mr->subregions, subregions_link) { in memory_region_get_flatview_root()
855 if (!child->addr && int128_ge(mr->size, child->size)) { in memory_region_get_flatview_root()
868 mr = next; in memory_region_get_flatview_root()
873 return mr; in memory_region_get_flatview_root()
880 static FlatView *generate_memory_topology(MemoryRegion *mr) in generate_memory_topology() argument
885 view = flatview_new(mr); in generate_memory_topology()
887 if (mr) { in generate_memory_topology()
888 render_memory_region(view, mr, int128_zero(), in generate_memory_topology()
901 g_hash_table_replace(flat_views, mr, view); in generate_memory_topology()
993 for (i = 0; i < fr->mr->ioeventfd_nb; ++i) { in address_space_update_ioeventfds()
994 tmp = addrrange_shift(fr->mr->ioeventfds[i].addr, in address_space_update_ioeventfds()
1004 ioeventfds[ioeventfd_nb-1] = fr->mr->ioeventfds[i]; in address_space_update_ioeventfds()
1052 QTAILQ_FOREACH(cmr, &fr->mr->coalesced, link) { in flat_range_coalesced_io_del()
1059 MemoryRegion *mr = fr->mr; in flat_range_coalesced_io_add() local
1062 if (QTAILQ_EMPTY(&mr->coalesced)) { in flat_range_coalesced_io_add()
1066 QTAILQ_FOREACH(cmr, &mr->coalesced, link) { in flat_range_coalesced_io_add()
1078 MemoryRegion *mr = fr->mr; in flat_range_coalesced_io_notify_listener_add_del() local
1081 QTAILQ_FOREACH(cmr, &mr->coalesced, link) { in flat_range_coalesced_io_notify_listener_add_del()
1306 static void memory_region_destructor_none(MemoryRegion *mr) in memory_region_destructor_none() argument
1310 static void memory_region_destructor_ram(MemoryRegion *mr) in memory_region_destructor_ram() argument
1312 qemu_ram_free(mr->ram_block); in memory_region_destructor_ram()
1349 static void memory_region_do_init(MemoryRegion *mr, in memory_region_do_init() argument
1354 mr->size = int128_make64(size); in memory_region_do_init()
1356 mr->size = int128_2_64(); in memory_region_do_init()
1358 mr->name = g_strdup(name); in memory_region_do_init()
1359 mr->owner = owner; in memory_region_do_init()
1360 mr->dev = (DeviceState *) object_dynamic_cast(mr->owner, TYPE_DEVICE); in memory_region_do_init()
1361 mr->ram_block = NULL; in memory_region_do_init()
1371 object_property_add_child(owner, name_array, OBJECT(mr)); in memory_region_do_init()
1372 object_unref(OBJECT(mr)); in memory_region_do_init()
1378 void memory_region_init(MemoryRegion *mr, in memory_region_init() argument
1383 object_initialize(mr, sizeof(*mr), TYPE_MEMORY_REGION); in memory_region_init()
1384 memory_region_do_init(mr, owner, name, size); in memory_region_init()
1391 MemoryRegion *mr = MEMORY_REGION(obj); in memory_region_get_container() local
1394 if (mr->container) { in memory_region_get_container()
1395 path = object_get_canonical_path(OBJECT(mr->container)); in memory_region_get_container()
1398 if (mr->container) { in memory_region_get_container()
1406 MemoryRegion *mr = MEMORY_REGION(obj); in memory_region_resolve_container() local
1408 return OBJECT(mr->container); in memory_region_resolve_container()
1415 MemoryRegion *mr = MEMORY_REGION(obj); in memory_region_get_priority() local
1416 int32_t value = mr->priority; in memory_region_get_priority()
1424 MemoryRegion *mr = MEMORY_REGION(obj); in memory_region_get_size() local
1425 uint64_t value = memory_region_size(mr); in memory_region_get_size()
1432 MemoryRegion *mr = MEMORY_REGION(obj); in memory_region_initfn() local
1435 mr->ops = &unassigned_mem_ops; in memory_region_initfn()
1436 mr->enabled = true; in memory_region_initfn()
1437 mr->romd_mode = true; in memory_region_initfn()
1438 mr->destructor = memory_region_destructor_none; in memory_region_initfn()
1439 QTAILQ_INIT(&mr->subregions); in memory_region_initfn()
1440 QTAILQ_INIT(&mr->coalesced); in memory_region_initfn()
1442 op = object_property_add(OBJECT(mr), "container", in memory_region_initfn()
1449 object_property_add_uint64_ptr(OBJECT(mr), "addr", in memory_region_initfn()
1450 &mr->addr, OBJ_PROP_FLAG_READ); in memory_region_initfn()
1451 object_property_add(OBJECT(mr), "priority", "uint32", in memory_region_initfn()
1455 object_property_add(OBJECT(mr), "size", "uint64", in memory_region_initfn()
1463 MemoryRegion *mr = MEMORY_REGION(obj); in iommu_memory_region_initfn() local
1465 mr->is_iommu = true; in iommu_memory_region_initfn()
1500 MemoryRegion *mr = opaque; in memory_region_ram_device_read() local
1501 uint64_t data = ldn_he_p(mr->ram_block->host + addr, size); in memory_region_ram_device_read()
1503 trace_memory_region_ram_device_read(get_cpu_index(), mr, addr, data, size); in memory_region_ram_device_read()
1511 MemoryRegion *mr = opaque; in memory_region_ram_device_write() local
1513 trace_memory_region_ram_device_write(get_cpu_index(), mr, addr, data, size); in memory_region_ram_device_write()
1515 stn_he_p(mr->ram_block->host + addr, size, data); in memory_region_ram_device_write()
1534 bool memory_region_access_valid(MemoryRegion *mr, in memory_region_access_valid() argument
1540 if (mr->ops->valid.accepts in memory_region_access_valid()
1541 && !mr->ops->valid.accepts(mr->opaque, addr, size, is_write, attrs)) { in memory_region_access_valid()
1545 addr, size, memory_region_name(mr)); in memory_region_access_valid()
1549 if (!mr->ops->valid.unaligned && (addr & (size - 1))) { in memory_region_access_valid()
1553 addr, size, memory_region_name(mr)); in memory_region_access_valid()
1558 if (!mr->ops->valid.max_access_size) { in memory_region_access_valid()
1562 if (size > mr->ops->valid.max_access_size in memory_region_access_valid()
1563 || size < mr->ops->valid.min_access_size) { in memory_region_access_valid()
1568 addr, size, memory_region_name(mr), in memory_region_access_valid()
1569 mr->ops->valid.min_access_size, in memory_region_access_valid()
1570 mr->ops->valid.max_access_size); in memory_region_access_valid()
1576 static MemTxResult memory_region_dispatch_read1(MemoryRegion *mr, in memory_region_dispatch_read1() argument
1584 if (mr->ops->read) { in memory_region_dispatch_read1()
1586 mr->ops->impl.min_access_size, in memory_region_dispatch_read1()
1587 mr->ops->impl.max_access_size, in memory_region_dispatch_read1()
1588 mr->ops->impl.unaligned, in memory_region_dispatch_read1()
1590 mr, attrs); in memory_region_dispatch_read1()
1593 mr->ops->impl.min_access_size, in memory_region_dispatch_read1()
1594 mr->ops->impl.max_access_size, in memory_region_dispatch_read1()
1595 mr->ops->impl.unaligned, in memory_region_dispatch_read1()
1597 mr, attrs); in memory_region_dispatch_read1()
1601 MemTxResult memory_region_dispatch_read(MemoryRegion *mr, in memory_region_dispatch_read() argument
1610 if (mr->alias) { in memory_region_dispatch_read()
1611 return memory_region_dispatch_read(mr->alias, in memory_region_dispatch_read()
1612 mr->alias_offset + addr, in memory_region_dispatch_read()
1615 if (!memory_region_access_valid(mr, addr, size, false, attrs)) { in memory_region_dispatch_read()
1616 *pval = unassigned_mem_read(mr, addr, size); in memory_region_dispatch_read()
1620 r = memory_region_dispatch_read1(mr, addr, pval, size, attrs); in memory_region_dispatch_read()
1621 adjust_endianness(mr, pval, op); in memory_region_dispatch_read()
1626 static bool memory_region_dispatch_write_eventfds(MemoryRegion *mr, in memory_region_dispatch_write_eventfds() argument
1638 for (i = 0; i < mr->ioeventfd_nb; i++) { in memory_region_dispatch_write_eventfds()
1639 ioeventfd.match_data = mr->ioeventfds[i].match_data; in memory_region_dispatch_write_eventfds()
1640 ioeventfd.e = mr->ioeventfds[i].e; in memory_region_dispatch_write_eventfds()
1642 if (memory_region_ioeventfd_equal(&ioeventfd, &mr->ioeventfds[i])) { in memory_region_dispatch_write_eventfds()
1651 MemTxResult memory_region_dispatch_write(MemoryRegion *mr, in memory_region_dispatch_write() argument
1659 if (mr->alias) { in memory_region_dispatch_write()
1660 return memory_region_dispatch_write(mr->alias, in memory_region_dispatch_write()
1661 mr->alias_offset + addr, in memory_region_dispatch_write()
1664 if (!memory_region_access_valid(mr, addr, size, true, attrs)) { in memory_region_dispatch_write()
1665 unassigned_mem_write(mr, addr, data, size); in memory_region_dispatch_write()
1669 adjust_endianness(mr, &data, op); in memory_region_dispatch_write()
1677 memory_region_dispatch_write_eventfds(mr, addr, data, size, attrs)) { in memory_region_dispatch_write()
1681 if (mr->ops->write) { in memory_region_dispatch_write()
1683 mr->ops->impl.min_access_size, in memory_region_dispatch_write()
1684 mr->ops->impl.max_access_size, in memory_region_dispatch_write()
1685 memory_region_write_accessor, mr, in memory_region_dispatch_write()
1690 mr->ops->impl.min_access_size, in memory_region_dispatch_write()
1691 mr->ops->impl.max_access_size, in memory_region_dispatch_write()
1693 mr, attrs); in memory_region_dispatch_write()
1697 void memory_region_init_io(MemoryRegion *mr, in memory_region_init_io() argument
1704 memory_region_init(mr, owner, name, size); in memory_region_init_io()
1705 mr->ops = ops ? ops : &unassigned_mem_ops; in memory_region_init_io()
1706 mr->opaque = opaque; in memory_region_init_io()
1707 mr->terminates = true; in memory_region_init_io()
1710 bool memory_region_init_ram_nomigrate(MemoryRegion *mr, in memory_region_init_ram_nomigrate() argument
1716 return memory_region_init_ram_flags_nomigrate(mr, owner, name, in memory_region_init_ram_nomigrate()
1720 bool memory_region_init_ram_flags_nomigrate(MemoryRegion *mr, in memory_region_init_ram_flags_nomigrate() argument
1728 memory_region_init(mr, owner, name, size); in memory_region_init_ram_flags_nomigrate()
1729 mr->ram = true; in memory_region_init_ram_flags_nomigrate()
1730 mr->terminates = true; in memory_region_init_ram_flags_nomigrate()
1731 mr->destructor = memory_region_destructor_ram; in memory_region_init_ram_flags_nomigrate()
1732 mr->ram_block = qemu_ram_alloc(size, ram_flags, mr, &err); in memory_region_init_ram_flags_nomigrate()
1734 mr->size = int128_zero(); in memory_region_init_ram_flags_nomigrate()
1735 object_unparent(OBJECT(mr)); in memory_region_init_ram_flags_nomigrate()
1742 bool memory_region_init_resizeable_ram(MemoryRegion *mr, in memory_region_init_resizeable_ram() argument
1753 memory_region_init(mr, owner, name, size); in memory_region_init_resizeable_ram()
1754 mr->ram = true; in memory_region_init_resizeable_ram()
1755 mr->terminates = true; in memory_region_init_resizeable_ram()
1756 mr->destructor = memory_region_destructor_ram; in memory_region_init_resizeable_ram()
1757 mr->ram_block = qemu_ram_alloc_resizeable(size, max_size, resized, in memory_region_init_resizeable_ram()
1758 mr, &err); in memory_region_init_resizeable_ram()
1760 mr->size = int128_zero(); in memory_region_init_resizeable_ram()
1761 object_unparent(OBJECT(mr)); in memory_region_init_resizeable_ram()
1769 bool memory_region_init_ram_from_file(MemoryRegion *mr, in memory_region_init_ram_from_file() argument
1780 memory_region_init(mr, owner, name, size); in memory_region_init_ram_from_file()
1781 mr->ram = true; in memory_region_init_ram_from_file()
1782 mr->readonly = !!(ram_flags & RAM_READONLY); in memory_region_init_ram_from_file()
1783 mr->terminates = true; in memory_region_init_ram_from_file()
1784 mr->destructor = memory_region_destructor_ram; in memory_region_init_ram_from_file()
1785 mr->align = align; in memory_region_init_ram_from_file()
1786 mr->ram_block = qemu_ram_alloc_from_file(size, mr, ram_flags, path, in memory_region_init_ram_from_file()
1789 mr->size = int128_zero(); in memory_region_init_ram_from_file()
1790 object_unparent(OBJECT(mr)); in memory_region_init_ram_from_file()
1797 bool memory_region_init_ram_from_fd(MemoryRegion *mr, in memory_region_init_ram_from_fd() argument
1807 memory_region_init(mr, owner, name, size); in memory_region_init_ram_from_fd()
1808 mr->ram = true; in memory_region_init_ram_from_fd()
1809 mr->readonly = !!(ram_flags & RAM_READONLY); in memory_region_init_ram_from_fd()
1810 mr->terminates = true; in memory_region_init_ram_from_fd()
1811 mr->destructor = memory_region_destructor_ram; in memory_region_init_ram_from_fd()
1812 mr->ram_block = qemu_ram_alloc_from_fd(size, mr, ram_flags, fd, offset, in memory_region_init_ram_from_fd()
1815 mr->size = int128_zero(); in memory_region_init_ram_from_fd()
1816 object_unparent(OBJECT(mr)); in memory_region_init_ram_from_fd()
1824 void memory_region_init_ram_ptr(MemoryRegion *mr, in memory_region_init_ram_ptr() argument
1830 memory_region_init(mr, owner, name, size); in memory_region_init_ram_ptr()
1831 mr->ram = true; in memory_region_init_ram_ptr()
1832 mr->terminates = true; in memory_region_init_ram_ptr()
1833 mr->destructor = memory_region_destructor_ram; in memory_region_init_ram_ptr()
1837 mr->ram_block = qemu_ram_alloc_from_ptr(size, ptr, mr, &error_abort); in memory_region_init_ram_ptr()
1840 void memory_region_init_ram_device_ptr(MemoryRegion *mr, in memory_region_init_ram_device_ptr() argument
1846 memory_region_init(mr, owner, name, size); in memory_region_init_ram_device_ptr()
1847 mr->ram = true; in memory_region_init_ram_device_ptr()
1848 mr->terminates = true; in memory_region_init_ram_device_ptr()
1849 mr->ram_device = true; in memory_region_init_ram_device_ptr()
1850 mr->ops = &ram_device_mem_ops; in memory_region_init_ram_device_ptr()
1851 mr->opaque = mr; in memory_region_init_ram_device_ptr()
1852 mr->destructor = memory_region_destructor_ram; in memory_region_init_ram_device_ptr()
1856 mr->ram_block = qemu_ram_alloc_from_ptr(size, ptr, mr, &error_abort); in memory_region_init_ram_device_ptr()
1859 void memory_region_init_alias(MemoryRegion *mr, in memory_region_init_alias() argument
1866 memory_region_init(mr, owner, name, size); in memory_region_init_alias()
1867 mr->alias = orig; in memory_region_init_alias()
1868 mr->alias_offset = offset; in memory_region_init_alias()
1871 bool memory_region_init_rom_nomigrate(MemoryRegion *mr, in memory_region_init_rom_nomigrate() argument
1877 if (!memory_region_init_ram_flags_nomigrate(mr, owner, name, in memory_region_init_rom_nomigrate()
1881 mr->readonly = true; in memory_region_init_rom_nomigrate()
1886 bool memory_region_init_rom_device_nomigrate(MemoryRegion *mr, in memory_region_init_rom_device_nomigrate() argument
1896 memory_region_init(mr, owner, name, size); in memory_region_init_rom_device_nomigrate()
1897 mr->ops = ops; in memory_region_init_rom_device_nomigrate()
1898 mr->opaque = opaque; in memory_region_init_rom_device_nomigrate()
1899 mr->terminates = true; in memory_region_init_rom_device_nomigrate()
1900 mr->rom_device = true; in memory_region_init_rom_device_nomigrate()
1901 mr->destructor = memory_region_destructor_ram; in memory_region_init_rom_device_nomigrate()
1902 mr->ram_block = qemu_ram_alloc(size, 0, mr, &err); in memory_region_init_rom_device_nomigrate()
1904 mr->size = int128_zero(); in memory_region_init_rom_device_nomigrate()
1905 object_unparent(OBJECT(mr)); in memory_region_init_rom_device_nomigrate()
1920 struct MemoryRegion *mr; in memory_region_init_iommu() local
1923 mr = MEMORY_REGION(_iommu_mr); in memory_region_init_iommu()
1924 memory_region_do_init(mr, owner, name, size); in memory_region_init_iommu()
1925 iommu_mr = IOMMU_MEMORY_REGION(mr); in memory_region_init_iommu()
1926 mr->terminates = true; /* then re-forwards */ in memory_region_init_iommu()
1933 MemoryRegion *mr = MEMORY_REGION(obj); in memory_region_finalize() local
1935 assert(!mr->container); in memory_region_finalize()
1943 mr->enabled = false; in memory_region_finalize()
1945 while (!QTAILQ_EMPTY(&mr->subregions)) { in memory_region_finalize()
1946 MemoryRegion *subregion = QTAILQ_FIRST(&mr->subregions); in memory_region_finalize()
1947 memory_region_del_subregion(mr, subregion); in memory_region_finalize()
1951 mr->destructor(mr); in memory_region_finalize()
1952 memory_region_clear_coalescing(mr); in memory_region_finalize()
1953 g_free((char *)mr->name); in memory_region_finalize()
1954 g_free(mr->ioeventfds); in memory_region_finalize()
1957 Object *memory_region_owner(MemoryRegion *mr) in memory_region_owner() argument
1959 Object *obj = OBJECT(mr); in memory_region_owner()
1963 void memory_region_ref(MemoryRegion *mr) in memory_region_ref() argument
1975 if (mr && mr->owner) { in memory_region_ref()
1976 object_ref(mr->owner); in memory_region_ref()
1980 void memory_region_unref(MemoryRegion *mr) in memory_region_unref() argument
1982 if (mr && mr->owner) { in memory_region_unref()
1983 object_unref(mr->owner); in memory_region_unref()
1987 uint64_t memory_region_size(MemoryRegion *mr) in memory_region_size() argument
1989 if (int128_eq(mr->size, int128_2_64())) { in memory_region_size()
1992 return int128_get64(mr->size); in memory_region_size()
1995 const char *memory_region_name(const MemoryRegion *mr) in memory_region_name() argument
1997 if (!mr->name) { in memory_region_name()
1998 ((MemoryRegion *)mr)->name = in memory_region_name()
1999 g_strdup(object_get_canonical_path_component(OBJECT(mr))); in memory_region_name()
2001 return mr->name; in memory_region_name()
2004 bool memory_region_is_ram_device(MemoryRegion *mr) in memory_region_is_ram_device() argument
2006 return mr->ram_device; in memory_region_is_ram_device()
2009 bool memory_region_is_protected(MemoryRegion *mr) in memory_region_is_protected() argument
2011 return mr->ram && (mr->ram_block->flags & RAM_PROTECTED); in memory_region_is_protected()
2014 bool memory_region_has_guest_memfd(MemoryRegion *mr) in memory_region_has_guest_memfd() argument
2016 return mr->ram_block && mr->ram_block->guest_memfd >= 0; in memory_region_has_guest_memfd()
2019 uint8_t memory_region_get_dirty_log_mask(MemoryRegion *mr) in memory_region_get_dirty_log_mask() argument
2021 uint8_t mask = mr->dirty_log_mask; in memory_region_get_dirty_log_mask()
2022 RAMBlock *rb = mr->ram_block; in memory_region_get_dirty_log_mask()
2025 memory_region_is_iommu(mr))) { in memory_region_get_dirty_log_mask()
2036 bool memory_region_is_logging(MemoryRegion *mr, uint8_t client) in memory_region_is_logging() argument
2038 return memory_region_get_dirty_log_mask(mr) & (1 << client); in memory_region_is_logging()
2065 int memory_region_register_iommu_notifier(MemoryRegion *mr, in memory_region_register_iommu_notifier() argument
2071 if (mr->alias) { in memory_region_register_iommu_notifier()
2072 return memory_region_register_iommu_notifier(mr->alias, n, errp); in memory_region_register_iommu_notifier()
2076 iommu_mr = IOMMU_MEMORY_REGION(mr); in memory_region_register_iommu_notifier()
2102 MemoryRegion *mr = MEMORY_REGION(iommu_mr); in memory_region_iommu_replay() local
2115 for (addr = 0; addr < memory_region_size(mr); addr += granularity) { in memory_region_iommu_replay()
2129 void memory_region_unregister_iommu_notifier(MemoryRegion *mr, in memory_region_unregister_iommu_notifier() argument
2134 if (mr->alias) { in memory_region_unregister_iommu_notifier()
2135 memory_region_unregister_iommu_notifier(mr->alias, n); in memory_region_unregister_iommu_notifier()
2139 iommu_mr = IOMMU_MEMORY_REGION(mr); in memory_region_unregister_iommu_notifier()
2239 RamDiscardManager *memory_region_get_ram_discard_manager(MemoryRegion *mr) in memory_region_get_ram_discard_manager() argument
2241 if (!memory_region_is_ram(mr)) { in memory_region_get_ram_discard_manager()
2244 return mr->rdm; in memory_region_get_ram_discard_manager()
2247 void memory_region_set_ram_discard_manager(MemoryRegion *mr, in memory_region_set_ram_discard_manager() argument
2250 g_assert(memory_region_is_ram(mr)); in memory_region_set_ram_discard_manager()
2251 g_assert(!rdm || !mr->rdm); in memory_region_set_ram_discard_manager()
2252 mr->rdm = rdm; in memory_region_set_ram_discard_manager()
2256 const MemoryRegion *mr) in ram_discard_manager_get_min_granularity() argument
2261 return rdmc->get_min_granularity(rdm, mr); in ram_discard_manager_get_min_granularity()
2319 MemoryRegion *mr; in memory_get_xlat_addr() local
2332 mr = address_space_translate(&address_space_memory, iotlb->translated_addr, in memory_get_xlat_addr()
2334 if (!memory_region_is_ram(mr)) { in memory_get_xlat_addr()
2337 } else if (memory_region_has_ram_discard_manager(mr)) { in memory_get_xlat_addr()
2338 RamDiscardManager *rdm = memory_region_get_ram_discard_manager(mr); in memory_get_xlat_addr()
2340 .mr = mr, in memory_get_xlat_addr()
2371 *vaddr = memory_region_get_ram_ptr(mr) + xlat; in memory_get_xlat_addr()
2375 *ram_addr = memory_region_get_ram_addr(mr) + xlat; in memory_get_xlat_addr()
2379 *read_only = !writable || mr->readonly; in memory_get_xlat_addr()
2385 void memory_region_set_log(MemoryRegion *mr, bool log, unsigned client) in memory_region_set_log() argument
2391 old_logging = mr->vga_logging_count; in memory_region_set_log()
2392 mr->vga_logging_count += log ? 1 : -1; in memory_region_set_log()
2393 if (!!old_logging == !!mr->vga_logging_count) { in memory_region_set_log()
2398 mr->dirty_log_mask = (mr->dirty_log_mask & ~mask) | (log * mask); in memory_region_set_log()
2399 memory_region_update_pending |= mr->enabled; in memory_region_set_log()
2403 void memory_region_set_dirty(MemoryRegion *mr, hwaddr addr, in memory_region_set_dirty() argument
2406 assert(mr->ram_block); in memory_region_set_dirty()
2407 cpu_physical_memory_set_dirty_range(memory_region_get_ram_addr(mr) + addr, in memory_region_set_dirty()
2409 memory_region_get_dirty_log_mask(mr)); in memory_region_set_dirty()
2416 static void memory_region_sync_dirty_bitmap(MemoryRegion *mr, bool last_stage) in memory_region_sync_dirty_bitmap() argument
2433 if (fr->dirty_log_mask && (!mr || fr->mr == mr)) { in memory_region_sync_dirty_bitmap()
2439 trace_memory_region_sync_dirty(mr ? mr->name : "(all)", listener->name, 0); in memory_region_sync_dirty_bitmap()
2447 trace_memory_region_sync_dirty(mr ? mr->name : "(all)", listener->name, 1); in memory_region_sync_dirty_bitmap()
2452 void memory_region_clear_dirty_bitmap(MemoryRegion *mr, hwaddr start, in memory_region_clear_dirty_bitmap() argument
2469 if (!fr->dirty_log_mask || fr->mr != mr) { in memory_region_clear_dirty_bitmap()
2503 DirtyBitmapSnapshot *memory_region_snapshot_and_clear_dirty(MemoryRegion *mr, in memory_region_snapshot_and_clear_dirty() argument
2509 assert(mr->ram_block); in memory_region_snapshot_and_clear_dirty()
2510 memory_region_sync_dirty_bitmap(mr, false); in memory_region_snapshot_and_clear_dirty()
2511 snapshot = cpu_physical_memory_snapshot_and_clear_dirty(mr, addr, size, client); in memory_region_snapshot_and_clear_dirty()
2516 bool memory_region_snapshot_get_dirty(MemoryRegion *mr, DirtyBitmapSnapshot *snap, in memory_region_snapshot_get_dirty() argument
2519 assert(mr->ram_block); in memory_region_snapshot_get_dirty()
2521 memory_region_get_ram_addr(mr) + addr, size); in memory_region_snapshot_get_dirty()
2524 void memory_region_set_readonly(MemoryRegion *mr, bool readonly) in memory_region_set_readonly() argument
2526 if (mr->readonly != readonly) { in memory_region_set_readonly()
2528 mr->readonly = readonly; in memory_region_set_readonly()
2529 memory_region_update_pending |= mr->enabled; in memory_region_set_readonly()
2534 void memory_region_set_nonvolatile(MemoryRegion *mr, bool nonvolatile) in memory_region_set_nonvolatile() argument
2536 if (mr->nonvolatile != nonvolatile) { in memory_region_set_nonvolatile()
2538 mr->nonvolatile = nonvolatile; in memory_region_set_nonvolatile()
2539 memory_region_update_pending |= mr->enabled; in memory_region_set_nonvolatile()
2544 void memory_region_rom_device_set_romd(MemoryRegion *mr, bool romd_mode) in memory_region_rom_device_set_romd() argument
2546 if (mr->romd_mode != romd_mode) { in memory_region_rom_device_set_romd()
2548 mr->romd_mode = romd_mode; in memory_region_rom_device_set_romd()
2549 memory_region_update_pending |= mr->enabled; in memory_region_rom_device_set_romd()
2554 void memory_region_reset_dirty(MemoryRegion *mr, hwaddr addr, in memory_region_reset_dirty() argument
2557 assert(mr->ram_block); in memory_region_reset_dirty()
2559 memory_region_get_ram_addr(mr) + addr, size, client); in memory_region_reset_dirty()
2562 int memory_region_get_fd(MemoryRegion *mr) in memory_region_get_fd() argument
2565 while (mr->alias) { in memory_region_get_fd()
2566 mr = mr->alias; in memory_region_get_fd()
2568 return mr->ram_block->fd; in memory_region_get_fd()
2571 void *memory_region_get_ram_ptr(MemoryRegion *mr) in memory_region_get_ram_ptr() argument
2576 while (mr->alias) { in memory_region_get_ram_ptr()
2577 offset += mr->alias_offset; in memory_region_get_ram_ptr()
2578 mr = mr->alias; in memory_region_get_ram_ptr()
2580 assert(mr->ram_block); in memory_region_get_ram_ptr()
2581 return qemu_map_ram_ptr(mr->ram_block, offset); in memory_region_get_ram_ptr()
2593 return block->mr; in memory_region_from_host()
2596 ram_addr_t memory_region_get_ram_addr(MemoryRegion *mr) in memory_region_get_ram_addr() argument
2598 return mr->ram_block ? mr->ram_block->offset : RAM_ADDR_INVALID; in memory_region_get_ram_addr()
2601 void memory_region_ram_resize(MemoryRegion *mr, ram_addr_t newsize, Error **errp) in memory_region_ram_resize() argument
2603 assert(mr->ram_block); in memory_region_ram_resize()
2605 qemu_ram_resize(mr->ram_block, newsize, errp); in memory_region_ram_resize()
2608 void memory_region_msync(MemoryRegion *mr, hwaddr addr, hwaddr size) in memory_region_msync() argument
2610 if (mr->ram_block) { in memory_region_msync()
2611 qemu_ram_msync(mr->ram_block, addr, size); in memory_region_msync()
2615 void memory_region_writeback(MemoryRegion *mr, hwaddr addr, hwaddr size) in memory_region_writeback() argument
2621 if (mr->dirty_log_mask) { in memory_region_writeback()
2622 memory_region_msync(mr, addr, size); in memory_region_writeback()
2630 static void memory_region_update_coalesced_range(MemoryRegion *mr, in memory_region_update_coalesced_range() argument
2641 if (fr->mr == mr) { in memory_region_update_coalesced_range()
2649 void memory_region_set_coalescing(MemoryRegion *mr) in memory_region_set_coalescing() argument
2651 memory_region_clear_coalescing(mr); in memory_region_set_coalescing()
2652 memory_region_add_coalescing(mr, 0, int128_get64(mr->size)); in memory_region_set_coalescing()
2655 void memory_region_add_coalescing(MemoryRegion *mr, in memory_region_add_coalescing() argument
2662 QTAILQ_INSERT_TAIL(&mr->coalesced, cmr, link); in memory_region_add_coalescing()
2663 memory_region_update_coalesced_range(mr, cmr, true); in memory_region_add_coalescing()
2664 memory_region_set_flush_coalesced(mr); in memory_region_add_coalescing()
2667 void memory_region_clear_coalescing(MemoryRegion *mr) in memory_region_clear_coalescing() argument
2671 if (QTAILQ_EMPTY(&mr->coalesced)) { in memory_region_clear_coalescing()
2676 mr->flush_coalesced_mmio = false; in memory_region_clear_coalescing()
2678 while (!QTAILQ_EMPTY(&mr->coalesced)) { in memory_region_clear_coalescing()
2679 cmr = QTAILQ_FIRST(&mr->coalesced); in memory_region_clear_coalescing()
2680 QTAILQ_REMOVE(&mr->coalesced, cmr, link); in memory_region_clear_coalescing()
2681 memory_region_update_coalesced_range(mr, cmr, false); in memory_region_clear_coalescing()
2686 void memory_region_set_flush_coalesced(MemoryRegion *mr) in memory_region_set_flush_coalesced() argument
2688 mr->flush_coalesced_mmio = true; in memory_region_set_flush_coalesced()
2691 void memory_region_clear_flush_coalesced(MemoryRegion *mr) in memory_region_clear_flush_coalesced() argument
2694 if (QTAILQ_EMPTY(&mr->coalesced)) { in memory_region_clear_flush_coalesced()
2695 mr->flush_coalesced_mmio = false; in memory_region_clear_flush_coalesced()
2699 void memory_region_add_eventfd(MemoryRegion *mr, in memory_region_add_eventfd() argument
2716 adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE); in memory_region_add_eventfd()
2719 for (i = 0; i < mr->ioeventfd_nb; ++i) { in memory_region_add_eventfd()
2720 if (memory_region_ioeventfd_before(&mrfd, &mr->ioeventfds[i])) { in memory_region_add_eventfd()
2724 ++mr->ioeventfd_nb; in memory_region_add_eventfd()
2725 mr->ioeventfds = g_realloc(mr->ioeventfds, in memory_region_add_eventfd()
2726 sizeof(*mr->ioeventfds) * mr->ioeventfd_nb); in memory_region_add_eventfd()
2727 memmove(&mr->ioeventfds[i+1], &mr->ioeventfds[i], in memory_region_add_eventfd()
2728 sizeof(*mr->ioeventfds) * (mr->ioeventfd_nb-1 - i)); in memory_region_add_eventfd()
2729 mr->ioeventfds[i] = mrfd; in memory_region_add_eventfd()
2730 ioeventfd_update_pending |= mr->enabled; in memory_region_add_eventfd()
2734 void memory_region_del_eventfd(MemoryRegion *mr, in memory_region_del_eventfd() argument
2751 adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE); in memory_region_del_eventfd()
2754 for (i = 0; i < mr->ioeventfd_nb; ++i) { in memory_region_del_eventfd()
2755 if (memory_region_ioeventfd_equal(&mrfd, &mr->ioeventfds[i])) { in memory_region_del_eventfd()
2759 assert(i != mr->ioeventfd_nb); in memory_region_del_eventfd()
2760 memmove(&mr->ioeventfds[i], &mr->ioeventfds[i+1], in memory_region_del_eventfd()
2761 sizeof(*mr->ioeventfds) * (mr->ioeventfd_nb - (i+1))); in memory_region_del_eventfd()
2762 --mr->ioeventfd_nb; in memory_region_del_eventfd()
2763 mr->ioeventfds = g_realloc(mr->ioeventfds, in memory_region_del_eventfd()
2764 sizeof(*mr->ioeventfds)*mr->ioeventfd_nb + 1); in memory_region_del_eventfd()
2765 ioeventfd_update_pending |= mr->enabled; in memory_region_del_eventfd()
2771 MemoryRegion *mr = subregion->container; in memory_region_update_container_subregions() local
2777 QTAILQ_FOREACH(other, &mr->subregions, subregions_link) { in memory_region_update_container_subregions()
2783 QTAILQ_INSERT_TAIL(&mr->subregions, subregion, subregions_link); in memory_region_update_container_subregions()
2785 memory_region_update_pending |= mr->enabled && subregion->enabled; in memory_region_update_container_subregions()
2789 static void memory_region_add_subregion_common(MemoryRegion *mr, in memory_region_add_subregion_common() argument
2796 subregion->container = mr; in memory_region_add_subregion_common()
2804 void memory_region_add_subregion(MemoryRegion *mr, in memory_region_add_subregion() argument
2809 memory_region_add_subregion_common(mr, offset, subregion); in memory_region_add_subregion()
2812 void memory_region_add_subregion_overlap(MemoryRegion *mr, in memory_region_add_subregion_overlap() argument
2818 memory_region_add_subregion_common(mr, offset, subregion); in memory_region_add_subregion_overlap()
2821 void memory_region_del_subregion(MemoryRegion *mr, in memory_region_del_subregion() argument
2827 assert(subregion->container == mr); in memory_region_del_subregion()
2833 QTAILQ_REMOVE(&mr->subregions, subregion, subregions_link); in memory_region_del_subregion()
2835 memory_region_update_pending |= mr->enabled && subregion->enabled; in memory_region_del_subregion()
2839 void memory_region_set_enabled(MemoryRegion *mr, bool enabled) in memory_region_set_enabled() argument
2841 if (enabled == mr->enabled) { in memory_region_set_enabled()
2845 mr->enabled = enabled; in memory_region_set_enabled()
2850 void memory_region_set_size(MemoryRegion *mr, uint64_t size) in memory_region_set_size() argument
2857 if (int128_eq(s, mr->size)) { in memory_region_set_size()
2861 mr->size = s; in memory_region_set_size()
2866 static void memory_region_readd_subregion(MemoryRegion *mr) in memory_region_readd_subregion() argument
2868 MemoryRegion *container = mr->container; in memory_region_readd_subregion()
2872 memory_region_ref(mr); in memory_region_readd_subregion()
2873 memory_region_del_subregion(container, mr); in memory_region_readd_subregion()
2874 memory_region_add_subregion_common(container, mr->addr, mr); in memory_region_readd_subregion()
2875 memory_region_unref(mr); in memory_region_readd_subregion()
2880 void memory_region_set_address(MemoryRegion *mr, hwaddr addr) in memory_region_set_address() argument
2882 if (addr != mr->addr) { in memory_region_set_address()
2883 mr->addr = addr; in memory_region_set_address()
2884 memory_region_readd_subregion(mr); in memory_region_set_address()
2888 void memory_region_set_alias_offset(MemoryRegion *mr, hwaddr offset) in memory_region_set_alias_offset() argument
2890 assert(mr->alias); in memory_region_set_alias_offset()
2892 if (offset == mr->alias_offset) { in memory_region_set_alias_offset()
2897 mr->alias_offset = offset; in memory_region_set_alias_offset()
2898 memory_region_update_pending |= mr->enabled; in memory_region_set_alias_offset()
2902 void memory_region_set_unmergeable(MemoryRegion *mr, bool unmergeable) in memory_region_set_unmergeable() argument
2904 if (unmergeable == mr->unmergeable) { in memory_region_set_unmergeable()
2909 mr->unmergeable = unmergeable; in memory_region_set_unmergeable()
2910 memory_region_update_pending |= mr->enabled; in memory_region_set_unmergeable()
2914 uint64_t memory_region_get_alignment(const MemoryRegion *mr) in memory_region_get_alignment() argument
2916 return mr->align; in memory_region_get_alignment()
2938 bool memory_region_is_mapped(MemoryRegion *mr) in memory_region_is_mapped() argument
2940 return !!mr->container || mr->mapped_via_alias; in memory_region_is_mapped()
2946 static MemoryRegionSection memory_region_find_rcu(MemoryRegion *mr, in memory_region_find_rcu() argument
2949 MemoryRegionSection ret = { .mr = NULL }; in memory_region_find_rcu()
2956 addr += mr->addr; in memory_region_find_rcu()
2957 for (root = mr; root->container; ) { in memory_region_find_rcu()
2978 ret.mr = fr->mr; in memory_region_find_rcu()
2991 MemoryRegionSection memory_region_find(MemoryRegion *mr, in memory_region_find() argument
2996 ret = memory_region_find_rcu(mr, addr, size); in memory_region_find()
2997 if (ret.mr) { in memory_region_find()
2998 memory_region_ref(ret.mr); in memory_region_find()
3008 if (tmp->mr) { in memory_region_section_new_copy()
3009 memory_region_ref(tmp->mr); in memory_region_section_new_copy()
3024 if (s->mr) { in memory_region_section_free_copy()
3025 memory_region_unref(s->mr); in memory_region_section_free_copy()
3032 MemoryRegion *mr; in memory_region_present() local
3035 mr = memory_region_find_rcu(container, addr, 1).mr; in memory_region_present()
3036 return mr && mr != container; in memory_region_present()
3404 static const char *memory_region_type(MemoryRegion *mr) in memory_region_type() argument
3406 if (mr->alias) { in memory_region_type()
3407 return memory_region_type(mr->alias); in memory_region_type()
3409 if (memory_region_is_ram_device(mr)) { in memory_region_type()
3411 } else if (memory_region_is_romd(mr)) { in memory_region_type()
3413 } else if (memory_region_is_rom(mr)) { in memory_region_type()
3415 } else if (memory_region_is_ram(mr)) { in memory_region_type()
3425 const MemoryRegion *mr; member
3454 static void mtree_print_mr_owner(const MemoryRegion *mr) in mtree_print_mr_owner() argument
3456 Object *owner = mr->owner; in mtree_print_mr_owner()
3457 Object *parent = memory_region_owner((MemoryRegion *)mr); in mtree_print_mr_owner()
3471 static void mtree_print_mr(const MemoryRegion *mr, unsigned int level, in mtree_print_mr() argument
3482 if (!mr) { in mtree_print_mr()
3486 cur_start = base + mr->addr; in mtree_print_mr()
3487 cur_end = cur_start + MR_SIZE(mr->size); in mtree_print_mr()
3498 if (mr->alias) { in mtree_print_mr()
3503 if (ml->mr == mr->alias) { in mtree_print_mr()
3510 ml->mr = mr->alias; in mtree_print_mr()
3513 if (mr->enabled || display_disabled) { in mtree_print_mr()
3521 mr->priority, in mtree_print_mr()
3522 mr->nonvolatile ? "nv-" : "", in mtree_print_mr()
3523 memory_region_type((MemoryRegion *)mr), in mtree_print_mr()
3524 memory_region_name(mr), in mtree_print_mr()
3525 memory_region_name(mr->alias), in mtree_print_mr()
3526 mr->alias_offset, in mtree_print_mr()
3527 mr->alias_offset + MR_SIZE(mr->size), in mtree_print_mr()
3528 mr->enabled ? "" : " [disabled]"); in mtree_print_mr()
3530 mtree_print_mr_owner(mr); in mtree_print_mr()
3535 if (mr->enabled || display_disabled) { in mtree_print_mr()
3542 mr->priority, in mtree_print_mr()
3543 mr->nonvolatile ? "nv-" : "", in mtree_print_mr()
3544 memory_region_type((MemoryRegion *)mr), in mtree_print_mr()
3545 memory_region_name(mr), in mtree_print_mr()
3546 mr->enabled ? "" : " [disabled]"); in mtree_print_mr()
3548 mtree_print_mr_owner(mr); in mtree_print_mr()
3556 QTAILQ_FOREACH(submr, &mr->subregions, subregions_link) { in mtree_print_mr()
3558 new_ml->mr = submr; in mtree_print_mr()
3560 if (new_ml->mr->addr < ml->mr->addr || in mtree_print_mr()
3561 (new_ml->mr->addr == ml->mr->addr && in mtree_print_mr()
3562 new_ml->mr->priority > ml->mr->priority)) { in mtree_print_mr()
3574 mtree_print_mr(ml->mr, level + 1, cur_start, in mtree_print_mr()
3597 MemoryRegion *mr; in mtree_print_flatview() local
3624 mr = range->mr; in mtree_print_flatview()
3631 mr->priority, in mtree_print_flatview()
3633 range->readonly ? "rom" : memory_region_type(mr), in mtree_print_flatview()
3634 memory_region_name(mr), in mtree_print_flatview()
3642 mr->priority, in mtree_print_flatview()
3644 range->readonly ? "rom" : memory_region_type(mr), in mtree_print_flatview()
3645 memory_region_name(mr)); in mtree_print_flatview()
3648 mtree_print_mr_owner(mr); in mtree_print_flatview()
3748 MemoryRegion *mr = key; in mtree_print_as() local
3753 mtree_print_mr(mr, 1, 0, asi->ml_head, asi->owner, asi->disabled); in mtree_print_as()
3797 qemu_printf("memory-region: %s\n", memory_region_name(ml->mr)); in mtree_info_as()
3798 mtree_print_mr(ml->mr, 1, 0, &ml_head, owner, disabled); in mtree_info_as()
3816 bool memory_region_init_ram(MemoryRegion *mr, in memory_region_init_ram() argument
3824 if (!memory_region_init_ram_nomigrate(mr, owner, name, size, errp)) { in memory_region_init_ram()
3834 vmstate_register_ram(mr, owner_dev); in memory_region_init_ram()
3839 bool memory_region_init_ram_guest_memfd(MemoryRegion *mr, in memory_region_init_ram_guest_memfd() argument
3847 if (!memory_region_init_ram_flags_nomigrate(mr, owner, name, size, in memory_region_init_ram_guest_memfd()
3858 vmstate_register_ram(mr, owner_dev); in memory_region_init_ram_guest_memfd()
3863 bool memory_region_init_rom(MemoryRegion *mr, in memory_region_init_rom() argument
3871 if (!memory_region_init_rom_nomigrate(mr, owner, name, size, errp)) { in memory_region_init_rom()
3881 vmstate_register_ram(mr, owner_dev); in memory_region_init_rom()
3886 bool memory_region_init_rom_device(MemoryRegion *mr, in memory_region_init_rom_device() argument
3896 if (!memory_region_init_rom_device_nomigrate(mr, owner, ops, opaque, in memory_region_init_rom_device()
3907 vmstate_register_ram(mr, owner_dev); in memory_region_init_rom_device()
3919 MemoryRegion *mr) in fuzz_dma_read_cb() argument