/Linux-v6.1/Documentation/mm/ |
D | highmem.rst | 17 at all times. This means the kernel needs to start using temporary mappings of 50 Temporary Virtual Mappings 53 The kernel contains several ways of creating temporary mappings. The following 56 * kmap_local_page(). This function is used to require short term mappings. 57 It can be invoked from any context (including interrupts) but the mappings 62 These mappings are thread-local and CPU-local, meaning that the mapping 87 mappings, the local mappings are only valid in the context of the caller 92 Most code can be designed to use thread local mappings. User should 97 Nesting kmap_local_page() and kmap_atomic() mappings is allowed to a certain 101 mappings. [all …]
|
D | hugetlbfs_reserv.rst | 89 of mappings. Location differences are: 91 - For private mappings, the reservation map hangs off the VMA structure. 94 - For shared mappings, the reservation map hangs off the inode. Specifically, 95 inode->i_mapping->private_data. Since shared mappings are always backed 123 One of the big differences between PRIVATE and SHARED mappings is the way 126 - For shared mappings, an entry in the reservation map indicates a reservation 129 - For private mappings, the lack of an entry in the reservation map indicates 135 For private mappings, hugetlb_reserve_pages() creates the reservation map and 140 are needed for the current mapping/segment. For private mappings, this is 141 always the value (to - from). However, for shared mappings it is possible that [all …]
|
/Linux-v6.1/drivers/gpu/drm/panfrost/ |
D | panfrost_gem.c | 33 * If we still have mappings attached to the BO, there's a problem in in panfrost_gem_free_object() 36 WARN_ON_ONCE(!list_empty(&bo->mappings.list)); in panfrost_gem_free_object() 61 mutex_lock(&bo->mappings.lock); in panfrost_gem_mapping_get() 62 list_for_each_entry(iter, &bo->mappings.list, node) { in panfrost_gem_mapping_get() 69 mutex_unlock(&bo->mappings.lock); in panfrost_gem_mapping_get() 110 list_for_each_entry(mapping, &bo->mappings.list, node) in panfrost_gem_teardown_mappings_locked() 158 mutex_lock(&bo->mappings.lock); in panfrost_gem_open() 160 list_add_tail(&mapping->node, &bo->mappings.list); in panfrost_gem_open() 161 mutex_unlock(&bo->mappings.lock); in panfrost_gem_open() 175 mutex_lock(&bo->mappings.lock); in panfrost_gem_close() [all …]
|
/Linux-v6.1/Documentation/ia64/ |
D | aliasing.rst | 64 Kernel Identify Mappings 67 Linux/ia64 identity mappings are done with large pages, currently 68 either 16MB or 64MB, referred to as "granules." Cacheable mappings 78 Uncacheable mappings are not speculative, so the processor will 80 software. This allows UC identity mappings to cover granules that 84 User Mappings 87 User mappings are typically done with 16K or 64K pages. The smaller 94 There are several ways the kernel creates new mappings: 99 This uses remap_pfn_range(), which creates user mappings. These 100 mappings may be either WB or UC. If the region being mapped [all …]
|
/Linux-v6.1/arch/x86/include/asm/ |
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-v6.1/Documentation/admin-guide/mm/ |
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-v6.1/Documentation/arm/ |
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-v6.1/drivers/gpu/drm/ |
D | drm_gem_atomic_helper.c | 21 * synchronization helpers, and plane state and framebuffer BO mappings 51 * a mapping of the shadow buffer into kernel address space. The mappings 55 * The helpers for shadow-buffered planes establish and release mappings, 78 * In the driver's atomic-update function, shadow-buffer mappings are available 95 * struct &drm_shadow_plane_state.map. The mappings are valid while the state 100 * callbacks. Access to shadow-buffer mappings is similar to regular 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 263 * The function does not duplicate existing mappings of the shadow buffers. 264 * Mappings are maintained during the atomic commit by the plane's prepare_fb [all …]
|
/Linux-v6.1/mm/ |
D | Kconfig.debug | 99 bool "Check for invalid mappings in user page tables" 162 bool "Warn on W+X mappings at boot" 167 Generate a warning if any W+X mappings are found at boot. 170 mappings after applying NX, as such mappings are a security risk. 174 <arch>/mm: Checked W+X mappings: passed, no W+X pages found. 178 <arch>/mm: Checked W+X mappings: failed, <N> W+X pages found. 181 still fine, as W+X mappings are not a security hole in
|
/Linux-v6.1/arch/x86/mm/ |
D | mem_encrypt_identity.c | 13 * Since we're dealing with identity mappings, physical and virtual 261 * entries that are needed. Those mappings will be covered mostly in sme_pgtable_calc() 264 * mappings. For mappings that are not 2MB aligned, PTE mappings in sme_pgtable_calc() 367 * One PGD for both encrypted and decrypted mappings and a set of in sme_encrypt_kernel() 368 * PUDs and PMDs for each of the encrypted and decrypted mappings. in sme_encrypt_kernel() 393 * mappings are populated. in sme_encrypt_kernel() 414 * decrypted kernel mappings are created. in sme_encrypt_kernel() 435 /* Add encrypted kernel (identity) mappings */ in sme_encrypt_kernel() 441 /* Add decrypted, write-protected kernel (non-identity) mappings */ in sme_encrypt_kernel() 448 /* Add encrypted initrd (identity) mappings */ in sme_encrypt_kernel() [all …]
|
/Linux-v6.1/Documentation/driver-api/ |
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-v6.1/tools/testing/selftests/kvm/ |
D | kvm_page_table_test.c | 112 * Then KVM will create normal page mappings or huge block in guest_code() 113 * mappings for them. in guest_code() 128 * normal page mappings from RO to RW if memory backing src type in guest_code() 130 * mappings into normal page mappings if memory backing src type in guest_code() 152 * this will create new mappings at the smallest in guest_code() 166 * split page mappings back to block mappings. And a TLB in guest_code() 168 * page mappings are not fully invalidated. in guest_code() 368 /* Test the stage of KVM creating mappings */ in run_test() 378 /* Test the stage of KVM updating mappings */ in run_test() 391 /* Test the stage of KVM adjusting mappings */ in run_test()
|
/Linux-v6.1/arch/sh/mm/ |
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-v6.1/arch/hexagon/include/asm/ |
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-v6.1/drivers/gpu/drm/tegra/ |
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() 266 struct tegra_drm_used_mapping *mappings; in submit_process_bufs() local 278 mappings = kcalloc(args->num_bufs, sizeof(*mappings), GFP_KERNEL); in submit_process_bufs() 279 if (!mappings) { in submit_process_bufs() 308 mappings[i].mapping = mapping; in submit_process_bufs() 309 mappings[i].flags = buf->flags; in submit_process_bufs() 312 job_data->used_mappings = mappings; in submit_process_bufs() 321 tegra_drm_mapping_put(mappings[i].mapping); in submit_process_bufs() [all …]
|
/Linux-v6.1/arch/arm64/mm/ |
D | pageattr.c | 80 * Kernel VA mappings are always live, and splitting live section in change_memory_common() 81 * mappings into page mappings may cause TLB conflicts. This means in change_memory_common() 85 * Let's restrict ourselves to mappings created by vmalloc (or vmap). in change_memory_common() 86 * Those are guaranteed to consist entirely of page mappings, and in change_memory_common() 209 * p?d_present(). When debug_pagealloc is enabled, sections mappings are
|
/Linux-v6.1/drivers/soc/aspeed/ |
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-v6.1/Documentation/driver-api/usb/ |
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-v6.1/Documentation/core-api/ |
D | dma-api-howto.rst | 35 mappings between physical and bus addresses. 172 The setup for streaming mappings is performed via a call to 214 coherent allocations, but supports full 64-bits for streaming mappings 237 kernel will use this information later when you make DMA mappings. 276 Types of DMA mappings 279 There are two types of DMA mappings: 281 - Consistent DMA mappings which are usually mapped at driver 294 Good examples of what to use consistent mappings for are: 303 versa. Consistent mappings guarantee this. 325 - Streaming DMA mappings which are usually mapped for one DMA [all …]
|
/Linux-v6.1/arch/sh/kernel/ |
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-v6.1/include/drm/ |
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-v6.1/Documentation/gpu/rfc/ |
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
|
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
|
/Linux-v6.1/include/linux/ |
D | highmem.h | 43 * Counterpart to kmap(). A NOOP for CONFIG_HIGHMEM=n and for mappings of 57 * kmap_flush_unused - Flush all unused kmap mappings in order to 58 * remove stray mappings 70 * Requires careful handling when nesting multiple mappings because the map 82 * Contrary to kmap() mappings the mapping is only valid in the context of 103 * Requires careful handling when nesting multiple mappings because the map 115 * Contrary to kmap() mappings the mapping is only valid in the context of 145 * Mappings should always be released by kunmap_atomic().
|
/Linux-v6.1/drivers/iommu/ |
D | virtio-iommu.c | 70 struct rb_root_cached mappings; member 329 interval_tree_insert(&mapping->iova, &vdomain->mappings); in viommu_add_mapping() 336 * viommu_del_mappings - remove mappings from the internal tree 353 next = interval_tree_iter_first(&vdomain->mappings, iova, end); in viommu_del_mappings() 369 interval_tree_remove(node, &vdomain->mappings); in viommu_del_mappings() 378 * Fill the domain with identity mappings, skipping the device's reserved 430 * mappings were deleted from the device. Re-create the mappings available in 442 node = interval_tree_iter_first(&vdomain->mappings, 0, -1UL); in viommu_replay_mappings() 655 vdomain->mappings = RB_ROOT_CACHED; in viommu_domain_alloc() 711 /* Free all remaining mappings */ in viommu_domain_free() [all …]
|