/Linux-v5.15/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-v5.15/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-v5.15/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-v5.15/drivers/gpu/drm/ |
D | drm_gem_atomic_helper.c | 19 * synchronization helpers, and plane state and framebuffer BO mappings 49 * a mapping of the shadow buffer into kernel address space. The mappings 53 * The helpers for shadow-buffered planes establish and release mappings, 76 * In the driver's atomic-update function, shadow-buffer mappings are available 93 * struct &drm_shadow_plane_state.map. The mappings are valid while the state 98 * callbacks. Access to shadow-buffer mappings is similar to regular 193 * The function does not duplicate existing mappings of the shadow buffers. 194 * Mappings are maintained during the atomic commit by the plane's prepare_fb 215 * The function does not duplicate existing mappings of the shadow buffers. 216 * Mappings are maintained during the atomic commit by the plane's prepare_fb [all …]
|
/Linux-v5.15/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-v5.15/Documentation/vm/ |
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: 67 CPU until it has finished, lest some other task displace its mappings. 110 Cost of Temporary Mappings 113 The cost of creating temporary mappings can be quite high. The arch has to 118 a pointer to the page contents rather than juggling mappings about. In such a 121 If CONFIG_MMU is not set, then there can be no temporary mappings and no
|
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-v5.15/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-v5.15/mm/ |
D | Kconfig.debug | 105 bool "Warn on W+X mappings at boot" 110 Generate a warning if any W+X mappings are found at boot. 113 mappings after applying NX, as such mappings are a security risk. 117 <arch>/mm: Checked W+X mappings: passed, no W+X pages found. 121 <arch>/mm: Checked W+X mappings: failed, <N> W+X pages found. 124 still fine, as W+X mappings are not a security hole in
|
/Linux-v5.15/arch/x86/mm/ |
D | mem_encrypt_identity.c | 13 * Since we're dealing with identity mappings, physical and virtual 249 * entries that are needed. Those mappings will be covered mostly in sme_pgtable_calc() 252 * mappings. For mappings that are not 2MB aligned, PTE mappings in sme_pgtable_calc() 349 * One PGD for both encrypted and decrypted mappings and a set of in sme_encrypt_kernel() 350 * PUDs and PMDs for each of the encrypted and decrypted mappings. in sme_encrypt_kernel() 375 * mappings are populated. in sme_encrypt_kernel() 396 * decrypted kernel mappings are created. in sme_encrypt_kernel() 417 /* Add encrypted kernel (identity) mappings */ in sme_encrypt_kernel() 423 /* Add decrypted, write-protected kernel (non-identity) mappings */ in sme_encrypt_kernel() 430 /* Add encrypted initrd (identity) mappings */ in sme_encrypt_kernel() [all …]
|
/Linux-v5.15/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-v5.15/tools/testing/selftests/kvm/ |
D | kvm_page_table_test.c | 121 * Then KVM will create normal page mappings or huge block in guest_code() 122 * mappings for them. in guest_code() 137 * normal page mappings from RO to RW if memory backing src type in guest_code() 139 * mappings into normal page mappings if memory backing src type in guest_code() 161 * this will create new mappings at the smallest in guest_code() 175 * split page mappings back to block mappings. And a TLB in guest_code() 177 * page mappings are not fully invalidated. in guest_code() 390 /* Test the stage of KVM creating mappings */ in run_test() 400 /* Test the stage of KVM updating mappings */ in run_test() 413 /* Test the stage of KVM adjusting mappings */ in run_test()
|
/Linux-v5.15/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-v5.15/drivers/gpu/drm/tegra/ |
D | submit.c | 121 xa_lock(&context->mappings); in tegra_drm_mapping_get() 123 mapping = xa_load(&context->mappings, id); in tegra_drm_mapping_get() 127 xa_unlock(&context->mappings); in tegra_drm_mapping_get() 237 struct tegra_drm_used_mapping *mappings; in submit_process_bufs() local 249 mappings = kcalloc(args->num_bufs, sizeof(*mappings), GFP_KERNEL); in submit_process_bufs() 250 if (!mappings) { in submit_process_bufs() 279 mappings[i].mapping = mapping; in submit_process_bufs() 280 mappings[i].flags = buf->flags; in submit_process_bufs() 283 job_data->used_mappings = mappings; in submit_process_bufs() 292 tegra_drm_mapping_put(mappings[i].mapping); in submit_process_bufs() [all …]
|
/Linux-v5.15/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-v5.15/drivers/soc/aspeed/ |
D | Kconfig | 13 Control LPC firmware cycle mappings through ioctl()s. The driver 33 Control ASPEED P2A VGA MMIO to BMC mappings through ioctl()s. The 34 driver also provides an interface for userspace mappings to a
|
/Linux-v5.15/arch/arm64/mm/ |
D | pageattr.c | 74 * Kernel VA mappings are always live, and splitting live section in change_memory_common() 75 * mappings into page mappings may cause TLB conflicts. This means in change_memory_common() 79 * Let's restrict ourselves to mappings created by vmalloc (or vmap). in change_memory_common() 80 * Those are guaranteed to consist entirely of page mappings, and in change_memory_common() 202 * p?d_present(). When debug_pagealloc is enabled, sections mappings are
|
/Linux-v5.15/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-v5.15/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-v5.15/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-v5.15/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-v5.15/arch/arm64/kvm/hyp/nvhe/ |
D | mem_protect.c | 316 * Block mappings must be used with care in the host stage-2 as a in host_stage2_force_pte_cb() 319 * mappings in the rest of the block range can always be rebuilt lazily. in host_stage2_force_pte_cb() 320 * That assumption is correct for the host stage-2 with RWX mappings in host_stage2_force_pte_cb() 321 * targeting memory or RW mappings targeting MMIO ranges (see in host_stage2_force_pte_cb() 323 * abort logic). However, this is not safe for any other mappings where in host_stage2_force_pte_cb() 326 * mappings, hence avoiding to lose the state because of side-effects in in host_stage2_force_pte_cb() 426 * If the page is not yet shared, adjust mappings in both page-tables in __pkvm_host_share_hyp()
|
/Linux-v5.15/drivers/iommu/ |
D | virtio-iommu.c | 71 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 355 next = interval_tree_iter_first(&vdomain->mappings, iova, last); in viommu_del_mappings() 371 interval_tree_remove(node, &vdomain->mappings); in viommu_del_mappings() 383 * mappings were deleted from the device. Re-create the mappings available in 395 node = interval_tree_iter_first(&vdomain->mappings, 0, -1UL); in viommu_replay_mappings() 599 vdomain->mappings = RB_ROOT_CACHED; in viommu_domain_alloc() 640 /* Free all remaining mappings (size 2^64) */ in viommu_domain_free() 677 * old domain isn't attached to any endpoint, all mappings are removed in viommu_attach_dev() [all …]
|
/Linux-v5.15/include/uapi/linux/ |
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
|
/Linux-v5.15/arch/arc/mm/ |
D | highmem.c | 22 * shortlived ala "temporary mappings" which historically were implemented as 36 * This means each only has 1 PGDIR_SIZE worth of kvaddr mappings, which means 43 * mappings. However, generic pkmap code: map_new_virtual(), doesn't traverse
|