/Linux-v6.6/drivers/fpga/ |
D | dfl-afu-dma-region.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Driver for FPGA Accelerated Function Unit (AFU) DMA Region Management 5 * Copyright (C) 2017-2018 Intel Corporation, Inc. 12 #include <linux/dma-mapping.h> 17 #include "dfl-afu.h" 23 afu->dma_regions = RB_ROOT; in afu_dma_region_init() 27 * afu_dma_pin_pages - pin pages of given dma memory region 29 * @region: dma memory region to be pinned 35 struct dfl_afu_dma_region *region) in afu_dma_pin_pages() argument 37 int npages = region->length >> PAGE_SHIFT; in afu_dma_pin_pages() [all …]
|
/Linux-v6.6/tools/testing/memblock/tests/ |
D | basic_api.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 17 ASSERT_NE(memblock.memory.regions, NULL); in memblock_initialization_check() 18 ASSERT_EQ(memblock.memory.cnt, 1); in memblock_initialization_check() 19 ASSERT_EQ(memblock.memory.max, EXPECTED_MEMBLOCK_REGIONS); in memblock_initialization_check() 20 ASSERT_EQ(strcmp(memblock.memory.name, "memory"), 0); in memblock_initialization_check() 24 ASSERT_EQ(memblock.memory.max, EXPECTED_MEMBLOCK_REGIONS); in memblock_initialization_check() 36 * A simple test that adds a memory block of a specified base address 37 * and size to the collection of available memory regions (memblock.memory). 38 * Expect to create a new entry. The region counter and total memory get 45 rgn = &memblock.memory.regions[0]; in memblock_add_simple_check() [all …]
|
D | alloc_api.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 21 * A simple test that tries to allocate a small memory region. 22 * Expect to allocate an aligned region near the end of the available memory. 34 expected_start = memblock_end_of_DRAM() - SMP_CACHE_BYTES; in alloc_top_down_simple_check() 41 ASSERT_EQ(rgn->size, size); in alloc_top_down_simple_check() 42 ASSERT_EQ(rgn->base, expected_start); in alloc_top_down_simple_check() 53 * A test that tries to allocate memory next to a reserved region that starts at 58 * | +--------+ +--------| 60 * +------------+--------+---------+--------+ 65 * The allocation direction is top-down and region arrays are sorted from lower [all …]
|
D | alloc_nid_api.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 51 * A simple test that tries to allocate a memory region within min_addr and 55 * | + +-----------+ | 57 * +----+-------+-----------+------+ 62 * Expect to allocate a region that ends at max_addr. 82 rgn_end = rgn->base + rgn->size; in alloc_nid_top_down_simple_check() 87 ASSERT_EQ(rgn->size, size); in alloc_nid_top_down_simple_check() 88 ASSERT_EQ(rgn->base, max_addr - size); in alloc_nid_top_down_simple_check() 100 * A simple test that tries to allocate a memory region within min_addr and 104 * | + +---------+ + | [all …]
|
D | alloc_exact_nid_api.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 23 * A test that tries to allocate a memory region in a specific NUMA node that 24 * has enough memory to allocate a region of the requested size. 25 * Expect to allocate an aligned region at the end of the requested node. 31 struct memblock_region *req_node = &memblock.memory.regions[nid_req]; in alloc_exact_nid_top_down_numa_simple_check() 40 ASSERT_LE(SZ_4, req_node->size); in alloc_exact_nid_top_down_numa_simple_check() 41 size = req_node->size / SZ_4; in alloc_exact_nid_top_down_numa_simple_check() 52 ASSERT_EQ(new_rgn->size, size); in alloc_exact_nid_top_down_numa_simple_check() 53 ASSERT_EQ(new_rgn->base, region_end(req_node) - size); in alloc_exact_nid_top_down_numa_simple_check() 54 ASSERT_LE(req_node->base, new_rgn->base); in alloc_exact_nid_top_down_numa_simple_check() [all …]
|
/Linux-v6.6/arch/um/kernel/ |
D | physmem.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) 12 #include <as-layout.h> 18 static int physmem_fd = -1; 50 if (err == -ENOMEM) in map_memory() 53 "memory size>/4096\n"); in map_memory() 60 * setup_physmem() - Setup physical memory for UML 61 * @start: Start address of the physical kernel memory, 63 * @reserve_end: end address of the physical kernel memory. 64 * @len: Length of total physical memory that should be mapped/made [all …]
|
/Linux-v6.6/mm/ |
D | memblock.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Procedures for maintaining information about logical memory blocks. 39 * Memblock is a method of managing memory regions during the early 40 * boot period when the usual kernel memory allocators are not up and 43 * Memblock views the system memory as collections of contiguous 46 * * ``memory`` - describes the physical memory available to the 47 * kernel; this may differ from the actual physical memory installed 48 * in the system, for instance when the memory is restricted with 50 * * ``reserved`` - describes the regions that were allocated 51 * * ``physmem`` - describes the actual physical memory available during [all …]
|
/Linux-v6.6/Documentation/devicetree/bindings/reserved-memory/ |
D | reserved-memory.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/reserved-memory/reserved-memory.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: /reserved-memory Child Node Common 10 - devicetree-spec@vger.kernel.org 13 Reserved memory is specified as a node under the /reserved-memory node. The 14 operating system shall exclude reserved memory from normal usage one can 16 memory regions. Such memory regions are usually designed for the special 19 Each child of the reserved-memory node specifies one or more regions [all …]
|
D | memory-region.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/reserved-memory/memory-region.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Reserved Memory Region 10 - devicetree-spec@vger.kernel.org 13 Regions in the /reserved-memory node may be referenced by other device 14 nodes by adding a memory-region property to the device node. 19 memory-region: 20 $ref: /schemas/types.yaml#/definitions/phandle-array [all …]
|
D | shared-dma-pool.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: /reserved-memory DMA pool 10 - devicetree-spec@vger.kernel.org 13 - $ref: reserved-memory.yaml 18 - const: shared-dma-pool 20 This indicates a region of memory meant to be used as a shared 25 - const: restricted-dma-pool [all …]
|
/Linux-v6.6/include/uapi/linux/ |
D | nitro_enclaves.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 3 * Copyright 2020-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 16 * NE_CREATE_VM - The command is used to create a slot that is associated with 20 * setting any resources, such as memory and vCPUs, for an 21 * enclave. Memory and vCPUs are set for the slot mapped to an enclave. 25 * Its format is the detailed in the cpu-lists section: 26 * https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html 34 * * Enclave file descriptor - Enclave file descriptor used with 35 * ioctl calls to set vCPUs and memory 37 * * -1 - There was a failure in the ioctl logic. [all …]
|
/Linux-v6.6/drivers/net/ipa/ |
D | ipa_mem.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2023 Linaro Ltd. 10 #include <linux/dma-mapping.h> 23 /* "Canary" value placed between memory regions to detect overflow */ 33 for (i = 0; i < ipa->mem_count; i++) { in ipa_mem_find() 34 const struct ipa_mem *mem = &ipa->mem[i]; in ipa_mem_find() 36 if (mem->id == mem_id) in ipa_mem_find() 43 /* Add an immediate command to a transaction that zeroes a memory region */ 47 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_mem_zero_region_add() [all …]
|
D | ipa_mem.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2023 Linaro Ltd. 13 * DOC: IPA Local Memory 15 * The IPA has a block of shared memory, divided into regions used for 19 * the "ipa-shared" memory range) and size found in the IPA_SHARED_MEM_SIZE 22 * Each region is optionally preceded by one or more 32-bit "canary" values. 23 * These are meant to detect out-of-range writes (if they become corrupted). 24 * A given region (such as a filter or routing table) has the same number 28 * The set of memory regions is defined in configuration data. They are [all …]
|
/Linux-v6.6/drivers/acpi/ |
D | nvs.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * nvs.c - Routines for saving and restoring ACPI NVS memory region 5 * Copyright (C) 2008-2011 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc. 40 struct nvs_region *region; in acpi_nvs_register() local 42 region = kmalloc(sizeof(*region), GFP_KERNEL); in acpi_nvs_register() 43 if (!region) in acpi_nvs_register() 44 return -ENOMEM; in acpi_nvs_register() 45 region->phys_start = start; in acpi_nvs_register() 46 region->size = size; in acpi_nvs_register() 47 list_add_tail(®ion->node, &nvs_region_list); in acpi_nvs_register() [all …]
|
/Linux-v6.6/tools/testing/selftests/kvm/lib/ |
D | kvm_util.c | 1 // SPDX-License-Identifier: GPL-2.0-only 39 * flags - The flags to pass when opening KVM_DEV_PATH. 102 * cap - Capability 134 vm->dirty_ring_size = ring_size; in vm_enable_dirty_ring() 139 vm->kvm_fd = _open_kvm_dev_path_or_exit(O_RDWR); in vm_open() 143 vm->fd = __kvm_ioctl(vm->kvm_fd, KVM_CREATE_VM, (void *)vm->type); in vm_open() 144 TEST_ASSERT(vm->fd >= 0, KVM_IOCTL_ERROR(KVM_CREATE_VM, vm->fd)); in vm_open() 150 [VM_MODE_P52V48_4K] = "PA-bits:52, VA-bits:48, 4K pages", in vm_guest_mode_string() 151 [VM_MODE_P52V48_64K] = "PA-bits:52, VA-bits:48, 64K pages", in vm_guest_mode_string() 152 [VM_MODE_P48V48_4K] = "PA-bits:48, VA-bits:48, 4K pages", in vm_guest_mode_string() [all …]
|
/Linux-v6.6/include/linux/ |
D | memblock.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 6 * Logical memory blocks. 28 * enum memblock_flags - definition of memory region attributes 30 * @MEMBLOCK_HOTPLUG: memory region indicated in the firmware-provided memory 31 * map during early boot as hot(un)pluggable system RAM (e.g., memory range 33 * commandline, try keeping this memory region hotunpluggable. Does not apply 35 * @MEMBLOCK_MIRROR: mirrored region 37 * reserved in the memory map; refer to memblock_mark_nomap() description 39 * @MEMBLOCK_DRIVER_MANAGED: memory region that is always detected and added 40 * via a driver, and never indicated in the firmware-provided memory map as [all …]
|
/Linux-v6.6/arch/x86/boot/compressed/ |
D | kaslr.c | 1 // SPDX-License-Identifier: GPL-2.0 8 * handles walking the physical memory maps (and tracking memory regions 9 * to avoid) in order to select a physical memory location that can 41 /* Simplified build-specific string for starting entropy. */ 53 hash = (hash << ((sizeof(hash) * 8) - 7)) | (hash >> 7); in rotate_xor() 82 * Store memory limit: MAXMEM on 64-bit and KERNEL_IMAGE_SIZE on 32-bit. 87 /* Number of immovable memory regions */ 96 MEM_AVOID_MEMMAP_END = MEM_AVOID_MEMMAP_BEGIN + MAX_MEMMAP_REGIONS - 1, 105 if (one->start + one->size <= two->start) in mem_overlaps() 108 if (one->start >= two->start + two->size) in mem_overlaps() [all …]
|
/Linux-v6.6/Documentation/PCI/endpoint/ |
D | pci-ntb-function.rst | 1 .. SPDX-License-Identifier: GPL-2.0 9 PCI Non-Transparent Bridges (NTB) allow two host systems to communicate 12 machine, expose memory ranges as BARs, and perform DMA. They also support 13 scratchpads, which are areas of memory within the NTB that are accessible 26 .. code-block:: text 28 +-------------+ +-------------+ 32 +------^------+ +------^------+ 35 +---------|-------------------------------------------------|---------+ 36 | +------v------+ +------v------+ | 40 | | <-----------------------------------> | | [all …]
|
/Linux-v6.6/drivers/gpu/drm/i915/ |
D | intel_region_ttm.c | 1 // SPDX-License-Identifier: MIT 19 * The code in this file deals with setting up memory managers for TTM 22 * i915 GEM regions to TTM memory types and resource managers. 26 * intel_region_ttm_device_init - Initialize a TTM device 33 struct drm_device *drm = &dev_priv->drm; in intel_region_ttm_device_init() 35 return ttm_device_init(&dev_priv->bdev, i915_ttm_driver(), in intel_region_ttm_device_init() 36 drm->dev, drm->anon_inode->i_mapping, in intel_region_ttm_device_init() 37 drm->vma_offset_manager, false, false); in intel_region_ttm_device_init() 41 * intel_region_ttm_device_fini - Finalize a TTM device 46 ttm_device_fini(&dev_priv->bdev); in intel_region_ttm_device_fini() [all …]
|
/Linux-v6.6/Documentation/devicetree/bindings/pmem/ |
D | pmem-region.txt | 1 Device-tree bindings for persistent memory regions 2 ----------------------------------------------------- 4 Persistent memory refers to a class of memory devices that are: 6 a) Usable as main system memory (i.e. cacheable), and 9 Given b) it is best to think of persistent memory as a kind of memory mapped 11 persistent regions separately to the normal memory pool. To aid with that this 13 memory regions exist inside the physical address space. 15 Bindings for the region nodes: 16 ----------------------------- 19 - compatible = "pmem-region" [all …]
|
/Linux-v6.6/Documentation/devicetree/bindings/arm/mediatek/ |
D | mediatek,mt7622-wed.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/arm/mediatek/mediatek,mt7622-wed.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Lorenzo Bianconi <lorenzo@kernel.org> 11 - Felix Fietkau <nbd@nbd.name> 21 - enum: 22 - mediatek,mt7622-wed 23 - mediatek,mt7981-wed 24 - mediatek,mt7986-wed [all …]
|
/Linux-v6.6/Documentation/ABI/testing/ |
D | sysfs-bus-cxl | 4 Contact: linux-cxl@vger.kernel.org 14 Contact: linux-cxl@vger.kernel.org 17 Memory Device Output Payload in the CXL-2.0 24 Contact: linux-cxl@vger.kernel.org 27 identically named field in the Identify Memory Device Output 28 Payload in the CXL-2.0 specification. 34 Contact: linux-cxl@vger.kernel.org 37 identically named field in the Identify Memory Device Output 38 Payload in the CXL-2.0 specification. 44 Contact: linux-cxl@vger.kernel.org [all …]
|
/Linux-v6.6/drivers/virt/acrn/ |
D | mm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ACRN: Memory mapping management 18 static int modify_region(struct acrn_vm *vm, struct vm_memory_region_op *region) in modify_region() argument 25 return -ENOMEM; in modify_region() 27 regions->vmid = vm->vmid; in modify_region() 28 regions->regions_num = 1; in modify_region() 29 regions->regions_gpa = virt_to_phys(region); in modify_region() 34 "Failed to set memory region for VM[%u]!\n", vm->vmid); in modify_region() 41 * acrn_mm_region_add() - Set up the EPT mapping of a memory region. 45 * @size: Size of the region. [all …]
|
/Linux-v6.6/Documentation/devicetree/bindings/remoteproc/ |
D | ti,k3-dsp-rproc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Suman Anna <s-anna@ti.com> 13 The TI K3 family of SoCs usually have one or more TI DSP Core sub-systems 14 that are used to offload some of the processor-intensive tasks or algorithms, 17 These processor sub-systems usually contain additional sub-modules like 18 L1 and/or L2 caches/SRAMs, an Interrupt Controller, an external memory 23 Each DSP Core sub-system is represented as a single DT node. Each node has a [all …]
|
/Linux-v6.6/include/asm-generic/ |
D | sections.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 12 * _text, _data: architecture specific, don't use them in arch-independent code 50 /* Start and end of .ctors section - used for constructor calls. */ 53 /* Start and end of .opd section - used for function descriptors. */ 81 * memory_contains - checks if an object is contained within a memory region 82 * @begin: virtual address of the beginning of the memory region 83 * @end: virtual address of the end of the memory region 84 * @virt: virtual address of the memory object 85 * @size: size of the memory object 88 * contained within the memory region defined by @begin and @end, false [all …]
|