/linux/Documentation/mm/ |
H A D | highmem.rst | 15 at all times. This means the kernel needs to start using temporary mappings of 48 Temporary Virtual Mappings 51 The kernel contains several ways of creating temporary mappings. The following 55 short term mappings. They can be invoked from any context (including 56 interrupts) but the mappings can only be used in the context which acquired 64 These mappings are thread-local and CPU-local, meaning that the mapping 89 mappings, the local mappings are only valid in the context of the caller 94 Most code can be designed to use thread local mappings. User should 99 Nesting kmap_local_page() and kmap_atomic() mappings is allowed to a certain 103 mappings. [all …]
|
H A D | hugetlbfs_reserv.rst | 87 of mappings. Location differences are: 89 - For private mappings, the reservation map hangs off the VMA structure. 92 - For shared mappings, the reservation map hangs off the inode. Specifically, 93 inode->i_mapping->private_data. Since shared mappings are always backed 121 One of the big differences between PRIVATE and SHARED mappings is the way 124 - For shared mappings, an entry in the reservation map indicates a reservation 127 - For private mappings, the lack of an entry in the reservation map indicates 133 For private mappings, hugetlb_reserve_pages() creates the reservation map and 138 are needed for the current mapping/segment. For private mappings, this is 139 always the value (to - from). However, for shared mappings it is possible that [all …]
|
/linux/fs/xfs/libxfs/ |
H A D | xfs_exchmaps.c | 37 /* bmbt mappings adjacent to a pair of records. */ 57 * has mappings in it, make sure the inodes are tagged appropriately so that 80 * mappings into the file past EOF. This is crucial so that log recovery won't 81 * get confused by the sudden appearance of post-eof mappings. 119 /* Do we still have more mappings to exchange? */ 135 /* Check all mappings to make sure we can actually exchange them. */ 202 /* Do not skip mapped, written mappings. */ in xfs_exchmaps_can_skip_mapping() 220 * Unwritten mappings can appear in the middle of an rtx if the rtx is in xfs_exchmaps_can_skip_mapping() 230 * All mappings below this point are unwritten. in xfs_exchmaps_can_skip_mapping() 249 * All mappings below this point are unwritten, start on an rtx in xfs_exchmaps_can_skip_mapping() [all …]
|
/linux/drivers/gpu/drm/ |
H A D | drm_gem_atomic_helper.c | 21 * synchronization helpers, and plane state and framebuffer BO mappings 43 * a mapping of the shadow buffer into kernel address space. The mappings 47 * The helpers for shadow-buffered planes establish and release mappings, 70 * In the driver's atomic-update function, shadow-buffer mappings are available 87 * struct &drm_shadow_plane_state.map. The mappings are valid while the state 92 * callbacks. Access to shadow-buffer mappings is similar to regular 212 * The function does not duplicate existing mappings of the shadow buffers. 213 * Mappings are maintained during the atomic commit by the plane's prepare_fb 241 * The function does not duplicate existing mappings of the shadow buffers. 242 * Mappings are maintained during the atomic commit by the plane's prepare_fb [all …]
|
/linux/Documentation/admin-guide/mm/ |
H A D | nommu-mmap.rst | 29 These behave very much like private mappings, except that they're 133 In the no-MMU case, however, anonymous mappings are backed by physical 147 (#) A list of all the private copy and anonymous mappings on the system is 150 (#) A list of all the mappings in use by a process is visible through 176 mappings made by a process or if the mapping in which the address lies does not 191 Shared mappings may not be moved. Shareable mappings may not be moved either, 196 mappings, move parts of existing mappings or resize parts of mappings. It must 243 mappings may still be mapped directly off the device under some 250 Provision of shared mappings on memory backed files is similar to the provision 253 of pages and permit mappings to be made on that. [all …]
|
/linux/arch/x86/include/asm/ |
H A D | invpcid.h | 13 * mappings, we don't want the compiler to reorder any subsequent in __invpcid() 25 /* Flush all mappings for a given pcid and addr, not including globals. */ 32 /* Flush all mappings for a given PCID, not including globals. */ 38 /* Flush all mappings, including globals, for all PCIDs. */ 44 /* Flush all mappings for all PCIDs except globals. */
|
/linux/Documentation/arch/arm/ |
H A D | memory.rst | 62 Machine specific static mappings are also 72 PKMAP_BASE PAGE_OFFSET-1 Permanent kernel mappings 78 placed here using dynamic mappings. 85 00001000 TASK_SIZE-1 User space mappings 86 Per-thread mappings are placed here via 96 Please note that mappings which collide with the above areas may result 103 must set up their own mappings using open() and mmap().
|
/linux/arch/sh/mm/ |
H A D | pmb.c | 50 /* Adjacent entry link for contiguous multi-entry mappings */ 172 * Finally for sizes that involve compound mappings, walk in pmb_mapping_exists() 424 * Small mappings need to go through the TLB. in pmb_remap_caller() 530 pr_info("PMB: boot mappings:\n"); in pmb_notify() 551 * Sync our software copy of the PMB mappings with those in hardware. The 552 * mappings in the hardware PMB were either set up by the bootloader or 561 * Run through the initial boot mappings, log the established in pmb_synchronize() 563 * PPN range. Specifically, we only care about existing mappings in pmb_synchronize() 567 * loader can establish multi-page mappings with the same caching in pmb_synchronize() 573 * jumping between the cached and uncached mappings and tearing in pmb_synchronize() [all …]
|
/linux/tools/testing/selftests/kvm/ |
H A D | kvm_page_table_test.c | 110 * Then KVM will create normal page mappings or huge block in guest_code() 111 * mappings for them. in guest_code() 126 * normal page mappings from RO to RW if memory backing src type in guest_code() 128 * mappings into normal page mappings if memory backing src type in guest_code() 150 * this will create new mappings at the smallest in guest_code() 164 * split page mappings back to block mappings. And a TLB in guest_code() 166 * page mappings are not fully invalidated. in guest_code() 365 /* Test the stage of KVM creating mappings */ in run_test() 375 /* Test the stage of KVM updating mappings */ in run_test() 388 /* Test the stage of KVM adjusting mappings */ in run_test()
|
/linux/Documentation/driver-api/ |
H A D | io-mapping.rst | 44 used with mappings created by io_mapping_create_wc() 46 Temporary mappings are only valid in the context of the caller. The mapping 56 Nested mappings need to be undone in reverse order because the mapping 65 The mappings are released with:: 83 The mappings are released with::
|
/linux/drivers/gpu/drm/tegra/ |
H A D | submit.c | 150 xa_lock(&context->mappings); in tegra_drm_mapping_get() 152 mapping = xa_load(&context->mappings, id); in tegra_drm_mapping_get() 156 xa_unlock(&context->mappings); in tegra_drm_mapping_get() 261 struct tegra_drm_used_mapping *mappings; in submit_process_bufs() local 273 mappings = kcalloc(args->num_bufs, sizeof(*mappings), GFP_KERNEL); in submit_process_bufs() 274 if (!mappings) { in submit_process_bufs() 303 mappings[i].mapping = mapping; in submit_process_bufs() 304 mappings[i].flags = buf->flags; in submit_process_bufs() 307 job_data->used_mappings = mappings; in submit_process_bufs() 316 tegra_drm_mapping_put(mappings[i].mapping); in submit_process_bufs() [all …]
|
/linux/arch/hexagon/include/asm/ |
H A D | mem-layout.h | 71 * Permanent IO mappings will live at 0xfexx_xxxx 80 * "permanent kernel mappings", defined as long-lasting mappings of 92 * "Permanent Kernel Mappings"; fancy (or less fancy) PTE table
|
/linux/Documentation/userspace-api/ |
H A D | mseal.rst | 133 - System mappings: 134 The system mappings are created by the kernel and includes vdso, vvar, 137 Those system mappings are readonly only or execute only, memory sealing can 143 the CONFIG_MSEAL_SYSTEM_MAPPINGS seals all system mappings of this 150 or unmapping system mappings. Known broken software at the time 174 the heap manager's ability to manage the mappings; the outcome is 188 attributes, such as protection bits (RWX). Sealed mappings doesn't mean the
|
/linux/Documentation/driver-api/usb/ |
H A D | dma.rst | 19 manage dma mappings for existing dma-ready buffers (see below). 27 don't manage dma mappings for URBs. 41 IOMMU to manage the DMA mappings. It can cost MUCH more to set up and 42 tear down the IOMMU mappings with each request than perform the I/O! 64 "streaming" DMA mappings.)
|
/linux/Documentation/core-api/ |
H A D | dma-api-howto.rst | 35 mappings between physical and bus addresses. 172 The setup for streaming mappings is performed via a call to 234 coherent allocations, but supports full 64-bits for streaming mappings 257 kernel will use this information later when you make DMA mappings. 296 Types of DMA mappings 299 There are two types of DMA mappings: 301 - Consistent DMA mappings which are usually mapped at driver 314 Good examples of what to use consistent mappings for are: 323 versa. Consistent mappings guarantee this. 345 - Streaming DMA mappings which are usually mapped for one DMA [all …]
|
/linux/include/linux/ |
H A D | rmap.h | 279 /* We might have other mappings already. */ in folio_add_return_large_mapcount() 285 /* Slot 0 certainly has mappings as well. */ in folio_add_return_large_mapcount() 307 * mapcount (some mappings added when no slot was free, some mappings in folio_sub_return_large_mapcount() 326 * If one MM slot owns all mappings, the folio is mapped exclusively. in folio_sub_return_large_mapcount() 577 * folio_dup_file_rmap_ptes - duplicate PTE mappings of a page range of a folio 578 * @folio: The folio to duplicate the mappings of 579 * @page: The first page to duplicate the mappings of 632 * don't allow to duplicate the mappings but instead require to e.g., in __folio_try_dup_anon_rmap() 683 * folio_try_dup_anon_rmap_ptes - try duplicating PTE mappings of a page range 685 * @folio: The folio to duplicate the mappings of [all …]
|
H A D | dma-buf.h | 209 * command for userspace mappings established through @mmap, and also 210 * for kernel mappings established with @vmap. 250 * mappings. The exporter hence does not need to duplicate this check. 463 * backing store while mappings exists. 470 * Mappings stay valid and are not directly affected by this callback. 472 * mappings should be destroyed and re-created as soon as possible. 474 * New mappings can be created after this callback returns, and will 559 * dma_buf_is_dynamic - check if a DMA-buf uses dynamic mappings.
|
/linux/drivers/soc/aspeed/ |
H A D | Kconfig | 13 Control LPC firmware cycle mappings through ioctl()s. The driver 43 Control ASPEED P2A VGA MMIO to BMC mappings through ioctl()s. The 44 driver also provides an interface for userspace mappings to a
|
/linux/arch/sh/kernel/ |
H A D | head_32.S | 91 * Reconfigure the initial PMB mappings setup by the hardware. 102 * our address space and the initial mappings may not map PAGE_OFFSET 105 * Once we've setup cached and uncached mappings we clear the rest of the 156 * existing mappings that match the initial mappings VPN/PPN. 175 cmp/eq r0, r8 /* Check for valid __MEMORY_START mappings */ 185 * mappings.
|
/linux/Documentation/gpu/rfc/ |
H A D | i915_vm_bind.rst | 9 specified address space (VM). These mappings (also referred to as persistent 10 mappings) will be persistent across multiple GPU submissions (execbuf calls) 12 mappings during each submission (as required by older execbuf mode). 27 * Multiple Virtual Address (VA) mappings can map to the same physical pages 30 * Support capture of persistent mappings in the dump upon GPU error. 90 path (where required mappings are already bound) submission latency is O(1) 201 execbuf. VM_BIND allows bind/unbind of mappings required for the directly 231 mapped objects. Page table pages are similar to persistent mappings of a
|
H A D | i915_vm_bind.h | 17 * 1: In VM_UNBIND calls, the UMD must specify the exact mappings created 19 * mappings or splitting them. Similarly, VM_BIND calls will not replace 20 * any existing mappings. 22 * 2: The restrictions on unbinding partial or multiple mappings is 23 * lifted, Similarly, binding will replace any mappings in the given range. 93 * Multiple VA mappings can be created to the same section of the object
|
/linux/include/drm/ |
H A D | drm_cache.h | 56 * for some buffers, both the CPU and the GPU use uncached mappings, in drm_arch_can_wc_memory() 59 * The use of uncached GPU mappings relies on the correct implementation in drm_arch_can_wc_memory() 61 * will use cached mappings nonetheless. On x86 platforms, this does not in drm_arch_can_wc_memory() 62 * seem to matter, as uncached CPU mappings will snoop the caches in any in drm_arch_can_wc_memory()
|
/linux/drivers/iommu/ |
H A D | virtio-iommu.c | 70 struct rb_root_cached mappings; member 346 interval_tree_insert(&mapping->iova, &vdomain->mappings); in viommu_add_mapping() 353 * viommu_del_mappings - remove mappings from the internal tree 370 next = interval_tree_iter_first(&vdomain->mappings, iova, end); in viommu_del_mappings() 386 interval_tree_remove(node, &vdomain->mappings); in viommu_del_mappings() 395 * Fill the domain with identity mappings, skipping the device's reserved 447 * mappings were deleted from the device. Re-create the mappings available in 459 node = interval_tree_iter_first(&vdomain->mappings, 0, -1UL); in viommu_replay_mappings() 678 vdomain->mappings = RB_ROOT_CACHED; in viommu_domain_alloc_paging() 702 /* Free all remaining mappings */ in viommu_domain_free() [all …]
|
/linux/fs/xfs/scrub/ |
H A D | bmap.c | 50 * while we inspect block mappings, so wait for directio to finish in xchk_setup_inode_bmap() 72 * space mappings for the data fork. Leave accumulated errors in xchk_setup_inode_bmap() 89 /* Drop the page cache if we're repairing block mappings. */ in xchk_setup_inode_bmap() 133 /* May mappings point to shared space? */ 743 * Decide if we want to scan the reverse mappings to determine if the attr 744 * fork /really/ has zero space mappings. 755 * to reconstruct the block mappings. If the fork is not in this in xchk_bmap_check_empty_attrfork() 787 * Decide if we want to scan the reverse mappings to determine if the data 788 * fork /really/ has zero space mappings. 799 * to reconstruct the block mappings. If the fork is not in this in xchk_bmap_check_empty_datafork() [all …]
|
/linux/include/uapi/linux/ |
H A D | fsmap.h | 19 * the lower and upper bound of mappings to return, followed by an 20 * array of struct fsmap mappings. 26 * zero, the number of reverse mappings will be returned in 27 * fmh_entries, though no mappings will be returned. fmh_reserved
|