/openbmc/qemu/target/xtensa/core-de233_fpu/ |
H A D | core-matmap.h | 2 * xtensa/config/core-matmap.h -- Memory access and translation mapping 10 * information contained in the core-isa.h header file. 19 * XCHAL_ICACHE_SIZE (presence of I-cache) 20 * XCHAL_DCACHE_SIZE (presence of D-cache) 25 /* Copyright (c) 1999-2020 Tensilica Inc. 49 /*---------------------------------------------------------------------- 51 ----------------------------------------------------------------------*/ 55 /* Cache Attribute encodings -- lists of access modes for each cache attribute: */ 117 #define XCHAL_CA_WRITETHRU 11 /* cache enabled (write-through) mode */ 118 #define XCHAL_CA_WRITEBACK 7 /* cache enabled (write-back) mode */ [all …]
|
/openbmc/linux/drivers/gpu/drm/ |
H A D | drm_fb_dma_helper.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Author: Lars-Peter Clausen <lars@metafoo.de> 19 #include <linux/dma-mapping.h> 25 * Provides helper functions for creating a DMA-contiguous framebuffer. 27 * Depending on the platform, the buffers may be physically non-contiguous and 29 * physically-contiguous memory (using, for instance, CMA or a pool of memory 34 * callback function to create a DMA-contiguous framebuffer. 38 * drm_fb_dma_get_gem_obj() - Get DMA GEM object for framebuffer 60 * drm_fb_dma_get_gem_addr() - Get DMA (bus) address for framebuffer, for pixel 77 u32 block_w = drm_format_info_block_width(fb->format, plane); in drm_fb_dma_get_gem_addr() [all …]
|
/openbmc/linux/kernel/dma/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 100 pools as needed. To reduce run-time kernel memory requirements, you 119 <Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt> 124 # Should be selected if we can mmap non-coherent mappings to userspace. 146 bool "DMA Contiguous Memory Allocator" 149 This enables the Contiguous Memory Allocator which allows drivers 150 to allocate big physically-contiguous blocks of memory for use with 151 hardware components that do not support I/O map nor scatter-gather. 156 For more information see <kernel/dma/contiguous.c>. 162 bool "Enable separate DMA Contiguous Memory Area for NUMA Node" [all …]
|
H A D | remap.c | 1 // SPDX-License-Identifier: GPL-2.0 5 #include <linux/dma-map-ops.h> 13 if (!area || area->flags != VM_DMA_COHERENT) in dma_common_find_pages() 15 return area->pages; in dma_common_find_pages() 20 * Cannot be used in non-sleeping contexts 30 find_vm_area(vaddr)->pages = pages; in dma_common_pages_remap() 35 * Remaps an allocated contiguous region into another vm_area. 36 * Cannot be used in non-sleeping contexts 64 if (!area || area->flags != VM_DMA_COHERENT) { in dma_common_free_remap()
|
/openbmc/linux/Documentation/driver-api/dmaengine/ |
H A D | provider.rst | 20 DMA-eligible devices to the controller itself. Whenever the device 44 transfer into smaller sub-transfers. 47 that involve a single contiguous block of data. However, some of the 49 non-contiguous buffers to a contiguous buffer, which is called 50 scatter-gather. 53 scatter-gather. So we're left with two cases here: either we have a 56 that implements in hardware scatter-gather. 79 These were just the general memory-to-memory (also called mem2mem) or 80 memory-to-device (mem2dev) kind of transfers. Most devices often 98 documentation file in Documentation/crypto/async-tx-api.rst. [all …]
|
/openbmc/linux/Documentation/mm/ |
H A D | memory-model.rst | 1 .. SPDX-License-Identifier: GPL-2.0 9 spans a contiguous range up to the maximal address. It could be, 11 for the CPU. Then there could be several contiguous ranges at 23 Regardless of the selected memory model, there exists one-to-one 35 non-NUMA systems with contiguous, or mostly contiguous, physical 54 straightforward: `PFN - ARCH_PFN_OFFSET` is an index to the 65 as hot-plug and hot-remove of the physical memory, alternative memory 66 maps for non-volatile memory devices and deferred initialization of 85 NR\_MEM\_SECTIONS = 2 ^ {(MAX\_PHYSMEM\_BITS - SECTION\_SIZE\_BITS)} 87 The `mem_section` objects are arranged in a two-dimensional array [all …]
|
/openbmc/linux/arch/nios2/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 49 int "Order of maximal physically contiguous allocations" 53 contiguous allocations. The limit is called MAX_ORDER and it 55 allocated as a single contiguous block. This option allows 57 large blocks of physically contiguous memory is required. 80 2 or 4. Any non-aligned load/store instructions will be trapped and 97 some command-line options at build time by entering them here. In 118 bool "Passed kernel command line from u-boot" 120 Use bootargs env variable from u-boot for kernel command line.
|
/openbmc/qemu/block/ |
H A D | qed-cluster.c | 11 * See the COPYING.LIB file in the top-level directory. 19 * Count the number of contiguous data clusters 27 * This function scans tables for contiguous clusters. A contiguous run of 36 unsigned int end = MIN(index + n, s->table_nelems); in qed_count_contiguous_clusters() 37 uint64_t last = table->offsets[index]; in qed_count_contiguous_clusters() 45 if (!qed_offset_is_unalloc_cluster(table->offsets[i])) { in qed_count_contiguous_clusters() 50 if (!qed_offset_is_zero_cluster(table->offsets[i])) { in qed_count_contiguous_clusters() 55 if (table->offsets[i] != last + s->header.cluster_size) { in qed_count_contiguous_clusters() 58 last = table->offsets[i]; in qed_count_contiguous_clusters() 61 return i - index; in qed_count_contiguous_clusters() [all …]
|
/openbmc/linux/drivers/gpu/drm/exynos/ |
H A D | exynos_drm_gem.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 #include <linux/dma-buf.h> 27 struct drm_device *dev = exynos_gem->base.dev; in exynos_drm_alloc_buf() 30 if (exynos_gem->dma_addr) { in exynos_drm_alloc_buf() 36 * if EXYNOS_BO_CONTIG, fully physically contiguous memory in exynos_drm_alloc_buf() 37 * region will be allocated else physically contiguous in exynos_drm_alloc_buf() 40 if (!(exynos_gem->flags & EXYNOS_BO_NONCONTIG)) in exynos_drm_alloc_buf() 47 if (exynos_gem->flags & EXYNOS_BO_WC || in exynos_drm_alloc_buf() 48 !(exynos_gem->flags & EXYNOS_BO_CACHABLE)) in exynos_drm_alloc_buf() 55 exynos_gem->dma_attrs = attr; in exynos_drm_alloc_buf() [all …]
|
H A D | exynos_drm_fb.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 8 * Seung-Woo Kim <sw0312.kim@samsung.com> 37 flags = exynos_gem->flags; in check_fb_gem_memory_type() 40 * Physically non-contiguous memory type for framebuffer is not in check_fb_gem_memory_type() 44 DRM_DEV_ERROR(drm_dev->dev, in check_fb_gem_memory_type() 45 "Non-contiguous GEM memory is not supported.\n"); in check_fb_gem_memory_type() 46 return -EINVAL; in check_fb_gem_memory_type() 69 return ERR_PTR(-ENOMEM); in exynos_drm_framebuffer_init() 76 fb->obj[i] = &exynos_gem[i]->base; in exynos_drm_framebuffer_init() 83 DRM_DEV_ERROR(dev->dev, in exynos_drm_framebuffer_init() [all …]
|
/openbmc/linux/Documentation/core-api/ |
H A D | dma-api.rst | 8 of the API (and actual examples), see Documentation/core-api/dma-api-howto.rst. 11 Part II describes extensions for supporting non-consistent memory 13 non-consistent platforms (this is usually only legacy platforms) you 16 Part I - dma_API 17 ---------------- 19 To get the dma_API, you must #include <linux/dma-mapping.h>. This 27 Part Ia - Using large DMA-coherent buffers 28 ------------------------------------------ 76 Part Ib - Using small DMA-coherent buffers 77 ------------------------------------------ [all …]
|
/openbmc/linux/Documentation/admin-guide/mm/ |
H A D | nommu-mmap.rst | 2 No-MMU memory mapping support 5 The kernel has limited support for memory mapping under no-MMU conditions, such 16 The behaviour is similar between the MMU and no-MMU cases, but not identical; 21 In the MMU case: VM regions backed by arbitrary pages; copy-on-write 24 In the no-MMU case: VM regions backed by arbitrary contiguous runs of 31 the no-MMU case doesn't support these, behaviour is identical to 39 In the no-MMU case: 41 - If one exists, the kernel will re-use an existing mapping to the 45 - If possible, the file mapping will be directly on the backing device 50 - If the backing device can't or won't permit direct sharing, [all …]
|
H A D | pagemap.rst | 12 physical frame each virtual page is mapped to. It contains one 64-bit 16 * Bits 0-54 page frame number (PFN) if present 17 * Bits 0-4 swap type if swapped 18 * Bits 5-54 swap offset if swapped 19 * Bit 55 pte is soft-dirty (see 20 Documentation/admin-guide/mm/soft-dirty.rst) 22 * Bit 57 pte is uffd-wp write-protected (since 5.13) (see 23 Documentation/admin-guide/mm/userfaultfd.rst) 24 * Bits 58-60 zero 25 * Bit 61 page is file-page or shared-anon (since 3.5) [all …]
|
H A D | hugetlbpage.rst | 13 256M and ppc64 supports 4K and 16M. A TLB is a cache of virtual-to-physical 93 Once a number of huge pages have been pre-allocated to the kernel huge page 169 indicates the current number of pre-allocated huge pages of the default size. 180 task that modifies ``nr_hugepages``. The default for the allowed nodes--when the 181 task has default memory policy--is all on-line nodes with memory. Allowed 182 nodes with insufficient available, contiguous memory for a huge page will be 189 physically contiguous memory that is present in system at the time of the 192 allocating extra pages on other nodes with sufficient available contiguous 197 the boot process when the possibility of getting physical contiguous pages 206 requested by applications. Writing any non-zero value into this file [all …]
|
/openbmc/linux/arch/sh/mm/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 9 Some SH processors (such as SH-2/SH-2A) lack an MMU. In order to 12 On other systems (such as the SH-3 and 4) where an MMU exists, 22 int "Order of maximal physically contiguous allocations" 29 contiguous allocations. The limit is called MAX_ORDER and it 31 allocated as a single contiguous block. This option allows 33 large blocks of physically contiguous memory is required. 77 bool "Support 32-bit physical addressing through PMB" 83 32-bits through the SH-4A PMB. If this is not set, legacy 84 29-bit physical addressing will be used. [all …]
|
/openbmc/linux/Documentation/driver-api/media/ |
H A D | v4l2-videobuf.rst | 1 .. SPDX-License-Identifier: GPL-2.0 18 ------------ 29 a consistent implementation of the V4L2 user-space API. 32 ------------ 37 - Buffers which are scattered in both the physical and (kernel) virtual 38 address spaces. (Almost) all user-space buffers are like this, but it 39 makes great sense to allocate kernel-space buffers this way as well when 44 - Buffers which are physically scattered, but which are virtually 45 contiguous; buffers allocated with vmalloc(), in other words. These 47 useful in situations where DMA is not available but virtually-contiguous [all …]
|
/openbmc/linux/tools/perf/pmu-events/arch/arm64/ |
H A D | common-and-microarch.json | 129 "PublicDescription": "Attributable Level 1 data cache write-back", 132 "BriefDescription": "Attributable Level 1 data cache write-back" 147 "PublicDescription": "Attributable Level 2 data cache write-back", 150 "BriefDescription": "Attributable Level 2 data cache write-back" 273 "PublicDescription": "Access to another socket in a multi-socket system", 276 "BriefDescription": "Access to another socket in a multi-socket system" 303 … "PublicDescription": "Attributable memory read access to another socket in a multi-socket system", 306 … "BriefDescription": "Attributable memory read access to another socket in a multi-socket system" 309 …"PublicDescription": "Level 1 data cache long-latency read miss. The counter counts each memory r… 312 "BriefDescription": "Level 1 data cache long-latency read miss" [all …]
|
/openbmc/linux/drivers/vfio/pci/ |
H A D | vfio_pci_igd.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 * Register a device specific region through which to provide read-only 34 * igd_opregion_shift_copy() - Copy OpRegion to user buffer and shift position. 44 * Return: 0 on success, -EFAULT otherwise. 55 return -EFAULT; in igd_opregion_shift_copy() 59 *remaining -= bytes; in igd_opregion_shift_copy() 68 unsigned int i = VFIO_PCI_OFFSET_TO_INDEX(*ppos) - VFIO_PCI_NUM_REGIONS; in vfio_pci_igd_rw() 69 struct igd_opregion_vbt *opregionvbt = vdev->region[i].data; in vfio_pci_igd_rw() 73 if (pos >= vdev->region[i].size || iswrite) in vfio_pci_igd_rw() 74 return -EINVAL; in vfio_pci_igd_rw() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/arm/ |
H A D | arm,coresight-catu.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/arm/arm,coresight-catu.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Mathieu Poirier <mathieu.poirier@linaro.org> 11 - Mike Leach <mike.leach@linaro.org> 12 - Leo Yan <leo.yan@linaro.org> 13 - Suzuki K Poulose <suzuki.poulose@arm.com> 26 translates contiguous Virtual Addresses (VAs) from an AXI master into 27 non-contiguous Physical Addresses (PAs) that are intended for system memory. [all …]
|
/openbmc/linux/mm/ |
H A D | util.c | 1 // SPDX-License-Identifier: GPL-2.0-only 20 #include <linux/elf-randomize.h> 33 * kfree_const - conditionally free memory 46 * kstrdup - allocate space for and copy an existing string 70 * kstrdup_const - conditionally duplicate an existing const string 90 * kstrndup - allocate space for and copy an existing string 118 * kmemdup - duplicate region of memory 125 * result is physically contiguous. Use kfree() to free. 139 * kvmemdup - duplicate region of memory 146 * result may be not physically contiguous. Use kvfree() to free. [all …]
|
/openbmc/linux/drivers/s390/cio/ |
H A D | itcw.c | 1 // SPDX-License-Identifier: GPL-2.0 20 * struct itcw - incremental tcw helper data type 23 * tcw and associated tccb, tsb, data tidaw-list plus an optional interrogate 25 * contiguous buffer provided by the user. 28 * - reset unused fields to zero 29 * - fill in required pointers 30 * - ensure required alignment for data structures 31 * - prevent data structures to cross 4k-byte boundary where required 32 * - calculate tccb-related length fields 33 * - optionally provide ready-made interrogate tcw and associated structures [all …]
|
/openbmc/qemu/target/xtensa/core-dsp3400/ |
H A D | core-matmap.h | 2 * xtensa/config/core-matmap.h -- Memory access and translation mapping 10 * information contained in the core-isa.h header file. 19 * XCHAL_ICACHE_SIZE (presence of I-cache) 20 * XCHAL_DCACHE_SIZE (presence of D-cache) 25 /* Copyright (c) 1999-2010 Tensilica Inc. 49 /*---------------------------------------------------------------------- 51 ----------------------------------------------------------------------*/ 54 /* Cache Attribute encodings -- lists of access modes for each cache attribute: */ 112 #define XCHAL_CA_WRITETHRU 1 /* cache enabled (write-through) mode */ 113 #define XCHAL_CA_WRITEBACK 4 /* cache enabled (write-back) mode */ [all …]
|
/openbmc/u-boot/include/configs/ |
H A D | edb93xx.h | 2 * U-Boot - Configuration file for Cirrus Logic EDB93xx boards 34 #define CONFIG_SYS_LDSCRIPT "board/cirrus/edb93xx/u-boot.lds" 71 /* High-level configuration options */ 103 * EDB9301/2 has 4 banks of SDRAM consisting of 1x Samsung K4S561632E-TC75 104 * 256 Mbit SDRAM on a 16-bit data bus, for a total of 32MB of SDRAM. We set 105 * the SROMLL bit on the processor, resulting in this non-contiguous memory map. 108 * 2x Samsung K4S561632E-TC75 256 Mbit on a 32-bit data bus, for a total of 117 * EDB9302a has 4 banks of SDRAM consisting of 1x Samsung K4S561632E-TC75 118 * 256 Mbit SDRAM on a 16-bit data bus, for a total of 32MB of SDRAM. We set 119 * the SROMLL bit on the processor, resulting in this non-contiguous memory map. [all …]
|
/openbmc/u-boot/test/fs/ |
H A D | fat-noncontig-test.sh | 2 # SPDX-License-Identifier: GPL-2.0+ 6 # This script tests U-Boot's FAT filesystem code's ability to read non- 7 # contiguous files. 9 # When porting the ff.c FAT parsing code into U-Boot, it was found that ff.c 10 # always reads files cluster-by-cluster, which results in poor performance. 12 # clusters. Since this patch needed to correctly handle non-contiguous files, 15 # To execute the test, simply run it from the U-Boot source root directory: 17 # cd u-boot 18 # ./test/fs/fat-noncontig-test.sh 21 # generated file in the image, build U-Boot sandbox, invoke U-Boot sandbox to [all …]
|
/openbmc/linux/Documentation/dev-tools/ |
H A D | kmsan.rst | 1 .. SPDX-License-Identifier: GPL-2.0 19 ------------------- 27 -------------- 32 BUG: KMSAN: uninit-value in test_uninit_kmsan_check_memory+0x1be/0x380 [kmsan_test] 36 kunit_generic_run_threadfn_adapter+0x6d/0xc0 lib/kunit/try-catch.c:28 45 kunit_generic_run_threadfn_adapter+0x6d/0xc0 lib/kunit/try-catch.c:28 53 Bytes 4-7 of 8 are uninitialized 56 CPU: 0 PID: 6731 Comm: kunit_try_catch Tainted: G B E 5.16.0-rc3+ #104 57 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-2 04/01/2014 71 - in a condition, e.g. ``if (v) { ... }``; [all …]
|