Lines Matching full:region
37 #define TYPE_MEMORY_REGION "memory-region"
41 #define TYPE_IOMMU_MEMORY_REGION "iommu-memory-region"
90 * @mr: the region, or %NULL if empty
91 * @fv: the flat view of the address space the region is mapped in
95 * relative to the region's address space
262 * Memory region callbacks
265 /* Read from the memory region. @addr is relative to @mr; @size is
270 /* Write to the memory region. @addr is relative to @mr; @size is
341 * to handle requests to the memory region. Other methods are optional.
394 * @hwaddr: address to be translated within the memory region
429 * IOMMU memory region. In case of failure, the error object
525 * is aligned within the memory region to the minimum granularity
542 * is aligned within the memory region to the minimum granularity
753 * A struct representing a memory region.
1187 * memory_region_section_new_copy: Copy a memory region section
1189 * Allocate memory for a new copy, copy the memory region section, and
1197 * memory_region_section_new_copy: Free a copied memory region section
1207 * memory_region_init: Initialize a memory region
1209 * The region typically acts as a container for other memory regions. Use
1213 * @owner: the object that tracks the region's reference count
1215 * @size: size of the region; any subregions beyond this size will be clipped
1223 * memory_region_ref: Add 1 to a memory region's reference count
1232 * the region could be returned at any time by memory_region_find, and this
1240 * memory_region_unref: Remove 1 to a memory region's reference count
1252 * memory_region_init_io: Initialize an I/O memory region.
1254 * Accesses into the region will cause the callbacks in @ops to be called.
1258 * @owner: the object that tracks the region's reference count
1260 * I/O is performed on the region.
1263 * @size: size of the region.
1273 * memory_region_init_ram_nomigrate: Initialize RAM memory region. Accesses
1274 * into the region will modify memory
1278 * @owner: the object that tracks the region's reference count
1279 * @name: Region name, becomes part of RAMBlock name used in migration stream
1281 * @size: size of the region.
1285 * RAM memory region to be migrated; that is the responsibility of the caller.
1296 * memory_region_init_ram_flags_nomigrate: Initialize RAM memory region.
1297 * Accesses into the region will
1301 * @owner: the object that tracks the region's reference count
1302 * @name: Region name, becomes part of RAMBlock name used in migration stream
1304 * @size: size of the region.
1310 * RAM memory region to be migrated; that is the responsibility of the caller.
1322 * memory_region_init_resizeable_ram: Initialize memory region with resizable
1323 * RAM. Accesses into the region will
1331 * @owner: the object that tracks the region's reference count
1332 * @name: Region name, becomes part of RAMBlock name used in migration stream
1334 * @size: used size of the region.
1335 * @max_size: max size of the region.
1340 * RAM memory region to be migrated; that is the responsibility of the caller.
1356 * memory_region_init_ram_from_file: Initialize RAM memory region with a
1360 * @owner: the object that tracks the region's reference count
1361 * @name: Region name, becomes part of RAMBlock name used in migration stream
1363 * @size: size of the region.
1364 * @align: alignment of the region base address; if 0, the default alignment
1374 * RAM memory region to be migrated; that is the responsibility of the caller.
1389 * memory_region_init_ram_from_fd: Initialize RAM memory region with a
1393 * @owner: the object that tracks the region's reference count
1394 * @name: the name of the region.
1395 * @size: size of the region.
1404 * RAM memory region to be migrated; that is the responsibility of the caller.
1419 * memory_region_init_ram_ptr: Initialize RAM memory region from a
1421 * region will modify memory directly.
1424 * @owner: the object that tracks the region's reference count
1425 * @name: Region name, becomes part of RAMBlock name used in migration stream
1427 * @size: size of the region.
1431 * RAM memory region to be migrated; that is the responsibility of the caller.
1440 * memory_region_init_ram_device_ptr: Initialize RAM device memory region from
1444 * MMIO BAR of an vfio-pci assigned device. The memory region may be mapped
1445 * into the VM address space and access to the region will modify memory
1446 * directly. However, the memory region should not be included in a memory
1452 * @owner: the object that tracks the region's reference count
1453 * @name: the name of the region.
1454 * @size: size of the region.
1458 * RAM memory region to be migrated; that is the responsibility of the caller.
1468 * memory_region_init_alias: Initialize a memory region that aliases all or a
1469 * part of another memory region.
1472 * @owner: the object that tracks the region's reference count
1474 * @orig: the region to be referenced; @mr will be equivalent to
1477 * @size: size of the region.
1487 * memory_region_init_rom_nomigrate: Initialize a ROM memory region.
1490 * and then marking the resulting region read-only with
1494 * RAM side of the memory region to be migrated; that is the responsibility
1498 * @owner: the object that tracks the region's reference count
1499 * @name: Region name, becomes part of RAMBlock name used in migration stream
1501 * @size: size of the region.
1513 * memory_region_init_rom_device_nomigrate: Initialize a ROM memory region.
1517 * RAM side of the memory region to be migrated; that is the responsibility
1521 * @owner: the object that tracks the region's reference count
1524 * @name: Region name, becomes part of RAMBlock name used in migration stream
1526 * @size: size of the region.
1540 * memory_region_init_iommu: Initialize a memory region of a custom type
1543 * An IOMMU region translates addresses and forwards accesses to a target
1544 * memory region.
1551 * accesses to the memory region. See the documentation of
1557 * @owner: the object that tracks the region's reference count
1559 * @size: size of the region.
1569 * memory_region_init_ram - Initialize RAM memory region. Accesses into the
1570 * region will modify memory directly.
1573 * @owner: the object that tracks the region's reference count (must be
1575 * @name: name of the memory region
1576 * @size: size of the region in bytes
1605 * memory_region_init_rom: Initialize a ROM memory region.
1608 * and then marking the resulting region read-only with
1619 * @owner: the object that tracks the region's reference count
1620 * @name: Region name, becomes part of RAMBlock name used in migration stream
1622 * @size: size of the region.
1634 * memory_region_init_rom_device: Initialize a ROM memory region.
1637 * This function initializes a memory region backed by RAM for reads
1650 * @owner: the object that tracks the region's reference count
1653 * @name: Region name, becomes part of RAMBlock name used in migration stream
1655 * @size: size of the region.
1670 * memory_region_owner: get a memory region's owner.
1672 * @mr: the memory region being queried.
1677 * memory_region_size: get a memory region's size.
1679 * @mr: the memory region being queried.
1684 * memory_region_is_ram: check whether a memory region is random access
1686 * Returns %true if a memory region is random access.
1688 * @mr: the memory region being queried
1696 * memory_region_is_ram_device: check whether a memory region is a ram device
1698 * Returns %true if a memory region is a device backed ram region
1700 * @mr: the memory region being queried
1705 * memory_region_is_romd: check whether a memory region is in ROMD mode
1707 * Returns %true if a memory region is a ROM device and currently set to allow
1710 * @mr: the memory region being queried
1718 * memory_region_is_protected: check whether a memory region is protected
1720 * Returns %true if a memory region is protected RAM and cannot be accessed
1723 * @mr: the memory region being queried
1728 * memory_region_has_guest_memfd: check whether a memory region has guest_memfd
1731 * Returns %true if a memory region's ram_block has valid guest_memfd assigned.
1733 * @mr: the memory region being queried
1738 * memory_region_get_iommu: check whether a memory region is an iommu
1740 * Returns pointer to IOMMUMemoryRegion if a memory region is an iommu,
1743 * @mr: the memory region being queried
1757 * memory_region_get_iommu_class_nocheck: returns iommu memory region class
1760 * Returns pointer to IOMMUMemoryRegionClass if a memory region is an iommu,
1763 * @iommu_mr: the memory region being queried
1779 * @iommu_mr: the memory region being queried
1789 * @iommu_mr: the memory region that was changed
1830 * is not supported (flag/range) by the IOMMU memory region. In case of error
1833 * @mr: the memory region to observe
1849 * @iommu_mr: the memory region to observe
1858 * @mr: the memory region which was observed and for which notify_stopped()
1873 * @iommu_mr: the memory region
1885 * @iommu_mr: the memory region
1895 * @iommu_mr: the memory region
1900 * memory_region_name: get a memory region's name
1902 * Returns the string that was used to initialize the memory region.
1904 * @mr: the memory region being queried
1909 * memory_region_is_logging: return whether a memory region is logging writes
1911 * Returns %true if the memory region is logging writes for the given client
1913 * @mr: the memory region being queried
1920 * memory region is logging writes.
1925 * @mr: the memory region being queried
1930 * memory_region_is_rom: check whether a memory region is ROM
1932 * Returns %true if a memory region is read-only memory.
1934 * @mr: the memory region being queried
1942 * memory_region_is_nonvolatile: check whether a memory region is non-volatile
1944 * Returns %true is a memory region is non-volatile memory.
1946 * @mr: the memory region being queried
1954 * memory_region_get_fd: Get a file descriptor backing a RAM memory region.
1956 * Returns a file descriptor backing a file-based RAM memory region,
1957 * or -1 if the region is not a file-based RAM memory region.
1959 * @mr: the RAM or alias memory region being queried.
1964 * memory_region_from_host: Convert a pointer into a RAM memory region
1967 * Given a host pointer inside a RAM memory region (created with
1974 * protecting the pointer, such as a reference to the region that includes
1978 * @offset: the offset within memory region
1983 * memory_region_get_ram_ptr: Get a pointer into a RAM memory region.
1985 * Returns a host pointer to a RAM memory region (created with
1991 * protecting the pointer, such as a reference to the region that includes
1994 * @mr: the memory region being queried.
1998 /* memory_region_ram_resize: Resize a RAM region.
2003 * @mr: a memory region created with @memory_region_init_resizeable_ram.
2004 * @newsize: the new size the region
2012 * a memory mapped region
2014 * @mr: the memory region to be msync
2024 * @mr: the memory region to be updated
2031 * memory_region_set_log: Turn dirty logging on or off for a region.
2036 * @mr: the memory region being updated.
2043 * memory_region_set_dirty: Mark a range of bytes as dirty in a memory region.
2048 * @mr: the memory region being dirtied.
2049 * @addr: the address (relative to the start of the region) being dirtied.
2059 * dirty bitmap of a memory range within the memory region. This can
2064 * @mr: the memory region to clear the dirty log upon
2065 * @start: start address offset within the memory region
2066 * @len: length of the memory region to clear dirty bitmap
2081 * The dirty bitmap region which gets copied into the snapshot (and
2093 * @mr: the memory region being queried.
2094 * @addr: the address (relative to the start of the region) being queried.
2107 * @mr: the memory region being queried.
2109 * @addr: the address (relative to the start of the region) being queried.
2122 * @mr: the region being updated.
2142 * @mr: the region being flushed.
2143 * @addr: the start, relative to the start of the region, of the range being
2150 * memory_region_set_readonly: Turn a memory region read-only (or read-write)
2152 * Allows a memory region to be marked as read-only (turning it into a ROM).
2155 * @mr: the region being updated.
2156 * @readonly: whether rhe region is to be ROM or RAM.
2161 * memory_region_set_nonvolatile: Turn a memory region non-volatile
2163 * Allows a memory region to be marked as non-volatile.
2166 * @mr: the region being updated.
2167 * @nonvolatile: whether rhe region is to be non-volatile.
2180 * @mr: the memory region to be updated
2181 * @romd_mode: %true to put the region into ROMD mode
2186 * memory_region_set_coalescing: Enable memory coalescing for the region.
2188 * Enabled writes to a region to be queued for later processing. MMIO ->write
2192 * @mr: the memory region to be write coalesced
2198 * a region.
2200 * Like memory_region_set_coalescing(), but works on a sub-range of a region.
2203 * @mr: the memory region to be updated.
2204 * @offset: the start of the range within the region to be coalesced.
2212 * memory_region_clear_coalescing: Disable MMIO coalescing for the region.
2218 * @mr: the memory region to be updated.
2227 * region is accessed. This property is automatically enabled for all regions
2230 * @mr: the memory region to be updated.
2243 * @mr: the memory region to be updated.
2251 * Marks a word in an IO region (initialized with memory_region_init_io())
2256 * @mr: the memory region being updated.
2276 * @mr: the memory region being updated.
2294 * subregions (except for those explicitly marked as overlapping). A region
2297 * want a region to be a subregion in multiple locations.
2299 * @mr: the region to contain the new subregion; must be a container
2314 * A region may only be added once as a subregion (unless removed with
2316 * want a region to be a subregion in multiple locations.
2318 * @mr: the region to contain the new subregion; must be a container
2331 * region
2333 * @mr: the region to be queried
2344 * @subregion: the region being removed; must be a current subregion of @mr.
2350 * memory_region_set_enabled: dynamically enable or disable a region
2352 * Enables or disables a memory region. A disabled memory region
2359 * @mr: the region to be updated
2360 * @enabled: whether to enable or disable the region
2365 * memory_region_set_address: dynamically update the address of a region
2367 * Dynamically updates the address of a region, relative to its container.
2370 * @mr: the region to be updated
2371 * @addr: new address, relative to container region
2376 * memory_region_set_size: dynamically update the size of a region.
2378 * Dynamically updates the size of a region.
2380 * @mr: the region to be updated
2381 * @size: used size of the region.
2388 * Dynamically updates the offset into the target region that an alias points
2392 * @offset: the new offset into the target memory region
2398 * memory_region_set_unmergeable: Set a memory region unmergeable
2400 * Mark a memory region unmergeable, resulting in the memory region (or
2401 * everything contained in a memory region container) not getting merged when
2406 * This is primarily useful when multiple aliases to a RAM memory region are
2407 * mapped into a memory region container, and updates (e.g., enable/disable or
2408 * map/unmap) of individual memory region aliases are not supposed to affect
2430 * into another memory region, which does not necessarily imply that it is
2441 * The #RamDiscardManager cannot change while a memory region is mapped.
2485 * relative to the returned region (in the .@mr field), not to the
2582 * @addr: address within that region
2597 * @addr: address within that region
2622 * is destroyed, its root memory region (given by address_space_init()) may be destroyed
2804 * memory region
2833 * Initializes #MemoryRegionCache structure without memory region attached.
2871 * to the returned region disappears after address_space_translate returns.
2875 * @xlat: pointer to address within the returned memory region section's
2914 /* address_space_map: map a physical memory region into a host virtual address
2932 /* address_space_unmap: Unmaps a memory region previously mapped by address_space_map()
3045 * address_space_read_cached: read from a cached RAM region
3047 * @cache: Cached region to be addressed
3048 * @addr: address relative to the base of the RAM region
3067 * address_space_write_cached: write to a cached RAM region
3069 * @cache: Cached region to be addressed
3070 * @addr: address relative to the base of the RAM region