| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-6.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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/reserved-memory/ |
| D | reserved-memory.txt | 1 *** Reserved memory regions *** 3 Reserved memory is specified as a node under the /reserved-memory node. 4 The operating system shall exclude reserved memory from normal usage 6 normal use) memory regions. Such memory regions are usually designed for 9 Parameters for each memory region can be encoded into the device tree 12 /reserved-memory node 13 --------------------- 14 #address-cells, #size-cells (required) - standard definition 15 - Should use the same values as the root node 16 ranges (required) - standard definition [all …]
|
| /kernel/linux/linux-6.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 …]
|
| /kernel/linux/linux-6.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 …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-5.10/mm/ |
| D | memblock.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Procedures for maintaining information about logical memory blocks. 35 * Memblock is a method of managing memory regions during the early 36 * boot period when the usual kernel memory allocators are not up and 39 * Memblock views the system memory as collections of contiguous 42 * * ``memory`` - describes the physical memory available to the 43 * kernel; this may differ from the actual physical memory installed 44 * in the system, for instance when the memory is restricted with 46 * * ``reserved`` - describes the regions that were allocated 47 * * ``physmem`` - describes the actual physical memory available during [all …]
|
| /kernel/linux/linux-6.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 …]
|
| /kernel/linux/linux-6.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 …]
|
| /kernel/linux/linux-6.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 …]
|
| /kernel/linux/linux-5.10/include/uapi/linux/ |
| D | nitro_enclaves.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 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. 39 * * EFAULT - copy_to_user() failure. [all …]
|
| /kernel/linux/linux-5.10/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. 38 struct nvs_region *region; in acpi_nvs_register() local 40 region = kmalloc(sizeof(*region), GFP_KERNEL); in acpi_nvs_register() 41 if (!region) in acpi_nvs_register() 42 return -ENOMEM; in acpi_nvs_register() 43 region->phys_start = start; in acpi_nvs_register() 44 region->size = size; in acpi_nvs_register() 45 list_add_tail(®ion->node, &nvs_region_list); in acpi_nvs_register() [all …]
|
| /kernel/linux/linux-6.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 …]
|
| /kernel/linux/linux-6.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 …]
|
| /kernel/linux/linux-6.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 …]
|
| /kernel/linux/linux-5.10/tools/testing/selftests/kvm/lib/ |
| D | kvm_util.c | 1 // SPDX-License-Identifier: GPL-2.0-only 26 size_t mask = size - 1; in align() 27 TEST_ASSERT(size != 0 && !(size & (size - 1)), in align() 36 * cap - Capability 69 * vm - Virtual Machine 70 * cap - Capability 82 ret = ioctl(vm->fd, KVM_ENABLE_CAP, cap); in vm_enable_cap() 92 * vm - Virtual Machine 93 * vcpu_id - VCPU 94 * cap - Capability [all …]
|
| /kernel/linux/linux-6.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 …]
|
| /kernel/linux/linux-6.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 …]
|
| /kernel/linux/linux-5.10/drivers/net/ipa/ |
| 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-2020 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 …]
|
| /kernel/linux/linux-5.10/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 45 /* Simplified build-specific string for starting entropy. */ 57 hash = (hash << ((sizeof(hash) * 8) - 7)) | (hash >> 7); in rotate_xor() 86 * Store memory limit: MAXMEM on 64-bit and KERNEL_IMAGE_SIZE on 32-bit. 91 /* Number of immovable memory regions */ 100 MEM_AVOID_MEMMAP_END = MEM_AVOID_MEMMAP_BEGIN + MAX_MEMMAP_REGIONS - 1, 109 if (one->start + one->size <= two->start) in mem_overlaps() 112 if (one->start >= two->start + two->size) in mem_overlaps() [all …]
|
| /kernel/linux/linux-5.10/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. */ 87 * memory can be allocated from it, and such allocations would then have 98 * memory_contains - checks if an object is contained within a memory region 99 * @begin: virtual address of the beginning of the memory region 100 * @end: virtual address of the end of the memory region 101 * @virt: virtual address of the memory object 102 * @size: size of the memory object [all …]
|
| /kernel/linux/linux-6.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 …]
|