| /kernel/linux/linux-4.19/Documentation/ia64/ |
| D | aliasing.txt | 58 KERNEL IDENTITY MAPPINGS 60 Linux/ia64 identity mappings are done with large pages, currently 61 either 16MB or 64MB, referred to as "granules." Cacheable mappings 71 Uncacheable mappings are not speculative, so the processor will 73 software. This allows UC identity mappings to cover granules that 77 USER MAPPINGS 79 User mappings are typically done with 16K or 64K pages. The smaller 85 There are several ways the kernel creates new mappings: 89 This uses remap_pfn_range(), which creates user mappings. These 90 mappings may be either WB or UC. If the region being mapped [all …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-4.19/arch/arm64/ |
| D | Kconfig.debug | 43 bool "Warn on W+X mappings at boot" 46 Generate a warning if any W+X mappings are found at boot. 49 W+X mappings after applying NX, as such mappings are a security risk. 51 mappings. 55 arm64/mm: Checked W+X mappings: passed, no W+X pages found. 59 arm64/mm: Checked W+X mappings: FAILED, <N> W+X pages found. 62 still fine, as W+X mappings are not a security hole in
|
| /kernel/linux/linux-4.19/Documentation/arm/ |
| D | memory.txt | 53 Machine specific static mappings are also 63 PKMAP_BASE PAGE_OFFSET-1 Permanent kernel mappings 69 placed here using dynamic mappings. 71 00001000 TASK_SIZE-1 User space mappings 72 Per-thread mappings are placed here via 81 Please note that mappings which collide with the above areas may result 88 must set up their own mappings using open() and mmap().
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-5.10/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. */
|
| /kernel/linux/linux-4.19/arch/x86/include/asm/ |
| D | invpcid.h | 13 * mappings, we don't want the compiler to reorder any subsequent in __invpcid() 28 /* Flush all mappings for a given pcid and addr, not including globals. */ 35 /* Flush all mappings for a given PCID, not including globals. */ 41 /* Flush all mappings, including globals, for all PCIDs. */ 47 /* Flush all mappings for all PCIDs except globals. */
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-4.19/Documentation/ |
| D | nommu-mmap.txt | 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 …]
|
| /kernel/linux/linux-5.10/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().
|
| /kernel/linux/linux-4.19/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 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 some reservations m… [all …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-4.19/arch/x86/mm/ |
| D | mem_encrypt_identity.c | 16 * Since we're dealing with identity mappings, physical and virtual 238 * entries that are needed. Those mappings will be covered mostly in sme_pgtable_calc() 241 * mappings. For mappings that are not 2MB aligned, PTE mappings in sme_pgtable_calc() 333 * One PGD for both encrypted and decrypted mappings and a set of in sme_encrypt_kernel() 334 * PUDs and PMDs for each of the encrypted and decrypted mappings. in sme_encrypt_kernel() 359 * mappings are populated. in sme_encrypt_kernel() 380 * decrypted kernel mappings are created. in sme_encrypt_kernel() 401 /* Add encrypted kernel (identity) mappings */ in sme_encrypt_kernel() 407 /* Add decrypted, write-protected kernel (non-identity) mappings */ in sme_encrypt_kernel() 414 /* Add encrypted initrd (identity) mappings */ in sme_encrypt_kernel() [all …]
|
| /kernel/linux/linux-5.10/mm/ |
| D | Kconfig.debug | 125 bool "Warn on W+X mappings at boot" 130 Generate a warning if any W+X mappings are found at boot. 133 mappings after applying NX, as such mappings are a security risk. 137 <arch>/mm: Checked W+X mappings: passed, no W+X pages found. 141 <arch>/mm: Checked W+X mappings: failed, <N> W+X pages found. 144 still fine, as W+X mappings are not a security hole in
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-4.19/arch/arm64/mm/ |
| D | pageattr.c | 75 * Kernel VA mappings are always live, and splitting live section in change_memory_common() 76 * mappings into page mappings may cause TLB conflicts. This means in change_memory_common() 80 * Let's restrict ourselves to mappings created by vmalloc (or vmap). in change_memory_common() 81 * Those are guaranteed to consist entirely of page mappings, and in change_memory_common() 154 * p?d_present(). When debug_pagealloc is enabled, sections mappings are
|
| /kernel/linux/linux-4.19/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 …]
|
| /kernel/linux/linux-5.10/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
|
| /kernel/linux/linux-5.10/drivers/soc/aspeed/ |
| D | Kconfig | 12 Control Aspeed ast2400/2500 HOST LPC to BMC mappings through 28 Control Aspeed ast2400/2500 HOST P2A VGA MMIO to BMC mappings through 29 ioctl()s, the driver also provides an interface for userspace mappings to
|
| /kernel/linux/linux-5.10/arch/arm64/mm/ |
| D | pageattr.c | 69 * Kernel VA mappings are always live, and splitting live section in change_memory_common() 70 * mappings into page mappings may cause TLB conflicts. This means in change_memory_common() 74 * Let's restrict ourselves to mappings created by vmalloc (or vmap). in change_memory_common() 75 * Those are guaranteed to consist entirely of page mappings, and in change_memory_common() 195 * p?d_present(). When debug_pagealloc is enabled, sections mappings are
|
| /kernel/linux/linux-4.19/drivers/misc/mic/host/ |
| D | mic_smpt.h | 36 * @ref_count: Number of active mappings for this SMPT entry in bytes. 62 * @ref_count: Number of active SMPT mappings (for debug). 63 * @map_count: Number of SMPT mappings created (for debug). 64 * @unmap_count: Number of SMPT mappings destroyed (for debug).
|
| /kernel/linux/linux-5.10/include/drm/ |
| D | drm_cache.h | 54 * for some buffers, both the CPU and the GPU use uncached mappings, in drm_arch_can_wc_memory() 57 * The use of uncached GPU mappings relies on the correct implementation in drm_arch_can_wc_memory() 59 * will use cached mappings nonetheless. On x86 platforms, this does not in drm_arch_can_wc_memory() 60 * seem to matter, as uncached CPU mappings will snoop the caches in any in drm_arch_can_wc_memory()
|