Lines Matching full:mr

55                       MemoryRegion *mr);
59 MemoryRegion *mr) in fuzz_dma_read_cb() argument
90 * @mr: the region, or %NULL if empty
92 * @offset_within_region: the beginning of the section, relative to @mr's start
93 * @size: the size of the section; will not exceed @mr's boundaries
102 MemoryRegion *mr; member
275 /* Read from the memory region. @addr is relative to @mr; @size is
280 /* Write to the memory region. @addr is relative to @mr; @size is
629 * @mr: the #MemoryRegion
634 const MemoryRegion *mr);
719 const MemoryRegion *mr);
783 /* owner as TYPE_DEVICE. Used for re-entrancy checks in MR access hotpath */
792 void (*destructor)(MemoryRegion *mr);
820 #define IOMMU_NOTIFIER_FOREACH(n, mr) \ argument
821 QLIST_FOREACH((n), &(mr)->iommu_notify, node)
1158 * @mr: MemoryRegion covering this range
1159 * @offset_in_region: offset of the first byte of the range within @mr
1166 const MemoryRegion *mr,
1186 return a->mr == b->mr && in MemoryRegionSection_eq()
1221 * @mr: the #MemoryRegion to be initialized
1226 void memory_region_init(MemoryRegion *mr,
1244 * @mr: the #MemoryRegion
1246 void memory_region_ref(MemoryRegion *mr);
1256 * @mr: the #MemoryRegion
1258 void memory_region_unref(MemoryRegion *mr);
1266 * @mr: the #MemoryRegion to be initialized.
1274 void memory_region_init_io(MemoryRegion *mr,
1286 * @mr: the #MemoryRegion to be initialized.
1298 bool memory_region_init_ram_nomigrate(MemoryRegion *mr,
1309 * @mr: the #MemoryRegion to be initialized.
1323 bool memory_region_init_ram_flags_nomigrate(MemoryRegion *mr,
1339 * @mr: the #MemoryRegion to be initialized.
1353 bool memory_region_init_resizeable_ram(MemoryRegion *mr,
1368 * @mr: the #MemoryRegion to be initialized.
1387 bool memory_region_init_ram_from_file(MemoryRegion *mr,
1401 * @mr: the #MemoryRegion to be initialized.
1417 bool memory_region_init_ram_from_fd(MemoryRegion *mr,
1432 * @mr: the #MemoryRegion to be initialized.
1442 void memory_region_init_ram_ptr(MemoryRegion *mr,
1460 * @mr: the #MemoryRegion to be initialized.
1470 void memory_region_init_ram_device_ptr(MemoryRegion *mr,
1480 * @mr: the #MemoryRegion to be initialized.
1483 * @orig: the region to be referenced; @mr will be equivalent to
1488 void memory_region_init_alias(MemoryRegion *mr,
1506 * @mr: the #MemoryRegion to be initialized.
1515 bool memory_region_init_rom_nomigrate(MemoryRegion *mr,
1529 * @mr: the #MemoryRegion to be initialized.
1540 bool memory_region_init_rom_device_nomigrate(MemoryRegion *mr,
1581 * @mr: the #MemoryRegion to be initialized
1601 bool memory_region_init_ram(MemoryRegion *mr,
1607 bool memory_region_init_ram_guest_memfd(MemoryRegion *mr,
1627 * @mr: the #MemoryRegion to be initialized.
1636 bool memory_region_init_rom(MemoryRegion *mr,
1658 * @mr: the #MemoryRegion to be initialized.
1669 bool memory_region_init_rom_device(MemoryRegion *mr,
1681 * @mr: the memory region being queried.
1683 Object *memory_region_owner(MemoryRegion *mr);
1688 * @mr: the memory region being queried.
1690 uint64_t memory_region_size(MemoryRegion *mr);
1697 * @mr: the memory region being queried
1699 static inline bool memory_region_is_ram(MemoryRegion *mr) in memory_region_is_ram() argument
1701 return mr->ram; in memory_region_is_ram()
1709 * @mr: the memory region being queried
1711 bool memory_region_is_ram_device(MemoryRegion *mr);
1719 * @mr: the memory region being queried
1721 static inline bool memory_region_is_romd(MemoryRegion *mr) in memory_region_is_romd() argument
1723 return mr->rom_device && mr->romd_mode; in memory_region_is_romd()
1732 * @mr: the memory region being queried
1734 bool memory_region_is_protected(MemoryRegion *mr);
1742 * @mr: the memory region being queried
1744 bool memory_region_has_guest_memfd(MemoryRegion *mr);
1752 * @mr: the memory region being queried
1754 static inline IOMMUMemoryRegion *memory_region_get_iommu(MemoryRegion *mr) in memory_region_get_iommu() argument
1756 if (mr->alias) { in memory_region_get_iommu()
1757 return memory_region_get_iommu(mr->alias); in memory_region_get_iommu()
1759 if (mr->is_iommu) { in memory_region_get_iommu()
1760 return (IOMMUMemoryRegion *) mr; in memory_region_get_iommu()
1780 #define memory_region_is_iommu(mr) (memory_region_get_iommu(mr) != NULL) argument
1842 * @mr: the memory region to observe
1848 int memory_region_register_iommu_notifier(MemoryRegion *mr,
1854 * mr->iommu_ops->get_page_size().
1867 * @mr: the memory region which was observed and for which notify_stopped()
1871 void memory_region_unregister_iommu_notifier(MemoryRegion *mr,
1913 * @mr: the memory region being queried
1915 const char *memory_region_name(const MemoryRegion *mr);
1922 * @mr: the memory region being queried
1925 bool memory_region_is_logging(MemoryRegion *mr, uint8_t client);
1934 * @mr: the memory region being queried
1936 uint8_t memory_region_get_dirty_log_mask(MemoryRegion *mr);
1943 * @mr: the memory region being queried
1945 static inline bool memory_region_is_rom(MemoryRegion *mr) in memory_region_is_rom() argument
1947 return mr->ram && mr->readonly; in memory_region_is_rom()
1955 * @mr: the memory region being queried
1957 static inline bool memory_region_is_nonvolatile(MemoryRegion *mr) in memory_region_is_nonvolatile() argument
1959 return mr->nonvolatile; in memory_region_is_nonvolatile()
1968 * @mr: the RAM or alias memory region being queried.
1970 int memory_region_get_fd(MemoryRegion *mr);
2003 * @mr: the memory region being queried.
2005 void *memory_region_get_ram_ptr(MemoryRegion *mr);
2012 * @mr: a memory region created with @memory_region_init_resizeable_ram.
2016 void memory_region_ram_resize(MemoryRegion *mr, ram_addr_t newsize,
2023 * @mr: the memory region to be msync
2027 void memory_region_msync(MemoryRegion *mr, hwaddr addr, hwaddr size);
2033 * @mr: the memory region to be updated
2037 void memory_region_writeback(MemoryRegion *mr, hwaddr addr, hwaddr size);
2045 * @mr: the memory region being updated.
2049 void memory_region_set_log(MemoryRegion *mr, bool log, unsigned client);
2057 * @mr: the memory region being dirtied.
2061 void memory_region_set_dirty(MemoryRegion *mr, hwaddr addr,
2073 * @mr: the memory region to clear the dirty log upon
2077 void memory_region_clear_dirty_bitmap(MemoryRegion *mr, hwaddr start,
2102 * @mr: the memory region being queried.
2107 DirtyBitmapSnapshot *memory_region_snapshot_and_clear_dirty(MemoryRegion *mr,
2116 * @mr: the memory region being queried.
2121 bool memory_region_snapshot_get_dirty(MemoryRegion *mr,
2131 * @mr: the region being updated.
2137 void memory_region_reset_dirty(MemoryRegion *mr, hwaddr addr,
2151 * @mr: the region being flushed.
2156 void memory_region_flush_rom_device(MemoryRegion *mr, hwaddr addr, hwaddr size);
2164 * @mr: the region being updated.
2167 void memory_region_set_readonly(MemoryRegion *mr, bool readonly);
2175 * @mr: the region being updated.
2178 void memory_region_set_nonvolatile(MemoryRegion *mr, bool nonvolatile);
2189 * @mr: the memory region to be updated
2192 void memory_region_rom_device_set_romd(MemoryRegion *mr, bool romd_mode);
2201 * @mr: the memory region to be write coalesced
2203 void memory_region_set_coalescing(MemoryRegion *mr);
2212 * @mr: the memory region to be updated.
2216 void memory_region_add_coalescing(MemoryRegion *mr,
2227 * @mr: the memory region to be updated.
2229 void memory_region_clear_coalescing(MemoryRegion *mr);
2239 * @mr: the memory region to be updated.
2241 void memory_region_set_flush_coalesced(MemoryRegion *mr);
2252 * @mr: the memory region to be updated.
2254 void memory_region_clear_flush_coalesced(MemoryRegion *mr);
2265 * @mr: the memory region being updated.
2266 * @addr: the address within @mr that is to be monitored
2272 void memory_region_add_eventfd(MemoryRegion *mr,
2285 * @mr: the memory region being updated.
2286 * @addr: the address within @mr that is to be monitored
2292 void memory_region_del_eventfd(MemoryRegion *mr,
2308 * @mr: the region to contain the new subregion; must be a container
2310 * @offset: the offset relative to @mr where @subregion is added.
2313 void memory_region_add_subregion(MemoryRegion *mr,
2327 * @mr: the region to contain the new subregion; must be a container
2329 * @offset: the offset relative to @mr where @subregion is added.
2333 void memory_region_add_subregion_overlap(MemoryRegion *mr,
2342 * @mr: the region to be queried
2344 ram_addr_t memory_region_get_ram_addr(MemoryRegion *mr);
2346 uint64_t memory_region_get_alignment(const MemoryRegion *mr);
2352 * @mr: the container to be updated.
2353 * @subregion: the region being removed; must be a current subregion of @mr.
2355 void memory_region_del_subregion(MemoryRegion *mr,
2368 * @mr: the region to be updated
2371 void memory_region_set_enabled(MemoryRegion *mr, bool enabled);
2379 * @mr: the region to be updated
2382 void memory_region_set_address(MemoryRegion *mr, hwaddr addr);
2389 * @mr: the region to be updated
2392 void memory_region_set_size(MemoryRegion *mr, uint64_t size);
2400 * @mr: the #MemoryRegion to be updated; should be an alias.
2403 void memory_region_set_alias_offset(MemoryRegion *mr,
2420 * @mr: the #MemoryRegion to be updated
2423 void memory_region_set_unmergeable(MemoryRegion *mr, bool unmergeable);
2442 * @mr: a #MemoryRegion which should be checked if it's mapped
2444 bool memory_region_is_mapped(MemoryRegion *mr);
2452 * @mr: the #MemoryRegion
2454 RamDiscardManager *memory_region_get_ram_discard_manager(MemoryRegion *mr);
2460 * @mr: the #MemoryRegion
2462 static inline bool memory_region_has_ram_discard_manager(MemoryRegion *mr) in memory_region_has_ram_discard_manager() argument
2464 return !!memory_region_get_ram_discard_manager(mr); in memory_region_has_ram_discard_manager()
2475 * @mr: the #MemoryRegion
2478 void memory_region_set_ram_discard_manager(MemoryRegion *mr,
2485 * Locates the first #MemoryRegion within @mr that overlaps the range
2491 * - @mr is non-%NULL iff an overlap was found
2494 * relative to the returned region (in the .@mr field), not to the
2495 * @mr argument.
2499 * returned one. However, in the special case where the @mr argument
2505 * @mr: a MemoryRegion within which @addr is a relative address
2509 MemoryRegionSection memory_region_find(MemoryRegion *mr,
2582 bool memory_region_access_valid(MemoryRegion *mr, hwaddr addr,
2590 * @mr: #MemoryRegion to access
2596 MemTxResult memory_region_dispatch_read(MemoryRegion *mr,
2605 * @mr: #MemoryRegion to access
2611 MemTxResult memory_region_dispatch_write(MemoryRegion *mr,
2847 cache->mrs.mr = NULL; in address_space_cache_init_empty()
2984 MemoryRegion *mr);
2995 int memory_access_size(MemoryRegion *mr, unsigned l, hwaddr addr);
2996 bool prepare_mmio_access(MemoryRegion *mr);
2998 static inline bool memory_region_supports_direct_access(MemoryRegion *mr) in memory_region_supports_direct_access() argument
3001 if (memory_region_is_romd(mr)) { in memory_region_supports_direct_access()
3004 if (!memory_region_is_ram(mr)) { in memory_region_supports_direct_access()
3012 return !memory_region_is_ram_device(mr); in memory_region_supports_direct_access()
3015 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write, in memory_access_is_direct() argument
3018 if (!memory_region_supports_direct_access(mr)) { in memory_access_is_direct()
3023 return !mr->readonly && !mr->rom_device; in memory_access_is_direct()
3049 MemoryRegion *mr; in address_space_read() local
3057 mr = flatview_translate(fv, addr, &addr1, &l, false, attrs); in address_space_read()
3058 if (len == l && memory_access_is_direct(mr, false, attrs)) { in address_space_read()
3059 ptr = qemu_map_ram_ptr(mr->ram_block, addr1); in address_space_read()
3063 addr1, l, mr); in address_space_read()
3085 fuzz_dma_read_cb(cache->xlat + addr, len, cache->mrs.mr); in address_space_read_cached()